diff --git a/.github/problem-matchers/sphinx.json b/.github/problem-matchers/sphinx.json new file mode 100644 index 000000000..a0299d893 --- /dev/null +++ b/.github/problem-matchers/sphinx.json @@ -0,0 +1,40 @@ +{ + "problemMatcher": [ + { + "owner": "sphinx-problem-matcher", + "pattern": [ + { + "regexp": "^(.*):(\\d+):\\s+(\\w*):\\s+(.*)$", + "file": 1, + "line": 2, + "severity": 3, + "message": 4 + } + ] + }, + { + "owner": "sphinx-problem-matcher-loose", + "pattern": [ + { + "_comment": "A bit of a looser pattern, doesn't look for line numbers, just looks for file names relying on them to start with / and end with .rst", + "regexp": "(\/.*\\.rst):\\s+(\\w*):\\s+(.*)$", + "file": 1, + "severity": 2, + "message": 3 + } + ] + }, + { + "owner": "sphinx-problem-matcher-loose-no-severity", + "pattern": [ + { + "_comment": "Looks for file names ending with .rst and line numbers but without severity", + "regexp": "^(.*\\.rst):(\\d+):(.*)$", + "file": 1, + "line": 2, + "message": 3 + } + ] + } + ] +} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..477f87e56 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,93 @@ +# Build translated docs and notify in case of errors + +name: Build + +on: + workflow_dispatch: + workflow_call: + inputs: + was-called: + required: true + type: string + default: 'no' + secrets: + TELEGRAM_TO: + required: true + TELEGRAM_TOKEN: + required: true + push: + paths: + - '.github/workflows/build.yml' + - 'scripts/build.sh' + - 'scripts/prepmsg.sh' + - '*.po' + - '**/*.po' + +env: + CPYTHON_BRANCH: '3.10' + LANGUAGE: 'pt_BR' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Check out ${{ github.repository }} + uses: actions/checkout@v2 + with: + persist-credentials: false + - run: echo ${{ inputs.was-called }} + - if: ${{ inputs.was-called }} == 'yes' + run: | + git pull --rebase + - name: Check out CPython + uses: actions/checkout@v2 + with: + repository: python/cpython + persist-credentials: false + ref: ${{ env.CPYTHON_BRANCH }} + path: cpython + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + sudo apt update -y && sudo apt install gettext -y + pip3 install --upgrade pip + pip3 install -r requirements.txt -r cpython/Doc/requirements.txt + - name: Build docs + run: | + mkdir logs + echo "::add-matcher::.github/problem-matchers/sphinx.json" + sh scripts/build.sh 2> >(tee -a logs/error.log >&2) + env: + LANGUAGE: ${{ env.LANGUAGE }} + - name: Prepare notification on error + if: failure() + run: | + sh scripts/prepmsg.sh logs/error.log logs/notify.log + env: + GITHUB_JOB: ${{ github.job }} + GITHUB_RUN_ID: ${{ github.run_id }} + GITHUB_REPOSITORY: ${{ github.repository }} + - name: Notify via Telegram on build errors if any + if: failure() + uses: appleboy/telegram-action@master + with: + to: ${{ secrets.TELEGRAM_TO }} + token: ${{ secrets.TELEGRAM_TOKEN }} + format: markdown + disable_web_page_preview: true + message_file: logs/notify.log + - name: Upload artifact - docs + if: always() + uses: actions/upload-artifact@v2 + with: + name: docs + path: cpython/Doc/build/html + - name: Upload artifact - logs + if: always() + uses: actions/upload-artifact@v2 + with: + name: build-logs + path: logs/ diff --git a/.github/workflows/compendium.yml b/.github/workflows/compendium.yml new file mode 100644 index 000000000..cb66d1484 --- /dev/null +++ b/.github/workflows/compendium.yml @@ -0,0 +1,39 @@ +name: Generate compendium + +on: + workflow_dispatch: + workflow_call: + push: + paths: + - '.github/workflows/compendium.yml' + - '*.po' + - '**/*.po' + +jobs: + compendium: + runs-on: ubuntu-latest + steps: + - name: Check out ${{ github.repository }} + uses: actions/checkout@v2 + with: + persist-credentials: false + - if: github.event_name == 'workflow_call' + run: | + git pull --rebase + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + sudo apt update -y && sudo apt install gettext -y + pip3 install --upgrade pip + pip3 install translate-toolkit + - name: Generate compendium from PO files + run: | + pocompendium --correct compendium.po *.po **/*.po + - name: Upload artifact + uses: actions/upload-artifact@v2 + with: + name: compendium + path: compendium.po diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml new file mode 100644 index 000000000..09dc3976c --- /dev/null +++ b/.github/workflows/update.yml @@ -0,0 +1,133 @@ +name: Update translations + +on: + workflow_dispatch: + push: + paths: + - '.github/workflows/update.yml' + - 'scripts/update.sh' + branches: + - '*' + - '*/*' + - '**' + - '!3.?' + - '!2.*' + schedule: + - cron: '0 23 * * *' + +env: + CPYTHON_BRANCH: '3.10' + LANGUAGE: 'pt_BR' + +jobs: + update: + # Job to pull translation from Transifex platform, and commit & push changes + runs-on: ubuntu-latest + steps: + - name: Check out ${{ github.repository }} + uses: actions/checkout@v2 + - name: Check out CPython + uses: actions/checkout@v2 + with: + repository: python/cpython + persist-credentials: false + ref: ${{ env.CPYTHON_BRANCH }} + path: cpython + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + sudo apt update -y && sudo apt install gettext -y + pip3 install --upgrade pip + pip3 install -r requirements.txt -r cpython/Doc/requirements.txt + - name: Update translations + run: | + sh scripts/update.sh + env: + TX_TOKEN: ${{ secrets.TX_TOKEN }} + LANGUAGE: ${{ env.LANGUAGE }} + - name: Wrap catalog message files + run: | + powrap --modified + - name: Commit and push changes + if: github.repository == 'rffontenelle/python-docs-pt-br' + run: | + git config user.name github-actions + git config user.email github-actions@github.com + git status + git add -A + git diff-index --quiet HEAD || ( git commit -m "Update translations from Transifex" && git push ) + + merge: + # Merge translations previously updated into older branches to make sure + # older versions of Python Docs gets translated as well. + # 'overwrite=true' means strings previously translated will get overwritten; + # other branches will preserve translated strings, only filling in new + # translations. + name: merge into ${{ matrix.branch }} + needs: [update] + strategy: + matrix: + branch: [ 3.9, 3.8, 3.7, 3.6, 2.7 ] + include: + - branch: 3.9 + overwrite: true + runs-on: ubuntu-latest + steps: + - name: Get current branch name + shell: bash + run: + echo "CURRENT_BRANCH=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV + - name: Check out source branch (${{ env.CURRENT_BRANCH }}) + uses: actions/checkout@v2 + with: + path: ${{ env.CURRENT_BRANCH }} + persist-credentials: false + - name: Check out target branch (${{ matrix.branch }}) + uses: actions/checkout@v2 + with: + ref: ${{ matrix.branch }} + path: ${{ matrix.branch }} + - name: Install dependencies + run: | + sudo apt update -y && sudo apt install gettext -y + pip3 install pomerge powrap + - name: Merge overwriting on stable release branch + if: ${{ matrix.overwrite == true }} + run: | + pomerge --from ${{ env.CURRENT_BRANCH }}/**/*.po --to ${{ matrix.branch }}/**/*.po + - name: Merge without overwriting on EOL or security-fix release branch + if: ${{ matrix.overwrite != true }} + run: | + pomerge --no-overwrite --from ${{ env.CURRENT_BRANCH }}/**/*.po --to ${{ matrix.branch }}/**/*.po + - name: Wrap catalog message files + run: | + powrap --modified -C ${{ matrix.branch }} + - name: Commit and push changes + if: github.repository == 'rffontenelle/python-docs-pt-br' + run: | + cd ${{ matrix.branch }} + git config user.name github-actions + git config user.email github-actions@github.com + git status + git add -A + git diff-index --quiet HEAD || ( git commit -m "Merge ${{ env.CURRENT_BRANCH }} into ${{ matrix.branch }}" && git push ) + + call-build: + # Call the build workflow after updating + name: call + needs: [update] + uses: rffontenelle/python-docs-pt-br/.github/workflows/build.yml@3.10 + with: + was-called: yes + secrets: + TELEGRAM_TO: ${{ secrets.TELEGRAM_TO }} + TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }} + + call-compendium: + # Call the compendium workflow after updating + name: call + needs: [update] + uses: rffontenelle/python-docs-pt-br/.github/workflows/compendium.yml@3.10 diff --git a/.gitignore b/.gitignore index 8489204af..ca97b739f 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .tx/**/*.po venv/ .pospell/ +cpython/ diff --git a/.tx/config b/.tx/config index d63a3e671..d991552fd 100644 --- a/.tx/config +++ b/.tx/config @@ -2,2447 +2,2446 @@ host = https://www.transifex.com [python-newest.about] -trans.pt_BR = about.po source_lang = en +trans.pt_BR = about.po type = PO [python-newest.bugs] -trans.pt_BR = bugs.po source_lang = en +trans.pt_BR = bugs.po type = PO [python-newest.contents] -trans.pt_BR = contents.po source_lang = en +trans.pt_BR = contents.po type = PO [python-newest.copyright] -trans.pt_BR = copyright.po source_lang = en +trans.pt_BR = copyright.po type = PO [python-newest.glossary_] -trans.pt_BR = glossary.po source_lang = en +trans.pt_BR = glossary.po type = PO [python-newest.license] -trans.pt_BR = license.po source_lang = en +trans.pt_BR = license.po type = PO [python-newest.sphinx] -trans.pt_BR = sphinx.po source_lang = en +trans.pt_BR = sphinx.po type = PO [python-newest.c-api--abstract] -trans.pt_BR = c-api/abstract.po source_lang = en +trans.pt_BR = c-api/abstract.po type = PO [python-newest.c-api--allocation] -trans.pt_BR = c-api/allocation.po source_lang = en +trans.pt_BR = c-api/allocation.po type = PO [python-newest.c-api--apiabiversion] -trans.pt_BR = c-api/apiabiversion.po source_lang = en +trans.pt_BR = c-api/apiabiversion.po type = PO [python-newest.c-api--arg] -trans.pt_BR = c-api/arg.po source_lang = en +trans.pt_BR = c-api/arg.po type = PO [python-newest.c-api--bool] -trans.pt_BR = c-api/bool.po source_lang = en +trans.pt_BR = c-api/bool.po type = PO [python-newest.c-api--buffer] -trans.pt_BR = c-api/buffer.po source_lang = en +trans.pt_BR = c-api/buffer.po type = PO [python-newest.c-api--bytearray] -trans.pt_BR = c-api/bytearray.po source_lang = en +trans.pt_BR = c-api/bytearray.po type = PO [python-newest.c-api--bytes] -trans.pt_BR = c-api/bytes.po source_lang = en +trans.pt_BR = c-api/bytes.po type = PO [python-newest.c-api--call] -trans.pt_BR = c-api/call.po source_lang = en +trans.pt_BR = c-api/call.po type = PO [python-newest.c-api--capsule] -trans.pt_BR = c-api/capsule.po source_lang = en +trans.pt_BR = c-api/capsule.po type = PO [python-newest.c-api--cell] -trans.pt_BR = c-api/cell.po source_lang = en +trans.pt_BR = c-api/cell.po type = PO [python-newest.c-api--code] -trans.pt_BR = c-api/code.po source_lang = en +trans.pt_BR = c-api/code.po type = PO [python-newest.c-api--codec] -trans.pt_BR = c-api/codec.po source_lang = en +trans.pt_BR = c-api/codec.po type = PO [python-newest.c-api--complex] -trans.pt_BR = c-api/complex.po source_lang = en +trans.pt_BR = c-api/complex.po type = PO [python-newest.c-api--concrete] -trans.pt_BR = c-api/concrete.po source_lang = en +trans.pt_BR = c-api/concrete.po type = PO [python-newest.c-api--contextvars] -trans.pt_BR = c-api/contextvars.po source_lang = en +trans.pt_BR = c-api/contextvars.po type = PO [python-newest.c-api--conversion] -trans.pt_BR = c-api/conversion.po source_lang = en +trans.pt_BR = c-api/conversion.po type = PO [python-newest.c-api--coro] -trans.pt_BR = c-api/coro.po source_lang = en +trans.pt_BR = c-api/coro.po type = PO [python-newest.c-api--datetime] -trans.pt_BR = c-api/datetime.po source_lang = en +trans.pt_BR = c-api/datetime.po type = PO [python-newest.c-api--descriptor] -trans.pt_BR = c-api/descriptor.po source_lang = en +trans.pt_BR = c-api/descriptor.po type = PO [python-newest.c-api--dict] -trans.pt_BR = c-api/dict.po source_lang = en +trans.pt_BR = c-api/dict.po type = PO [python-newest.c-api--exceptions] -trans.pt_BR = c-api/exceptions.po source_lang = en +trans.pt_BR = c-api/exceptions.po type = PO [python-newest.c-api--file] -trans.pt_BR = c-api/file.po source_lang = en +trans.pt_BR = c-api/file.po type = PO [python-newest.c-api--float] -trans.pt_BR = c-api/float.po source_lang = en +trans.pt_BR = c-api/float.po type = PO [python-newest.c-api--function] -trans.pt_BR = c-api/function.po source_lang = en +trans.pt_BR = c-api/function.po type = PO [python-newest.c-api--gcsupport] -trans.pt_BR = c-api/gcsupport.po source_lang = en +trans.pt_BR = c-api/gcsupport.po type = PO [python-newest.c-api--gen] -trans.pt_BR = c-api/gen.po source_lang = en +trans.pt_BR = c-api/gen.po type = PO [python-newest.c-api--import] -trans.pt_BR = c-api/import.po source_lang = en +trans.pt_BR = c-api/import.po type = PO [python-newest.c-api--index] -trans.pt_BR = c-api/index.po source_lang = en +trans.pt_BR = c-api/index.po type = PO [python-newest.c-api--init] -trans.pt_BR = c-api/init.po source_lang = en +trans.pt_BR = c-api/init.po type = PO [python-newest.c-api--init_config] -trans.pt_BR = c-api/init_config.po source_lang = en +trans.pt_BR = c-api/init_config.po type = PO [python-newest.c-api--intro] -trans.pt_BR = c-api/intro.po source_lang = en +trans.pt_BR = c-api/intro.po type = PO [python-newest.c-api--iter] -trans.pt_BR = c-api/iter.po source_lang = en +trans.pt_BR = c-api/iter.po type = PO [python-newest.c-api--iterator] -trans.pt_BR = c-api/iterator.po source_lang = en +trans.pt_BR = c-api/iterator.po type = PO [python-newest.c-api--list] -trans.pt_BR = c-api/list.po source_lang = en +trans.pt_BR = c-api/list.po type = PO [python-newest.c-api--long] -trans.pt_BR = c-api/long.po source_lang = en +trans.pt_BR = c-api/long.po type = PO [python-newest.c-api--mapping] -trans.pt_BR = c-api/mapping.po source_lang = en +trans.pt_BR = c-api/mapping.po type = PO [python-newest.c-api--marshal] -trans.pt_BR = c-api/marshal.po source_lang = en +trans.pt_BR = c-api/marshal.po type = PO [python-newest.c-api--memory] -trans.pt_BR = c-api/memory.po source_lang = en +trans.pt_BR = c-api/memory.po type = PO [python-newest.c-api--memoryview] -trans.pt_BR = c-api/memoryview.po source_lang = en +trans.pt_BR = c-api/memoryview.po type = PO [python-newest.c-api--method] -trans.pt_BR = c-api/method.po source_lang = en +trans.pt_BR = c-api/method.po type = PO [python-newest.c-api--module] -trans.pt_BR = c-api/module.po source_lang = en +trans.pt_BR = c-api/module.po type = PO [python-newest.c-api--none] -trans.pt_BR = c-api/none.po source_lang = en +trans.pt_BR = c-api/none.po type = PO [python-newest.c-api--number] -trans.pt_BR = c-api/number.po source_lang = en +trans.pt_BR = c-api/number.po type = PO [python-newest.c-api--objbuffer] -trans.pt_BR = c-api/objbuffer.po source_lang = en +trans.pt_BR = c-api/objbuffer.po type = PO [python-newest.c-api--object] -trans.pt_BR = c-api/object.po source_lang = en +trans.pt_BR = c-api/object.po type = PO [python-newest.c-api--objimpl] -trans.pt_BR = c-api/objimpl.po source_lang = en +trans.pt_BR = c-api/objimpl.po type = PO [python-newest.c-api--refcounting] -trans.pt_BR = c-api/refcounting.po source_lang = en +trans.pt_BR = c-api/refcounting.po type = PO [python-newest.c-api--reflection] -trans.pt_BR = c-api/reflection.po source_lang = en +trans.pt_BR = c-api/reflection.po type = PO [python-newest.c-api--sequence] -trans.pt_BR = c-api/sequence.po source_lang = en +trans.pt_BR = c-api/sequence.po type = PO [python-newest.c-api--set] -trans.pt_BR = c-api/set.po source_lang = en +trans.pt_BR = c-api/set.po type = PO [python-newest.c-api--slice] -trans.pt_BR = c-api/slice.po source_lang = en +trans.pt_BR = c-api/slice.po type = PO [python-newest.c-api--stable] -trans.pt_BR = c-api/stable.po source_lang = en +trans.pt_BR = c-api/stable.po type = PO [python-newest.c-api--structures] -trans.pt_BR = c-api/structures.po source_lang = en +trans.pt_BR = c-api/structures.po type = PO [python-newest.c-api--sys] -trans.pt_BR = c-api/sys.po source_lang = en +trans.pt_BR = c-api/sys.po type = PO [python-newest.c-api--tuple] -trans.pt_BR = c-api/tuple.po source_lang = en +trans.pt_BR = c-api/tuple.po type = PO [python-newest.c-api--type] -trans.pt_BR = c-api/type.po source_lang = en +trans.pt_BR = c-api/type.po type = PO [python-newest.c-api--typehints] -trans.pt_BR = c-api/typehints.po source_lang = en +trans.pt_BR = c-api/typehints.po type = PO [python-newest.c-api--typeobj] -trans.pt_BR = c-api/typeobj.po source_lang = en +trans.pt_BR = c-api/typeobj.po type = PO [python-newest.c-api--unicode] -trans.pt_BR = c-api/unicode.po source_lang = en +trans.pt_BR = c-api/unicode.po type = PO [python-newest.c-api--utilities] -trans.pt_BR = c-api/utilities.po source_lang = en +trans.pt_BR = c-api/utilities.po type = PO [python-newest.c-api--veryhigh] -trans.pt_BR = c-api/veryhigh.po source_lang = en +trans.pt_BR = c-api/veryhigh.po type = PO [python-newest.c-api--weakref] -trans.pt_BR = c-api/weakref.po source_lang = en +trans.pt_BR = c-api/weakref.po type = PO [python-newest.distributing--index] -trans.pt_BR = distributing/index.po source_lang = en +trans.pt_BR = distributing/index.po type = PO [python-newest.distutils--_setuptools_disclaimer] -trans.pt_BR = distutils/_setuptools_disclaimer.po source_lang = en +trans.pt_BR = distutils/_setuptools_disclaimer.po type = PO [python-newest.distutils--apiref] -trans.pt_BR = distutils/apiref.po source_lang = en +trans.pt_BR = distutils/apiref.po type = PO [python-newest.distutils--builtdist] -trans.pt_BR = distutils/builtdist.po source_lang = en +trans.pt_BR = distutils/builtdist.po type = PO [python-newest.distutils--commandref] -trans.pt_BR = distutils/commandref.po source_lang = en +trans.pt_BR = distutils/commandref.po type = PO [python-newest.distutils--configfile] -trans.pt_BR = distutils/configfile.po source_lang = en +trans.pt_BR = distutils/configfile.po type = PO [python-newest.distutils--examples] -trans.pt_BR = distutils/examples.po source_lang = en +trans.pt_BR = distutils/examples.po type = PO [python-newest.distutils--extending] -trans.pt_BR = distutils/extending.po source_lang = en +trans.pt_BR = distutils/extending.po type = PO [python-newest.distutils--index] -trans.pt_BR = distutils/index.po source_lang = en +trans.pt_BR = distutils/index.po type = PO [python-newest.distutils--introduction] -trans.pt_BR = distutils/introduction.po source_lang = en +trans.pt_BR = distutils/introduction.po type = PO [python-newest.distutils--packageindex] -trans.pt_BR = distutils/packageindex.po source_lang = en +trans.pt_BR = distutils/packageindex.po type = PO [python-newest.distutils--setupscript] -trans.pt_BR = distutils/setupscript.po source_lang = en +trans.pt_BR = distutils/setupscript.po type = PO [python-newest.distutils--sourcedist] -trans.pt_BR = distutils/sourcedist.po source_lang = en +trans.pt_BR = distutils/sourcedist.po type = PO [python-newest.distutils--uploading] -trans.pt_BR = distutils/uploading.po source_lang = en +trans.pt_BR = distutils/uploading.po type = PO [python-newest.extending--building] -trans.pt_BR = extending/building.po source_lang = en +trans.pt_BR = extending/building.po type = PO [python-newest.extending--embedding] -trans.pt_BR = extending/embedding.po source_lang = en +trans.pt_BR = extending/embedding.po type = PO [python-newest.extending--extending] -trans.pt_BR = extending/extending.po source_lang = en +trans.pt_BR = extending/extending.po type = PO [python-newest.extending--index] -trans.pt_BR = extending/index.po source_lang = en +trans.pt_BR = extending/index.po type = PO [python-newest.extending--newtypes] -trans.pt_BR = extending/newtypes.po source_lang = en +trans.pt_BR = extending/newtypes.po type = PO [python-newest.extending--newtypes_tutorial] -trans.pt_BR = extending/newtypes_tutorial.po source_lang = en +trans.pt_BR = extending/newtypes_tutorial.po type = PO [python-newest.extending--windows] -trans.pt_BR = extending/windows.po source_lang = en +trans.pt_BR = extending/windows.po type = PO [python-newest.faq--design] -trans.pt_BR = faq/design.po source_lang = en +trans.pt_BR = faq/design.po type = PO [python-newest.faq--extending] -trans.pt_BR = faq/extending.po source_lang = en +trans.pt_BR = faq/extending.po type = PO [python-newest.faq--general] -trans.pt_BR = faq/general.po source_lang = en +trans.pt_BR = faq/general.po type = PO [python-newest.faq--gui] -trans.pt_BR = faq/gui.po source_lang = en +trans.pt_BR = faq/gui.po type = PO [python-newest.faq--index] -trans.pt_BR = faq/index.po source_lang = en +trans.pt_BR = faq/index.po type = PO [python-newest.faq--installed] -trans.pt_BR = faq/installed.po source_lang = en +trans.pt_BR = faq/installed.po type = PO [python-newest.faq--library] -trans.pt_BR = faq/library.po source_lang = en +trans.pt_BR = faq/library.po type = PO [python-newest.faq--programming] -trans.pt_BR = faq/programming.po source_lang = en +trans.pt_BR = faq/programming.po type = PO [python-newest.faq--windows] -trans.pt_BR = faq/windows.po source_lang = en +trans.pt_BR = faq/windows.po type = PO [python-newest.howto--annotations] -trans.pt_BR = howto/annotations.po source_lang = en +trans.pt_BR = howto/annotations.po type = PO [python-newest.howto--argparse] -trans.pt_BR = howto/argparse.po source_lang = en +trans.pt_BR = howto/argparse.po type = PO [python-newest.howto--clinic] -trans.pt_BR = howto/clinic.po source_lang = en +trans.pt_BR = howto/clinic.po type = PO [python-newest.howto--cporting] -trans.pt_BR = howto/cporting.po source_lang = en +trans.pt_BR = howto/cporting.po type = PO [python-newest.howto--curses] -trans.pt_BR = howto/curses.po source_lang = en +trans.pt_BR = howto/curses.po type = PO [python-newest.howto--descriptor] -trans.pt_BR = howto/descriptor.po source_lang = en +trans.pt_BR = howto/descriptor.po type = PO [python-newest.howto--functional] -trans.pt_BR = howto/functional.po source_lang = en +trans.pt_BR = howto/functional.po type = PO [python-newest.howto--index] -trans.pt_BR = howto/index.po source_lang = en +trans.pt_BR = howto/index.po type = PO [python-newest.howto--instrumentation] -trans.pt_BR = howto/instrumentation.po source_lang = en +trans.pt_BR = howto/instrumentation.po type = PO [python-newest.howto--ipaddress] -trans.pt_BR = howto/ipaddress.po source_lang = en +trans.pt_BR = howto/ipaddress.po type = PO [python-newest.howto--logging-cookbook] -trans.pt_BR = howto/logging-cookbook.po source_lang = en +trans.pt_BR = howto/logging-cookbook.po type = PO [python-newest.howto--logging] -trans.pt_BR = howto/logging.po source_lang = en +trans.pt_BR = howto/logging.po type = PO [python-newest.howto--pyporting] -trans.pt_BR = howto/pyporting.po source_lang = en +trans.pt_BR = howto/pyporting.po type = PO [python-newest.howto--regex] -trans.pt_BR = howto/regex.po source_lang = en +trans.pt_BR = howto/regex.po type = PO [python-newest.howto--sockets] -trans.pt_BR = howto/sockets.po source_lang = en +trans.pt_BR = howto/sockets.po type = PO [python-newest.howto--sorting] -trans.pt_BR = howto/sorting.po source_lang = en +trans.pt_BR = howto/sorting.po type = PO [python-newest.howto--unicode] -trans.pt_BR = howto/unicode.po source_lang = en +trans.pt_BR = howto/unicode.po type = PO [python-newest.howto--urllib2] -trans.pt_BR = howto/urllib2.po source_lang = en +trans.pt_BR = howto/urllib2.po type = PO [python-newest.install--index] -trans.pt_BR = install/index.po source_lang = en +trans.pt_BR = install/index.po type = PO [python-newest.installing--index] -trans.pt_BR = installing/index.po source_lang = en +trans.pt_BR = installing/index.po type = PO [python-newest.library--2to3] -trans.pt_BR = library/2to3.po source_lang = en +trans.pt_BR = library/2to3.po type = PO [python-newest.library--__future__] -trans.pt_BR = library/__future__.po source_lang = en +trans.pt_BR = library/__future__.po type = PO [python-newest.library--__main__] -trans.pt_BR = library/__main__.po source_lang = en +trans.pt_BR = library/__main__.po type = PO [python-newest.library--_thread] -trans.pt_BR = library/_thread.po source_lang = en +trans.pt_BR = library/_thread.po type = PO [python-newest.library--abc] -trans.pt_BR = library/abc.po source_lang = en +trans.pt_BR = library/abc.po type = PO [python-newest.library--aifc] -trans.pt_BR = library/aifc.po source_lang = en +trans.pt_BR = library/aifc.po type = PO [python-newest.library--allos] -trans.pt_BR = library/allos.po source_lang = en +trans.pt_BR = library/allos.po type = PO [python-newest.library--archiving] -trans.pt_BR = library/archiving.po source_lang = en +trans.pt_BR = library/archiving.po type = PO [python-newest.library--argparse] -trans.pt_BR = library/argparse.po source_lang = en +trans.pt_BR = library/argparse.po type = PO [python-newest.library--array] -trans.pt_BR = library/array.po source_lang = en +trans.pt_BR = library/array.po type = PO [python-newest.library--ast] -trans.pt_BR = library/ast.po source_lang = en +trans.pt_BR = library/ast.po type = PO [python-newest.library--asynchat] -trans.pt_BR = library/asynchat.po source_lang = en +trans.pt_BR = library/asynchat.po type = PO [python-newest.library--asyncio-api-index] -trans.pt_BR = library/asyncio-api-index.po source_lang = en +trans.pt_BR = library/asyncio-api-index.po type = PO [python-newest.library--asyncio-dev] -trans.pt_BR = library/asyncio-dev.po source_lang = en +trans.pt_BR = library/asyncio-dev.po type = PO [python-newest.library--asyncio-eventloop] -trans.pt_BR = library/asyncio-eventloop.po source_lang = en +trans.pt_BR = library/asyncio-eventloop.po type = PO [python-newest.library--asyncio-exceptions] -trans.pt_BR = library/asyncio-exceptions.po source_lang = en +trans.pt_BR = library/asyncio-exceptions.po type = PO [python-newest.library--asyncio-future] -trans.pt_BR = library/asyncio-future.po source_lang = en +trans.pt_BR = library/asyncio-future.po type = PO [python-newest.library--asyncio-llapi-index] -trans.pt_BR = library/asyncio-llapi-index.po source_lang = en +trans.pt_BR = library/asyncio-llapi-index.po type = PO [python-newest.library--asyncio-platforms] -trans.pt_BR = library/asyncio-platforms.po source_lang = en +trans.pt_BR = library/asyncio-platforms.po type = PO [python-newest.library--asyncio-policy] -trans.pt_BR = library/asyncio-policy.po source_lang = en +trans.pt_BR = library/asyncio-policy.po type = PO [python-newest.library--asyncio-protocol] -trans.pt_BR = library/asyncio-protocol.po source_lang = en +trans.pt_BR = library/asyncio-protocol.po type = PO [python-newest.library--asyncio-queue] -trans.pt_BR = library/asyncio-queue.po source_lang = en +trans.pt_BR = library/asyncio-queue.po type = PO [python-newest.library--asyncio-stream] -trans.pt_BR = library/asyncio-stream.po source_lang = en +trans.pt_BR = library/asyncio-stream.po type = PO [python-newest.library--asyncio-subprocess] -trans.pt_BR = library/asyncio-subprocess.po source_lang = en +trans.pt_BR = library/asyncio-subprocess.po type = PO [python-newest.library--asyncio-sync] -trans.pt_BR = library/asyncio-sync.po source_lang = en +trans.pt_BR = library/asyncio-sync.po type = PO [python-newest.library--asyncio-task] -trans.pt_BR = library/asyncio-task.po source_lang = en +trans.pt_BR = library/asyncio-task.po type = PO [python-newest.library--asyncio] -trans.pt_BR = library/asyncio.po source_lang = en +trans.pt_BR = library/asyncio.po type = PO [python-newest.library--asyncore] -trans.pt_BR = library/asyncore.po source_lang = en +trans.pt_BR = library/asyncore.po type = PO [python-newest.library--atexit] -trans.pt_BR = library/atexit.po source_lang = en +trans.pt_BR = library/atexit.po type = PO [python-newest.library--audioop] -trans.pt_BR = library/audioop.po source_lang = en +trans.pt_BR = library/audioop.po type = PO [python-newest.library--audit_events] -trans.pt_BR = library/audit_events.po source_lang = en +trans.pt_BR = library/audit_events.po type = PO [python-newest.library--base64] -trans.pt_BR = library/base64.po source_lang = en +trans.pt_BR = library/base64.po type = PO [python-newest.library--bdb] -trans.pt_BR = library/bdb.po source_lang = en +trans.pt_BR = library/bdb.po type = PO [python-newest.library--binary] -trans.pt_BR = library/binary.po source_lang = en +trans.pt_BR = library/binary.po type = PO [python-newest.library--binascii] -trans.pt_BR = library/binascii.po source_lang = en +trans.pt_BR = library/binascii.po type = PO [python-newest.library--binhex] -trans.pt_BR = library/binhex.po source_lang = en +trans.pt_BR = library/binhex.po type = PO [python-newest.library--bisect] -trans.pt_BR = library/bisect.po source_lang = en +trans.pt_BR = library/bisect.po type = PO [python-newest.library--builtins] -trans.pt_BR = library/builtins.po source_lang = en +trans.pt_BR = library/builtins.po type = PO [python-newest.library--bz2] -trans.pt_BR = library/bz2.po source_lang = en +trans.pt_BR = library/bz2.po type = PO [python-newest.library--calendar] -trans.pt_BR = library/calendar.po source_lang = en +trans.pt_BR = library/calendar.po type = PO [python-newest.library--cgi] -trans.pt_BR = library/cgi.po source_lang = en +trans.pt_BR = library/cgi.po type = PO [python-newest.library--cgitb] -trans.pt_BR = library/cgitb.po source_lang = en +trans.pt_BR = library/cgitb.po type = PO [python-newest.library--chunk] -trans.pt_BR = library/chunk.po source_lang = en +trans.pt_BR = library/chunk.po type = PO [python-newest.library--cmath] -trans.pt_BR = library/cmath.po source_lang = en +trans.pt_BR = library/cmath.po type = PO [python-newest.library--cmd] -trans.pt_BR = library/cmd.po source_lang = en +trans.pt_BR = library/cmd.po type = PO [python-newest.library--code] -trans.pt_BR = library/code.po source_lang = en +trans.pt_BR = library/code.po type = PO [python-newest.library--codecs] -trans.pt_BR = library/codecs.po source_lang = en +trans.pt_BR = library/codecs.po type = PO [python-newest.library--codeop] -trans.pt_BR = library/codeop.po source_lang = en +trans.pt_BR = library/codeop.po type = PO [python-newest.library--collections_abc] -trans.pt_BR = library/collections.abc.po source_lang = en +trans.pt_BR = library/collections.abc.po type = PO [python-newest.library--collections] -trans.pt_BR = library/collections.po source_lang = en +trans.pt_BR = library/collections.po type = PO [python-newest.library--colorsys] -trans.pt_BR = library/colorsys.po source_lang = en +trans.pt_BR = library/colorsys.po type = PO [python-newest.library--compileall] -trans.pt_BR = library/compileall.po source_lang = en +trans.pt_BR = library/compileall.po type = PO [python-newest.library--concurrency] -trans.pt_BR = library/concurrency.po source_lang = en +trans.pt_BR = library/concurrency.po type = PO [python-newest.library--concurrent_futures] -trans.pt_BR = library/concurrent.futures.po source_lang = en +trans.pt_BR = library/concurrent.futures.po type = PO [python-newest.library--concurrent] -trans.pt_BR = library/concurrent.po source_lang = en +trans.pt_BR = library/concurrent.po type = PO [python-newest.library--configparser] -trans.pt_BR = library/configparser.po source_lang = en +trans.pt_BR = library/configparser.po type = PO [python-newest.library--constants] -trans.pt_BR = library/constants.po source_lang = en +trans.pt_BR = library/constants.po type = PO [python-newest.library--contextlib] -trans.pt_BR = library/contextlib.po source_lang = en +trans.pt_BR = library/contextlib.po type = PO [python-newest.library--contextvars] -trans.pt_BR = library/contextvars.po source_lang = en +trans.pt_BR = library/contextvars.po type = PO [python-newest.library--copy] -trans.pt_BR = library/copy.po source_lang = en +trans.pt_BR = library/copy.po type = PO [python-newest.library--copyreg] -trans.pt_BR = library/copyreg.po source_lang = en +trans.pt_BR = library/copyreg.po type = PO [python-newest.library--crypt] -trans.pt_BR = library/crypt.po source_lang = en +trans.pt_BR = library/crypt.po type = PO [python-newest.library--crypto] -trans.pt_BR = library/crypto.po source_lang = en +trans.pt_BR = library/crypto.po type = PO [python-newest.library--csv] -trans.pt_BR = library/csv.po source_lang = en +trans.pt_BR = library/csv.po type = PO [python-newest.library--ctypes] -trans.pt_BR = library/ctypes.po source_lang = en +trans.pt_BR = library/ctypes.po type = PO [python-newest.library--curses_ascii] -trans.pt_BR = library/curses.ascii.po source_lang = en +trans.pt_BR = library/curses.ascii.po type = PO [python-newest.library--curses_panel] -trans.pt_BR = library/curses.panel.po source_lang = en +trans.pt_BR = library/curses.panel.po type = PO [python-newest.library--curses] -trans.pt_BR = library/curses.po source_lang = en +trans.pt_BR = library/curses.po type = PO [python-newest.library--custominterp] -trans.pt_BR = library/custominterp.po source_lang = en +trans.pt_BR = library/custominterp.po type = PO [python-newest.library--dataclasses] -trans.pt_BR = library/dataclasses.po source_lang = en +trans.pt_BR = library/dataclasses.po type = PO [python-newest.library--datatypes] -trans.pt_BR = library/datatypes.po source_lang = en +trans.pt_BR = library/datatypes.po type = PO [python-newest.library--datetime] -trans.pt_BR = library/datetime.po source_lang = en +trans.pt_BR = library/datetime.po type = PO [python-newest.library--dbm] -trans.pt_BR = library/dbm.po source_lang = en +trans.pt_BR = library/dbm.po type = PO [python-newest.library--debug] -trans.pt_BR = library/debug.po source_lang = en +trans.pt_BR = library/debug.po type = PO [python-newest.library--decimal] -trans.pt_BR = library/decimal.po source_lang = en +trans.pt_BR = library/decimal.po type = PO [python-newest.library--development] -trans.pt_BR = library/development.po source_lang = en +trans.pt_BR = library/development.po type = PO [python-newest.library--devmode] -trans.pt_BR = library/devmode.po source_lang = en +trans.pt_BR = library/devmode.po type = PO [python-newest.library--dialog] -trans.pt_BR = library/dialog.po source_lang = en +trans.pt_BR = library/dialog.po type = PO [python-newest.library--difflib] -trans.pt_BR = library/difflib.po source_lang = en +trans.pt_BR = library/difflib.po type = PO [python-newest.library--dis] -trans.pt_BR = library/dis.po source_lang = en +trans.pt_BR = library/dis.po type = PO [python-newest.library--distribution] -trans.pt_BR = library/distribution.po source_lang = en +trans.pt_BR = library/distribution.po type = PO [python-newest.library--distutils] -trans.pt_BR = library/distutils.po source_lang = en +trans.pt_BR = library/distutils.po type = PO [python-newest.library--doctest] -trans.pt_BR = library/doctest.po source_lang = en +trans.pt_BR = library/doctest.po type = PO [python-newest.library--email_charset] -trans.pt_BR = library/email.charset.po source_lang = en +trans.pt_BR = library/email.charset.po type = PO [python-newest.library--email_compat32-message] -trans.pt_BR = library/email.compat32-message.po source_lang = en +trans.pt_BR = library/email.compat32-message.po type = PO [python-newest.library--email_contentmanager] -trans.pt_BR = library/email.contentmanager.po source_lang = en +trans.pt_BR = library/email.contentmanager.po type = PO [python-newest.library--email_encoders] -trans.pt_BR = library/email.encoders.po source_lang = en +trans.pt_BR = library/email.encoders.po type = PO [python-newest.library--email_errors] -trans.pt_BR = library/email.errors.po source_lang = en +trans.pt_BR = library/email.errors.po type = PO [python-newest.library--email_examples] -trans.pt_BR = library/email.examples.po source_lang = en +trans.pt_BR = library/email.examples.po type = PO [python-newest.library--email_generator] -trans.pt_BR = library/email.generator.po source_lang = en +trans.pt_BR = library/email.generator.po type = PO [python-newest.library--email_header] -trans.pt_BR = library/email.header.po source_lang = en +trans.pt_BR = library/email.header.po type = PO [python-newest.library--email_headerregistry] -trans.pt_BR = library/email.headerregistry.po source_lang = en +trans.pt_BR = library/email.headerregistry.po type = PO [python-newest.library--email_iterators] -trans.pt_BR = library/email.iterators.po source_lang = en +trans.pt_BR = library/email.iterators.po type = PO [python-newest.library--email_message] -trans.pt_BR = library/email.message.po source_lang = en +trans.pt_BR = library/email.message.po type = PO [python-newest.library--email_mime] -trans.pt_BR = library/email.mime.po source_lang = en +trans.pt_BR = library/email.mime.po type = PO [python-newest.library--email_parser] -trans.pt_BR = library/email.parser.po source_lang = en +trans.pt_BR = library/email.parser.po type = PO [python-newest.library--email_policy] -trans.pt_BR = library/email.policy.po source_lang = en +trans.pt_BR = library/email.policy.po type = PO [python-newest.library--email] -trans.pt_BR = library/email.po source_lang = en +trans.pt_BR = library/email.po type = PO [python-newest.library--email_utils] -trans.pt_BR = library/email.utils.po source_lang = en +trans.pt_BR = library/email.utils.po type = PO [python-newest.library--ensurepip] -trans.pt_BR = library/ensurepip.po source_lang = en +trans.pt_BR = library/ensurepip.po type = PO [python-newest.library--enum] -trans.pt_BR = library/enum.po source_lang = en +trans.pt_BR = library/enum.po type = PO [python-newest.library--errno] -trans.pt_BR = library/errno.po source_lang = en +trans.pt_BR = library/errno.po type = PO [python-newest.library--exceptions] -trans.pt_BR = library/exceptions.po source_lang = en +trans.pt_BR = library/exceptions.po type = PO [python-newest.library--faulthandler] -trans.pt_BR = library/faulthandler.po source_lang = en +trans.pt_BR = library/faulthandler.po type = PO [python-newest.library--fcntl] -trans.pt_BR = library/fcntl.po source_lang = en +trans.pt_BR = library/fcntl.po type = PO [python-newest.library--filecmp] -trans.pt_BR = library/filecmp.po source_lang = en +trans.pt_BR = library/filecmp.po type = PO [python-newest.library--fileformats] -trans.pt_BR = library/fileformats.po source_lang = en +trans.pt_BR = library/fileformats.po type = PO [python-newest.library--fileinput] -trans.pt_BR = library/fileinput.po source_lang = en +trans.pt_BR = library/fileinput.po type = PO [python-newest.library--filesys] -trans.pt_BR = library/filesys.po source_lang = en +trans.pt_BR = library/filesys.po type = PO [python-newest.library--fnmatch] -trans.pt_BR = library/fnmatch.po source_lang = en +trans.pt_BR = library/fnmatch.po type = PO [python-newest.library--fractions] -trans.pt_BR = library/fractions.po source_lang = en +trans.pt_BR = library/fractions.po type = PO [python-newest.library--frameworks] -trans.pt_BR = library/frameworks.po source_lang = en +trans.pt_BR = library/frameworks.po type = PO [python-newest.library--ftplib] -trans.pt_BR = library/ftplib.po source_lang = en +trans.pt_BR = library/ftplib.po type = PO [python-newest.library--functional] -trans.pt_BR = library/functional.po source_lang = en +trans.pt_BR = library/functional.po type = PO [python-newest.library--functions] -trans.pt_BR = library/functions.po source_lang = en +trans.pt_BR = library/functions.po type = PO [python-newest.library--functools] -trans.pt_BR = library/functools.po source_lang = en +trans.pt_BR = library/functools.po type = PO [python-newest.library--gc] -trans.pt_BR = library/gc.po source_lang = en +trans.pt_BR = library/gc.po type = PO [python-newest.library--getopt] -trans.pt_BR = library/getopt.po source_lang = en +trans.pt_BR = library/getopt.po type = PO [python-newest.library--getpass] -trans.pt_BR = library/getpass.po source_lang = en +trans.pt_BR = library/getpass.po type = PO [python-newest.library--gettext] -trans.pt_BR = library/gettext.po source_lang = en +trans.pt_BR = library/gettext.po type = PO [python-newest.library--glob] -trans.pt_BR = library/glob.po source_lang = en +trans.pt_BR = library/glob.po type = PO [python-newest.library--graphlib] -trans.pt_BR = library/graphlib.po source_lang = en +trans.pt_BR = library/graphlib.po type = PO [python-newest.library--grp] -trans.pt_BR = library/grp.po source_lang = en +trans.pt_BR = library/grp.po type = PO [python-newest.library--gzip] -trans.pt_BR = library/gzip.po source_lang = en +trans.pt_BR = library/gzip.po type = PO [python-newest.library--hashlib] -trans.pt_BR = library/hashlib.po source_lang = en +trans.pt_BR = library/hashlib.po type = PO [python-newest.library--heapq] -trans.pt_BR = library/heapq.po source_lang = en +trans.pt_BR = library/heapq.po type = PO [python-newest.library--hmac] -trans.pt_BR = library/hmac.po source_lang = en +trans.pt_BR = library/hmac.po type = PO [python-newest.library--html_entities] -trans.pt_BR = library/html.entities.po source_lang = en +trans.pt_BR = library/html.entities.po type = PO [python-newest.library--html_parser] -trans.pt_BR = library/html.parser.po source_lang = en +trans.pt_BR = library/html.parser.po type = PO [python-newest.library--html] -trans.pt_BR = library/html.po source_lang = en +trans.pt_BR = library/html.po type = PO [python-newest.library--http_client] -trans.pt_BR = library/http.client.po source_lang = en +trans.pt_BR = library/http.client.po type = PO [python-newest.library--http_cookiejar] -trans.pt_BR = library/http.cookiejar.po source_lang = en +trans.pt_BR = library/http.cookiejar.po type = PO [python-newest.library--http_cookies] -trans.pt_BR = library/http.cookies.po source_lang = en +trans.pt_BR = library/http.cookies.po type = PO [python-newest.library--http] -trans.pt_BR = library/http.po source_lang = en +trans.pt_BR = library/http.po type = PO [python-newest.library--http_server] -trans.pt_BR = library/http.server.po source_lang = en +trans.pt_BR = library/http.server.po type = PO [python-newest.library--i18n] -trans.pt_BR = library/i18n.po source_lang = en +trans.pt_BR = library/i18n.po type = PO [python-newest.library--idle] -trans.pt_BR = library/idle.po source_lang = en +trans.pt_BR = library/idle.po type = PO [python-newest.library--imaplib] -trans.pt_BR = library/imaplib.po source_lang = en +trans.pt_BR = library/imaplib.po type = PO [python-newest.library--imghdr] -trans.pt_BR = library/imghdr.po source_lang = en +trans.pt_BR = library/imghdr.po type = PO [python-newest.library--imp] -trans.pt_BR = library/imp.po source_lang = en +trans.pt_BR = library/imp.po type = PO [python-newest.library--importlib_metadata] -trans.pt_BR = library/importlib.metadata.po source_lang = en +trans.pt_BR = library/importlib.metadata.po type = PO [python-newest.library--importlib] -trans.pt_BR = library/importlib.po source_lang = en +trans.pt_BR = library/importlib.po type = PO [python-newest.library--index] -trans.pt_BR = library/index.po source_lang = en +trans.pt_BR = library/index.po type = PO [python-newest.library--inspect] -trans.pt_BR = library/inspect.po source_lang = en +trans.pt_BR = library/inspect.po type = PO [python-newest.library--internet] -trans.pt_BR = library/internet.po source_lang = en +trans.pt_BR = library/internet.po type = PO [python-newest.library--intro] -trans.pt_BR = library/intro.po source_lang = en +trans.pt_BR = library/intro.po type = PO [python-newest.library--io] -trans.pt_BR = library/io.po source_lang = en +trans.pt_BR = library/io.po type = PO [python-newest.library--ipaddress] -trans.pt_BR = library/ipaddress.po source_lang = en +trans.pt_BR = library/ipaddress.po type = PO [python-newest.library--ipc] -trans.pt_BR = library/ipc.po source_lang = en +trans.pt_BR = library/ipc.po type = PO [python-newest.library--itertools] -trans.pt_BR = library/itertools.po source_lang = en +trans.pt_BR = library/itertools.po type = PO [python-newest.library--json] -trans.pt_BR = library/json.po source_lang = en +trans.pt_BR = library/json.po type = PO [python-newest.library--keyword] -trans.pt_BR = library/keyword.po source_lang = en +trans.pt_BR = library/keyword.po type = PO [python-newest.library--language] -trans.pt_BR = library/language.po source_lang = en +trans.pt_BR = library/language.po type = PO [python-newest.library--linecache] -trans.pt_BR = library/linecache.po source_lang = en +trans.pt_BR = library/linecache.po type = PO [python-newest.library--locale] -trans.pt_BR = library/locale.po source_lang = en +trans.pt_BR = library/locale.po type = PO [python-newest.library--logging_config] -trans.pt_BR = library/logging.config.po source_lang = en +trans.pt_BR = library/logging.config.po type = PO [python-newest.library--logging_handlers] -trans.pt_BR = library/logging.handlers.po source_lang = en +trans.pt_BR = library/logging.handlers.po type = PO [python-newest.library--logging] -trans.pt_BR = library/logging.po source_lang = en +trans.pt_BR = library/logging.po type = PO [python-newest.library--lzma] -trans.pt_BR = library/lzma.po source_lang = en +trans.pt_BR = library/lzma.po type = PO [python-newest.library--mailbox] -trans.pt_BR = library/mailbox.po source_lang = en +trans.pt_BR = library/mailbox.po type = PO [python-newest.library--mailcap] -trans.pt_BR = library/mailcap.po source_lang = en +trans.pt_BR = library/mailcap.po type = PO [python-newest.library--markup] -trans.pt_BR = library/markup.po source_lang = en +trans.pt_BR = library/markup.po type = PO [python-newest.library--marshal] -trans.pt_BR = library/marshal.po source_lang = en +trans.pt_BR = library/marshal.po type = PO [python-newest.library--math] -trans.pt_BR = library/math.po source_lang = en +trans.pt_BR = library/math.po type = PO [python-newest.library--mimetypes] -trans.pt_BR = library/mimetypes.po source_lang = en +trans.pt_BR = library/mimetypes.po type = PO [python-newest.library--mm] -trans.pt_BR = library/mm.po source_lang = en +trans.pt_BR = library/mm.po type = PO [python-newest.library--mmap] -trans.pt_BR = library/mmap.po source_lang = en +trans.pt_BR = library/mmap.po type = PO [python-newest.library--modulefinder] -trans.pt_BR = library/modulefinder.po source_lang = en +trans.pt_BR = library/modulefinder.po type = PO [python-newest.library--modules] -trans.pt_BR = library/modules.po source_lang = en +trans.pt_BR = library/modules.po type = PO [python-newest.library--msilib] -trans.pt_BR = library/msilib.po source_lang = en +trans.pt_BR = library/msilib.po type = PO [python-newest.library--msvcrt] -trans.pt_BR = library/msvcrt.po source_lang = en +trans.pt_BR = library/msvcrt.po type = PO [python-newest.library--multiprocessing] -trans.pt_BR = library/multiprocessing.po source_lang = en +trans.pt_BR = library/multiprocessing.po type = PO [python-newest.library--multiprocessing_shared_memory] -trans.pt_BR = library/multiprocessing.shared_memory.po source_lang = en +trans.pt_BR = library/multiprocessing.shared_memory.po type = PO [python-newest.library--netdata] -trans.pt_BR = library/netdata.po source_lang = en +trans.pt_BR = library/netdata.po type = PO [python-newest.library--netrc] -trans.pt_BR = library/netrc.po source_lang = en +trans.pt_BR = library/netrc.po type = PO [python-newest.library--nis] -trans.pt_BR = library/nis.po source_lang = en +trans.pt_BR = library/nis.po type = PO [python-newest.library--nntplib] -trans.pt_BR = library/nntplib.po source_lang = en +trans.pt_BR = library/nntplib.po type = PO [python-newest.library--numbers] -trans.pt_BR = library/numbers.po source_lang = en +trans.pt_BR = library/numbers.po type = PO [python-newest.library--numeric] -trans.pt_BR = library/numeric.po source_lang = en +trans.pt_BR = library/numeric.po type = PO [python-newest.library--operator] -trans.pt_BR = library/operator.po source_lang = en +trans.pt_BR = library/operator.po type = PO [python-newest.library--optparse] -trans.pt_BR = library/optparse.po source_lang = en +trans.pt_BR = library/optparse.po type = PO [python-newest.library--os_path] -trans.pt_BR = library/os.path.po source_lang = en +trans.pt_BR = library/os.path.po type = PO [python-newest.library--os] -trans.pt_BR = library/os.po source_lang = en +trans.pt_BR = library/os.po type = PO [python-newest.library--ossaudiodev] -trans.pt_BR = library/ossaudiodev.po source_lang = en +trans.pt_BR = library/ossaudiodev.po type = PO [python-newest.library--pathlib] -trans.pt_BR = library/pathlib.po source_lang = en +trans.pt_BR = library/pathlib.po type = PO [python-newest.library--pdb] -trans.pt_BR = library/pdb.po source_lang = en +trans.pt_BR = library/pdb.po type = PO [python-newest.library--persistence] -trans.pt_BR = library/persistence.po source_lang = en +trans.pt_BR = library/persistence.po type = PO [python-newest.library--pickle] -trans.pt_BR = library/pickle.po source_lang = en +trans.pt_BR = library/pickle.po type = PO [python-newest.library--pickletools] -trans.pt_BR = library/pickletools.po source_lang = en +trans.pt_BR = library/pickletools.po type = PO [python-newest.library--pipes] -trans.pt_BR = library/pipes.po source_lang = en +trans.pt_BR = library/pipes.po type = PO [python-newest.library--pkgutil] -trans.pt_BR = library/pkgutil.po source_lang = en +trans.pt_BR = library/pkgutil.po type = PO [python-newest.library--platform] -trans.pt_BR = library/platform.po source_lang = en +trans.pt_BR = library/platform.po type = PO [python-newest.library--plistlib] -trans.pt_BR = library/plistlib.po source_lang = en +trans.pt_BR = library/plistlib.po type = PO [python-newest.library--poplib] -trans.pt_BR = library/poplib.po source_lang = en +trans.pt_BR = library/poplib.po type = PO [python-newest.library--posix] -trans.pt_BR = library/posix.po source_lang = en +trans.pt_BR = library/posix.po type = PO [python-newest.library--pprint] -trans.pt_BR = library/pprint.po source_lang = en +trans.pt_BR = library/pprint.po type = PO [python-newest.library--profile] -trans.pt_BR = library/profile.po source_lang = en +trans.pt_BR = library/profile.po type = PO [python-newest.library--pty] -trans.pt_BR = library/pty.po source_lang = en +trans.pt_BR = library/pty.po type = PO [python-newest.library--pwd] -trans.pt_BR = library/pwd.po source_lang = en +trans.pt_BR = library/pwd.po type = PO [python-newest.library--py_compile] -trans.pt_BR = library/py_compile.po source_lang = en +trans.pt_BR = library/py_compile.po type = PO [python-newest.library--pyclbr] -trans.pt_BR = library/pyclbr.po source_lang = en +trans.pt_BR = library/pyclbr.po type = PO [python-newest.library--pydoc] -trans.pt_BR = library/pydoc.po source_lang = en +trans.pt_BR = library/pydoc.po type = PO [python-newest.library--pyexpat] -trans.pt_BR = library/pyexpat.po source_lang = en +trans.pt_BR = library/pyexpat.po type = PO [python-newest.library--python] -trans.pt_BR = library/python.po source_lang = en +trans.pt_BR = library/python.po type = PO [python-newest.library--queue] -trans.pt_BR = library/queue.po source_lang = en +trans.pt_BR = library/queue.po type = PO [python-newest.library--quopri] -trans.pt_BR = library/quopri.po source_lang = en +trans.pt_BR = library/quopri.po type = PO [python-newest.library--random] -trans.pt_BR = library/random.po source_lang = en +trans.pt_BR = library/random.po type = PO [python-newest.library--re] -trans.pt_BR = library/re.po source_lang = en +trans.pt_BR = library/re.po type = PO [python-newest.library--readline] -trans.pt_BR = library/readline.po source_lang = en +trans.pt_BR = library/readline.po type = PO [python-newest.library--reprlib] -trans.pt_BR = library/reprlib.po source_lang = en +trans.pt_BR = library/reprlib.po type = PO [python-newest.library--resource] -trans.pt_BR = library/resource.po source_lang = en +trans.pt_BR = library/resource.po type = PO [python-newest.library--rlcompleter] -trans.pt_BR = library/rlcompleter.po source_lang = en +trans.pt_BR = library/rlcompleter.po type = PO [python-newest.library--runpy] -trans.pt_BR = library/runpy.po source_lang = en +trans.pt_BR = library/runpy.po type = PO [python-newest.library--sched] -trans.pt_BR = library/sched.po source_lang = en +trans.pt_BR = library/sched.po type = PO [python-newest.library--secrets] -trans.pt_BR = library/secrets.po source_lang = en +trans.pt_BR = library/secrets.po type = PO [python-newest.library--security_warnings] -trans.pt_BR = library/security_warnings.po source_lang = en +trans.pt_BR = library/security_warnings.po type = PO [python-newest.library--select] -trans.pt_BR = library/select.po source_lang = en +trans.pt_BR = library/select.po type = PO [python-newest.library--selectors] -trans.pt_BR = library/selectors.po source_lang = en +trans.pt_BR = library/selectors.po type = PO [python-newest.library--shelve] -trans.pt_BR = library/shelve.po source_lang = en +trans.pt_BR = library/shelve.po type = PO [python-newest.library--shlex] -trans.pt_BR = library/shlex.po source_lang = en +trans.pt_BR = library/shlex.po type = PO [python-newest.library--shutil] -trans.pt_BR = library/shutil.po source_lang = en +trans.pt_BR = library/shutil.po type = PO [python-newest.library--signal] -trans.pt_BR = library/signal.po source_lang = en +trans.pt_BR = library/signal.po type = PO [python-newest.library--site] -trans.pt_BR = library/site.po source_lang = en +trans.pt_BR = library/site.po type = PO [python-newest.library--smtpd] -trans.pt_BR = library/smtpd.po source_lang = en +trans.pt_BR = library/smtpd.po type = PO [python-newest.library--smtplib] -trans.pt_BR = library/smtplib.po source_lang = en +trans.pt_BR = library/smtplib.po type = PO [python-newest.library--sndhdr] -trans.pt_BR = library/sndhdr.po source_lang = en +trans.pt_BR = library/sndhdr.po type = PO [python-newest.library--socket] -trans.pt_BR = library/socket.po source_lang = en +trans.pt_BR = library/socket.po type = PO [python-newest.library--socketserver] -trans.pt_BR = library/socketserver.po source_lang = en +trans.pt_BR = library/socketserver.po type = PO [python-newest.library--spwd] -trans.pt_BR = library/spwd.po source_lang = en +trans.pt_BR = library/spwd.po type = PO [python-newest.library--sqlite3] -trans.pt_BR = library/sqlite3.po source_lang = en +trans.pt_BR = library/sqlite3.po type = PO [python-newest.library--ssl] -trans.pt_BR = library/ssl.po source_lang = en +trans.pt_BR = library/ssl.po type = PO [python-newest.library--stat] -trans.pt_BR = library/stat.po source_lang = en +trans.pt_BR = library/stat.po type = PO [python-newest.library--statistics] -trans.pt_BR = library/statistics.po source_lang = en +trans.pt_BR = library/statistics.po type = PO [python-newest.library--stdtypes] -trans.pt_BR = library/stdtypes.po source_lang = en +trans.pt_BR = library/stdtypes.po type = PO [python-newest.library--string] -trans.pt_BR = library/string.po source_lang = en +trans.pt_BR = library/string.po type = PO [python-newest.library--stringprep] -trans.pt_BR = library/stringprep.po source_lang = en +trans.pt_BR = library/stringprep.po type = PO [python-newest.library--struct] -trans.pt_BR = library/struct.po source_lang = en +trans.pt_BR = library/struct.po type = PO [python-newest.library--subprocess] -trans.pt_BR = library/subprocess.po source_lang = en +trans.pt_BR = library/subprocess.po type = PO [python-newest.library--sunau] -trans.pt_BR = library/sunau.po source_lang = en +trans.pt_BR = library/sunau.po type = PO [python-newest.library--superseded] -trans.pt_BR = library/superseded.po source_lang = en +trans.pt_BR = library/superseded.po type = PO [python-newest.library--symtable] -trans.pt_BR = library/symtable.po source_lang = en +trans.pt_BR = library/symtable.po type = PO [python-newest.library--sys] -trans.pt_BR = library/sys.po source_lang = en +trans.pt_BR = library/sys.po type = PO [python-newest.library--sysconfig] -trans.pt_BR = library/sysconfig.po source_lang = en +trans.pt_BR = library/sysconfig.po type = PO [python-newest.library--syslog] -trans.pt_BR = library/syslog.po source_lang = en +trans.pt_BR = library/syslog.po type = PO [python-newest.library--tabnanny] -trans.pt_BR = library/tabnanny.po source_lang = en +trans.pt_BR = library/tabnanny.po type = PO [python-newest.library--tarfile] -trans.pt_BR = library/tarfile.po source_lang = en +trans.pt_BR = library/tarfile.po type = PO [python-newest.library--telnetlib] -trans.pt_BR = library/telnetlib.po source_lang = en +trans.pt_BR = library/telnetlib.po type = PO [python-newest.library--tempfile] -trans.pt_BR = library/tempfile.po source_lang = en +trans.pt_BR = library/tempfile.po type = PO [python-newest.library--termios] -trans.pt_BR = library/termios.po source_lang = en +trans.pt_BR = library/termios.po type = PO [python-newest.library--test] -trans.pt_BR = library/test.po source_lang = en +trans.pt_BR = library/test.po type = PO [python-newest.library--text] -trans.pt_BR = library/text.po source_lang = en +trans.pt_BR = library/text.po type = PO [python-newest.library--textwrap] -trans.pt_BR = library/textwrap.po source_lang = en +trans.pt_BR = library/textwrap.po type = PO [python-newest.library--threading] -trans.pt_BR = library/threading.po source_lang = en +trans.pt_BR = library/threading.po type = PO [python-newest.library--time] -trans.pt_BR = library/time.po source_lang = en +trans.pt_BR = library/time.po type = PO [python-newest.library--timeit] -trans.pt_BR = library/timeit.po source_lang = en +trans.pt_BR = library/timeit.po type = PO [python-newest.library--tk] -trans.pt_BR = library/tk.po source_lang = en +trans.pt_BR = library/tk.po type = PO [python-newest.library--tkinter_colorchooser] -trans.pt_BR = library/tkinter.colorchooser.po source_lang = en +trans.pt_BR = library/tkinter.colorchooser.po type = PO [python-newest.library--tkinter_dnd] -trans.pt_BR = library/tkinter.dnd.po source_lang = en +trans.pt_BR = library/tkinter.dnd.po type = PO [python-newest.library--tkinter_font] -trans.pt_BR = library/tkinter.font.po source_lang = en +trans.pt_BR = library/tkinter.font.po type = PO [python-newest.library--tkinter_messagebox] -trans.pt_BR = library/tkinter.messagebox.po source_lang = en +trans.pt_BR = library/tkinter.messagebox.po type = PO [python-newest.library--tkinter] -trans.pt_BR = library/tkinter.po source_lang = en +trans.pt_BR = library/tkinter.po type = PO [python-newest.library--tkinter_scrolledtext] -trans.pt_BR = library/tkinter.scrolledtext.po source_lang = en +trans.pt_BR = library/tkinter.scrolledtext.po type = PO [python-newest.library--tkinter_tix] -trans.pt_BR = library/tkinter.tix.po source_lang = en +trans.pt_BR = library/tkinter.tix.po type = PO [python-newest.library--tkinter_ttk] -trans.pt_BR = library/tkinter.ttk.po source_lang = en +trans.pt_BR = library/tkinter.ttk.po type = PO [python-newest.library--token] -trans.pt_BR = library/token.po source_lang = en +trans.pt_BR = library/token.po type = PO [python-newest.library--tokenize] -trans.pt_BR = library/tokenize.po source_lang = en +trans.pt_BR = library/tokenize.po type = PO [python-newest.library--trace] -trans.pt_BR = library/trace.po source_lang = en +trans.pt_BR = library/trace.po type = PO [python-newest.library--traceback] -trans.pt_BR = library/traceback.po source_lang = en +trans.pt_BR = library/traceback.po type = PO [python-newest.library--tracemalloc] -trans.pt_BR = library/tracemalloc.po source_lang = en +trans.pt_BR = library/tracemalloc.po type = PO [python-newest.library--tty] -trans.pt_BR = library/tty.po source_lang = en +trans.pt_BR = library/tty.po type = PO [python-newest.library--turtle] -trans.pt_BR = library/turtle.po source_lang = en +trans.pt_BR = library/turtle.po type = PO [python-newest.library--types] -trans.pt_BR = library/types.po source_lang = en +trans.pt_BR = library/types.po type = PO [python-newest.library--typing] -trans.pt_BR = library/typing.po source_lang = en +trans.pt_BR = library/typing.po type = PO [python-newest.library--undoc] -trans.pt_BR = library/undoc.po source_lang = en +trans.pt_BR = library/undoc.po type = PO [python-newest.library--unicodedata] -trans.pt_BR = library/unicodedata.po source_lang = en +trans.pt_BR = library/unicodedata.po type = PO [python-newest.library--unittest_mock-examples] -trans.pt_BR = library/unittest.mock-examples.po source_lang = en +trans.pt_BR = library/unittest.mock-examples.po type = PO [python-newest.library--unittest_mock] -trans.pt_BR = library/unittest.mock.po source_lang = en +trans.pt_BR = library/unittest.mock.po type = PO [python-newest.library--unittest] -trans.pt_BR = library/unittest.po source_lang = en +trans.pt_BR = library/unittest.po type = PO [python-newest.library--unix] -trans.pt_BR = library/unix.po source_lang = en +trans.pt_BR = library/unix.po type = PO [python-newest.library--urllib_error] -trans.pt_BR = library/urllib.error.po source_lang = en +trans.pt_BR = library/urllib.error.po type = PO [python-newest.library--urllib_parse] -trans.pt_BR = library/urllib.parse.po source_lang = en +trans.pt_BR = library/urllib.parse.po type = PO [python-newest.library--urllib] -trans.pt_BR = library/urllib.po source_lang = en +trans.pt_BR = library/urllib.po type = PO [python-newest.library--urllib_request] -trans.pt_BR = library/urllib.request.po source_lang = en +trans.pt_BR = library/urllib.request.po type = PO [python-newest.library--urllib_robotparser] -trans.pt_BR = library/urllib.robotparser.po source_lang = en +trans.pt_BR = library/urllib.robotparser.po type = PO [python-newest.library--uu] -trans.pt_BR = library/uu.po source_lang = en +trans.pt_BR = library/uu.po type = PO [python-newest.library--uuid] -trans.pt_BR = library/uuid.po source_lang = en +trans.pt_BR = library/uuid.po type = PO [python-newest.library--venv] -trans.pt_BR = library/venv.po source_lang = en +trans.pt_BR = library/venv.po type = PO [python-newest.library--warnings] -trans.pt_BR = library/warnings.po source_lang = en +trans.pt_BR = library/warnings.po type = PO [python-newest.library--wave] -trans.pt_BR = library/wave.po source_lang = en +trans.pt_BR = library/wave.po type = PO [python-newest.library--weakref] -trans.pt_BR = library/weakref.po source_lang = en +trans.pt_BR = library/weakref.po type = PO [python-newest.library--webbrowser] -trans.pt_BR = library/webbrowser.po source_lang = en +trans.pt_BR = library/webbrowser.po type = PO [python-newest.library--windows] -trans.pt_BR = library/windows.po source_lang = en +trans.pt_BR = library/windows.po type = PO [python-newest.library--winreg] -trans.pt_BR = library/winreg.po source_lang = en +trans.pt_BR = library/winreg.po type = PO [python-newest.library--winsound] -trans.pt_BR = library/winsound.po source_lang = en +trans.pt_BR = library/winsound.po type = PO [python-newest.library--wsgiref] -trans.pt_BR = library/wsgiref.po source_lang = en +trans.pt_BR = library/wsgiref.po type = PO [python-newest.library--xdrlib] -trans.pt_BR = library/xdrlib.po source_lang = en +trans.pt_BR = library/xdrlib.po type = PO [python-newest.library--xml_dom_minidom] -trans.pt_BR = library/xml.dom.minidom.po source_lang = en +trans.pt_BR = library/xml.dom.minidom.po type = PO [python-newest.library--xml_dom] -trans.pt_BR = library/xml.dom.po source_lang = en +trans.pt_BR = library/xml.dom.po type = PO [python-newest.library--xml_dom_pulldom] -trans.pt_BR = library/xml.dom.pulldom.po source_lang = en +trans.pt_BR = library/xml.dom.pulldom.po type = PO [python-newest.library--xml_etree_elementtree] -trans.pt_BR = library/xml.etree.elementtree.po source_lang = en +trans.pt_BR = library/xml.etree.elementtree.po type = PO [python-newest.library--xml] -trans.pt_BR = library/xml.po source_lang = en +trans.pt_BR = library/xml.po type = PO [python-newest.library--xml_sax_handler] -trans.pt_BR = library/xml.sax.handler.po source_lang = en +trans.pt_BR = library/xml.sax.handler.po type = PO [python-newest.library--xml_sax] -trans.pt_BR = library/xml.sax.po source_lang = en +trans.pt_BR = library/xml.sax.po type = PO [python-newest.library--xml_sax_reader] -trans.pt_BR = library/xml.sax.reader.po source_lang = en +trans.pt_BR = library/xml.sax.reader.po type = PO [python-newest.library--xml_sax_utils] -trans.pt_BR = library/xml.sax.utils.po source_lang = en +trans.pt_BR = library/xml.sax.utils.po type = PO [python-newest.library--xmlrpc_client] -trans.pt_BR = library/xmlrpc.client.po source_lang = en +trans.pt_BR = library/xmlrpc.client.po type = PO [python-newest.library--xmlrpc] -trans.pt_BR = library/xmlrpc.po source_lang = en +trans.pt_BR = library/xmlrpc.po type = PO [python-newest.library--xmlrpc_server] -trans.pt_BR = library/xmlrpc.server.po source_lang = en +trans.pt_BR = library/xmlrpc.server.po type = PO [python-newest.library--zipapp] -trans.pt_BR = library/zipapp.po source_lang = en +trans.pt_BR = library/zipapp.po type = PO [python-newest.library--zipfile] -trans.pt_BR = library/zipfile.po source_lang = en +trans.pt_BR = library/zipfile.po type = PO [python-newest.library--zipimport] -trans.pt_BR = library/zipimport.po source_lang = en +trans.pt_BR = library/zipimport.po type = PO [python-newest.library--zlib] -trans.pt_BR = library/zlib.po source_lang = en +trans.pt_BR = library/zlib.po type = PO [python-newest.library--zoneinfo] -trans.pt_BR = library/zoneinfo.po source_lang = en +trans.pt_BR = library/zoneinfo.po type = PO [python-newest.reference--compound_stmts] -trans.pt_BR = reference/compound_stmts.po source_lang = en +trans.pt_BR = reference/compound_stmts.po type = PO [python-newest.reference--datamodel] -trans.pt_BR = reference/datamodel.po source_lang = en +trans.pt_BR = reference/datamodel.po type = PO [python-newest.reference--executionmodel] -trans.pt_BR = reference/executionmodel.po source_lang = en +trans.pt_BR = reference/executionmodel.po type = PO [python-newest.reference--expressions] -trans.pt_BR = reference/expressions.po source_lang = en +trans.pt_BR = reference/expressions.po type = PO [python-newest.reference--grammar] -trans.pt_BR = reference/grammar.po source_lang = en +trans.pt_BR = reference/grammar.po type = PO [python-newest.reference--import] -trans.pt_BR = reference/import.po source_lang = en +trans.pt_BR = reference/import.po type = PO [python-newest.reference--index] -trans.pt_BR = reference/index.po source_lang = en +trans.pt_BR = reference/index.po type = PO [python-newest.reference--introduction] -trans.pt_BR = reference/introduction.po source_lang = en +trans.pt_BR = reference/introduction.po type = PO [python-newest.reference--lexical_analysis] -trans.pt_BR = reference/lexical_analysis.po source_lang = en +trans.pt_BR = reference/lexical_analysis.po type = PO [python-newest.reference--simple_stmts] -trans.pt_BR = reference/simple_stmts.po source_lang = en +trans.pt_BR = reference/simple_stmts.po type = PO [python-newest.reference--toplevel_components] -trans.pt_BR = reference/toplevel_components.po source_lang = en +trans.pt_BR = reference/toplevel_components.po type = PO [python-newest.tutorial--appendix] -trans.pt_BR = tutorial/appendix.po source_lang = en +trans.pt_BR = tutorial/appendix.po type = PO [python-newest.tutorial--appetite] -trans.pt_BR = tutorial/appetite.po source_lang = en +trans.pt_BR = tutorial/appetite.po type = PO [python-newest.tutorial--classes] -trans.pt_BR = tutorial/classes.po source_lang = en +trans.pt_BR = tutorial/classes.po type = PO [python-newest.tutorial--controlflow] -trans.pt_BR = tutorial/controlflow.po source_lang = en +trans.pt_BR = tutorial/controlflow.po type = PO [python-newest.tutorial--datastructures] -trans.pt_BR = tutorial/datastructures.po source_lang = en +trans.pt_BR = tutorial/datastructures.po type = PO [python-newest.tutorial--errors] -trans.pt_BR = tutorial/errors.po source_lang = en +trans.pt_BR = tutorial/errors.po type = PO [python-newest.tutorial--floatingpoint] -trans.pt_BR = tutorial/floatingpoint.po source_lang = en +trans.pt_BR = tutorial/floatingpoint.po type = PO [python-newest.tutorial--index] -trans.pt_BR = tutorial/index.po source_lang = en +trans.pt_BR = tutorial/index.po type = PO [python-newest.tutorial--inputoutput] -trans.pt_BR = tutorial/inputoutput.po source_lang = en +trans.pt_BR = tutorial/inputoutput.po type = PO [python-newest.tutorial--interactive] -trans.pt_BR = tutorial/interactive.po source_lang = en +trans.pt_BR = tutorial/interactive.po type = PO [python-newest.tutorial--interpreter] -trans.pt_BR = tutorial/interpreter.po source_lang = en +trans.pt_BR = tutorial/interpreter.po type = PO [python-newest.tutorial--introduction] -trans.pt_BR = tutorial/introduction.po source_lang = en +trans.pt_BR = tutorial/introduction.po type = PO [python-newest.tutorial--modules] -trans.pt_BR = tutorial/modules.po source_lang = en +trans.pt_BR = tutorial/modules.po type = PO [python-newest.tutorial--stdlib] -trans.pt_BR = tutorial/stdlib.po source_lang = en +trans.pt_BR = tutorial/stdlib.po type = PO [python-newest.tutorial--stdlib2] -trans.pt_BR = tutorial/stdlib2.po source_lang = en +trans.pt_BR = tutorial/stdlib2.po type = PO [python-newest.tutorial--venv] -trans.pt_BR = tutorial/venv.po source_lang = en +trans.pt_BR = tutorial/venv.po type = PO [python-newest.tutorial--whatnow] -trans.pt_BR = tutorial/whatnow.po source_lang = en +trans.pt_BR = tutorial/whatnow.po type = PO [python-newest.using--cmdline] -trans.pt_BR = using/cmdline.po source_lang = en +trans.pt_BR = using/cmdline.po type = PO [python-newest.using--configure] -trans.pt_BR = using/configure.po source_lang = en +trans.pt_BR = using/configure.po type = PO [python-newest.using--editors] -trans.pt_BR = using/editors.po source_lang = en +trans.pt_BR = using/editors.po type = PO [python-newest.using--index] -trans.pt_BR = using/index.po source_lang = en +trans.pt_BR = using/index.po type = PO [python-newest.using--mac] -trans.pt_BR = using/mac.po source_lang = en +trans.pt_BR = using/mac.po type = PO [python-newest.using--unix] -trans.pt_BR = using/unix.po source_lang = en +trans.pt_BR = using/unix.po type = PO [python-newest.using--windows] -trans.pt_BR = using/windows.po source_lang = en +trans.pt_BR = using/windows.po type = PO [python-newest.whatsnew--2_0] -trans.pt_BR = whatsnew/2.0.po source_lang = en +trans.pt_BR = whatsnew/2.0.po type = PO [python-newest.whatsnew--2_1] -trans.pt_BR = whatsnew/2.1.po source_lang = en +trans.pt_BR = whatsnew/2.1.po type = PO [python-newest.whatsnew--2_2] -trans.pt_BR = whatsnew/2.2.po source_lang = en +trans.pt_BR = whatsnew/2.2.po type = PO [python-newest.whatsnew--2_3] -trans.pt_BR = whatsnew/2.3.po source_lang = en +trans.pt_BR = whatsnew/2.3.po type = PO [python-newest.whatsnew--2_4] -trans.pt_BR = whatsnew/2.4.po source_lang = en +trans.pt_BR = whatsnew/2.4.po type = PO [python-newest.whatsnew--2_5] -trans.pt_BR = whatsnew/2.5.po source_lang = en +trans.pt_BR = whatsnew/2.5.po type = PO [python-newest.whatsnew--2_6] -trans.pt_BR = whatsnew/2.6.po source_lang = en +trans.pt_BR = whatsnew/2.6.po type = PO [python-newest.whatsnew--2_7] -trans.pt_BR = whatsnew/2.7.po source_lang = en +trans.pt_BR = whatsnew/2.7.po type = PO [python-newest.whatsnew--3_0] -trans.pt_BR = whatsnew/3.0.po source_lang = en +trans.pt_BR = whatsnew/3.0.po type = PO [python-newest.whatsnew--3_1] -trans.pt_BR = whatsnew/3.1.po source_lang = en +trans.pt_BR = whatsnew/3.1.po type = PO [python-newest.whatsnew--3_10] -trans.pt_BR = whatsnew/3.10.po source_lang = en +trans.pt_BR = whatsnew/3.10.po type = PO [python-newest.whatsnew--3_2] -trans.pt_BR = whatsnew/3.2.po source_lang = en +trans.pt_BR = whatsnew/3.2.po type = PO [python-newest.whatsnew--3_3] -trans.pt_BR = whatsnew/3.3.po source_lang = en +trans.pt_BR = whatsnew/3.3.po type = PO [python-newest.whatsnew--3_4] -trans.pt_BR = whatsnew/3.4.po source_lang = en +trans.pt_BR = whatsnew/3.4.po type = PO [python-newest.whatsnew--3_5] -trans.pt_BR = whatsnew/3.5.po source_lang = en +trans.pt_BR = whatsnew/3.5.po type = PO [python-newest.whatsnew--3_6] -trans.pt_BR = whatsnew/3.6.po source_lang = en +trans.pt_BR = whatsnew/3.6.po type = PO [python-newest.whatsnew--3_7] -trans.pt_BR = whatsnew/3.7.po source_lang = en +trans.pt_BR = whatsnew/3.7.po type = PO [python-newest.whatsnew--3_8] -trans.pt_BR = whatsnew/3.8.po source_lang = en +trans.pt_BR = whatsnew/3.8.po type = PO [python-newest.whatsnew--3_9] -trans.pt_BR = whatsnew/3.9.po source_lang = en +trans.pt_BR = whatsnew/3.9.po type = PO [python-newest.whatsnew--changelog] -trans.pt_BR = whatsnew/changelog.po source_lang = en +trans.pt_BR = whatsnew/changelog.po type = PO [python-newest.whatsnew--index] -trans.pt_BR = whatsnew/index.po source_lang = en +trans.pt_BR = whatsnew/index.po type = PO - diff --git a/c-api/abstract.po b/c-api/abstract.po index 31fc6d7aa..56053e149 100644 --- a/c-api/abstract.po +++ b/c-api/abstract.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , YEAR. # # Translators: +# Felipefpl, 2021 # Rafael Fontenelle , 2021 -# Erick Simões , 2021 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgstr "" #: ../../c-api/abstract.rst:7 msgid "Abstract Objects Layer" -msgstr "Camada de Abstração de Objetos" +msgstr "Camada de Objetos Abstratos" #: ../../c-api/abstract.rst:9 msgid "" @@ -34,10 +34,11 @@ 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 deste capítulo interagem com objetos Python de acordo com a sua " -"tipagem, ou de acordo com as classes dos tipos de objetos (Exemplo: todos os " -"tipos numéricos, todos os tipos de sequência). Quando usado em um objeto de " -"um tipo que não se aplica será levantada uma exceção do Python." +"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." #: ../../c-api/abstract.rst:14 msgid "" @@ -46,7 +47,7 @@ msgid "" "`PyList_New`, but whose items have not been set to some non-\\ ``NULL`` " "value yet." msgstr "" -"Não é possível usar essas funções em objetos que não estão propriamente " +"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 do qual os itens não foram definidos como algum valor não " +"`PyList_New`, mas cujos itens não foram definidos como algum valor não " "``NULL`` ainda." diff --git a/c-api/allocation.po b/c-api/allocation.po index f3f7c1e35..0447d6623 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -4,8 +4,9 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Welington Carlos , 2021 +# Felipefpl, 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -14,7 +15,7 @@ msgstr "" "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: Welington Carlos , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -25,7 +26,7 @@ msgstr "" #: ../../c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" -msgstr "Alocando objetos em pilha" +msgstr "Alocando Objetos na Pilha" #: ../../c-api/allocation.rst:17 msgid "" @@ -35,18 +36,18 @@ msgid "" "detector's set of observed objects. Other fields of the object are not " "affected." msgstr "" -"Inicializa um objeto *op* recém-alocado com seu tipo e sua referência " -"inicial. Retorna o objeto inicializado. Se *type* indicar no detector de " -"lixo cíclico que o objeto participa, ele é adicionado ao grupo do detector " -"de objetos observados. Outros campos do objeto não são afetados." +"Inicializa um objeto *op* recém-alocado com seu tipo e referência inicial. " +"Retorna o objeto inicializado. Se o *type* indica que o objeto participa no " +"detector de lixo cíclico ele é adicionado ao grupo do detector de objetos " +"observados. Outros campos do objeto não são afetados." #: ../../c-api/allocation.rst:26 msgid "" "This does everything :c:func:`PyObject_Init` does, and also initializes the " "length information for a variable-size object." msgstr "" -"Isso faz tudo que :c:func:`PyObject_Init` faz, e também inicializa a " -"informação de comprimento para um objeto tamanho de variável." +"Isto faz tudo que o :c:func:`PyObject_Init` faz e também inicializa a " +"informação de comprimento para um objeto de tamanho variável." #: ../../c-api/allocation.rst:32 msgid "" @@ -56,9 +57,9 @@ msgid "" "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 C *TYPE* e o tipo de " -"objeto Python *type*. Campos não definidos no cabeçalho do objeto Python não " -"são inicializados; a contagem de referências do objeto será um deles. O " +"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." @@ -73,14 +74,15 @@ msgid "" "Embedding the array of fields into the same allocation decreases the number " "of allocations, improving the memory management efficiency." msgstr "" -"Aloca um novo objeto Python usando o tipo de estrutura C *TYPE* e o tipo de " -"objeto Python *type*. Campos não definidos pelo cabeçalho do objeto Python " -"não são inicializados. A memória alocada permite a estrutura *TYPE* e os " -"campos *size* do tamanho dado pelo campo :c:member:`~PyTypeObject." +"Aloca um novo objeto Python usando o tipo de estrutura do C *TYPE* e o " +"objeto Python do tipo *type*. Campos não definidos pelo cabeçalho do objeto " +"Python não são inicializados. A memória alocada permite a estrutura *TYPE* e " +"os campos *size* do tamanho dado pelo campo :c:member:`~PyTypeObject." "tp_itemsize` do tipo *type*. Isto é útil para implementar objetos como " -"tuplas, que são capazes de determinar seu tamanho em tempo de construção. " -"Incorporando o vetor de campos dentro da mesma alocação diminuindo o numero " -"de alocações, melhorando a eficiência de gerenciamento de memória." +"tuplas, as quais são capazes de determinar seu tamanho no tempo da " +"construção. Incorporando o vetor de campos dentro da mesma alocação " +"diminuindo o numero de alocações, melhorando a eficiência do gerenciamento " +"de memória." #: ../../c-api/allocation.rst:53 msgid "" @@ -91,9 +93,9 @@ msgid "" "no longer a valid Python object." msgstr "" "Libera memória alocada a um objeto usando :c:func:`PyObject_New` ou :c:func:" -"`PyObject_NewVar`. Isso é normalmente chamado por :c:member:`~PyTypeObject." +"`PyObject_NewVar`. Isto é normalmente chamado pelo :c:member:`~PyTypeObject." "tp_dealloc` manipulador especificado no tipo do objeto. Os campos do objeto " -"não devem ser acessados ​​após esta chamada, já que a memória não é mais um " +"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 @@ -102,8 +104,8 @@ msgid "" "using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " "object." msgstr "" -"Objeto que é visível em Python como ``None``. Isso só deve ser acessado " -"usando o :c:macro:`Py_None` macro, que avalia como um ponteiro para este " +"Objeto o qual é visível no Python como ``None``. Isto só deve ser acessado " +"usando a macro :c:macro:`Py_None`, o qual avalia como um ponteiro para este " "objeto." #: ../../c-api/allocation.rst:69 @@ -112,4 +114,4 @@ msgstr ":c:func:`PyModule_Create`" #: ../../c-api/allocation.rst:70 msgid "To allocate and create extension modules." -msgstr "Para alocar e criar módulos de extensão" +msgstr "Para alocar e criar módulos de extensão." diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index d3f3ddaed..e4df97272 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -6,6 +6,8 @@ # Translators: # Welington Carlos , 2021 # Claudio Rogerio Carvalho Filho , 2021 +# Felipefpl, 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -14,8 +16,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -26,7 +27,7 @@ msgstr "" #: ../../c-api/apiabiversion.rst:7 msgid "API and ABI Versioning" -msgstr "API e versionamento ABI" +msgstr "API e Versionamento ABI" #: ../../c-api/apiabiversion.rst:9 msgid "" @@ -34,43 +35,52 @@ msgid "" "correspond to the version code is **built** with, not necessarily the " "version used at **run time**." msgstr "" +"O CPython expõe seu número de versão nas seguintes macros. Note que estes " +"correspondem com o código da versão que está **construída**, não " +"necessariamente a versão usada no **run time**." #: ../../c-api/apiabiversion.rst:13 msgid "" "See :ref:`stable` for a discussion of API and ABI stability across versions." msgstr "" +"Veja :ref:`stable` para uma discussão da estabilidade da API e ABI através " +"das versões." #: ../../c-api/apiabiversion.rst:17 msgid "The ``3`` in ``3.4.1a2``." -msgstr "" +msgstr "O ``3`` em ``3.4.1a2``." #: ../../c-api/apiabiversion.rst:21 msgid "The ``4`` in ``3.4.1a2``." -msgstr "" +msgstr "O ``4`` em ``3.4.1a2``." #: ../../c-api/apiabiversion.rst:25 msgid "The ``1`` in ``3.4.1a2``." -msgstr "" +msgstr "O ``1`` em ``3.4.1a2``." #: ../../c-api/apiabiversion.rst:29 msgid "" "The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, " "``0xC`` for release candidate or ``0xF`` for final." msgstr "" +"O ``a`` em ``3.4.1a2``. Isto pode ser ``0xA`` para alfa, ``0xB`` para beta, " +"``0xC`` para o candidato a lançamento ou ``0xF`` para final." #: ../../c-api/apiabiversion.rst:35 msgid "The ``2`` in ``3.4.1a2``. Zero for final releases." -msgstr "" +msgstr "O ``2`` em ``3.4.1a2``. Zero para os lançamentos finais." #: ../../c-api/apiabiversion.rst:39 msgid "The Python version number encoded in a single integer." -msgstr "" +msgstr "O número da versão do Python codificado em um único inteiro." #: ../../c-api/apiabiversion.rst:41 msgid "" "The underlying version information can be found by treating it as a 32 bit " "number in the following manner:" msgstr "" +"As informações da versão subjacente podem ser achadas tratando-as como um " +"número de 32 bits da seguinte maneira:" #: ../../c-api/apiabiversion.rst:45 msgid "Bytes" @@ -86,7 +96,7 @@ msgstr "Significado" #: ../../c-api/apiabiversion.rst:45 msgid "Value for ``3.4.1a2``" -msgstr "" +msgstr "Valor para ``3.4.1a2``" #: ../../c-api/apiabiversion.rst:47 msgid "1" @@ -94,15 +104,15 @@ msgstr "1" #: ../../c-api/apiabiversion.rst:47 msgid "1-8" -msgstr "" +msgstr "1-8" #: ../../c-api/apiabiversion.rst:47 msgid "``PY_MAJOR_VERSION``" -msgstr "" +msgstr "``PY_MAJOR_VERSION``" #: ../../c-api/apiabiversion.rst:47 msgid "``0x03``" -msgstr "" +msgstr "``0x03``" #: ../../c-api/apiabiversion.rst:49 msgid "2" @@ -110,15 +120,15 @@ msgstr "2" #: ../../c-api/apiabiversion.rst:49 msgid "9-16" -msgstr "" +msgstr "9-16" #: ../../c-api/apiabiversion.rst:49 msgid "``PY_MINOR_VERSION``" -msgstr "" +msgstr "``PY_MINOR_VERSION``" #: ../../c-api/apiabiversion.rst:49 msgid "``0x04``" -msgstr "" +msgstr "``0x04``" #: ../../c-api/apiabiversion.rst:51 msgid "3" @@ -126,15 +136,15 @@ msgstr "3" #: ../../c-api/apiabiversion.rst:51 msgid "17-24" -msgstr "" +msgstr "17-24" #: ../../c-api/apiabiversion.rst:51 msgid "``PY_MICRO_VERSION``" -msgstr "" +msgstr "``PY_MICRO_VERSION``" #: ../../c-api/apiabiversion.rst:51 msgid "``0x01``" -msgstr "" +msgstr "``0x01``" #: ../../c-api/apiabiversion.rst:53 msgid "4" @@ -142,35 +152,37 @@ msgstr "4" #: ../../c-api/apiabiversion.rst:53 msgid "25-28" -msgstr "" +msgstr "25-28" #: ../../c-api/apiabiversion.rst:53 msgid "``PY_RELEASE_LEVEL``" -msgstr "" +msgstr "``PY_RELEASE_LEVEL``" #: ../../c-api/apiabiversion.rst:53 msgid "``0xA``" -msgstr "" +msgstr "``0xA``" #: ../../c-api/apiabiversion.rst:55 msgid "29-32" -msgstr "" +msgstr "29-32" #: ../../c-api/apiabiversion.rst:55 msgid "``PY_RELEASE_SERIAL``" -msgstr "" +msgstr "``PY_RELEASE_SERIAL``" #: ../../c-api/apiabiversion.rst:55 msgid "``0x2``" -msgstr "" +msgstr "``0x2``" #: ../../c-api/apiabiversion.rst:58 msgid "" "Thus ``3.4.1a2`` is hexversion ``0x030401a2`` and ``3.10.0`` is hexversion " "``0x030a00f0``." msgstr "" +"Assim ``3.4.1a2`` é a versão hex ``0x030401a2`` e ``3.10.0`` é a versãos hex " +"``0x030a00f0``." #: ../../c-api/apiabiversion.rst:62 msgid "All the given macros are defined in :source:`Include/patchlevel.h`." msgstr "" -"Todas as macros fornecidas estão definidos em :source:`Include/patchlevel.h`." +"Todas as macros dadas estão definidas em :source:`Include/patchlevel.h`." diff --git a/c-api/init.po b/c-api/init.po index b98fef568..664837276 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -10,6 +10,7 @@ # Rafael Marques , 2021 # Willian C Lopes , 2021 # Leandro Morales, 2021 +# Andre Weber, 2021 # Rafael Fontenelle , 2021 # #, fuzzy @@ -437,6 +438,10 @@ msgid "" "this should be called before using any other Python/C API functions; see :" "ref:`Before Python Initialization ` for the few exceptions." msgstr "" +"Inicializa o interpretador Python. Em uma aplicação que incorpora o Python, " +"isto deve ser chamado antes do uso de qualquer outra função do Python/C API; " +"veja :ref:`Before Python Initialization 1 ` para algumas " +"exceções." #: ../../c-api/init.rst:248 msgid "" @@ -572,6 +577,16 @@ msgid "" "execution. No code in the Python interpreter will change the contents of " "this storage." msgstr "" +"Esta função deve ser chamada antes de :c:func:`Py_Initialize` ser chamada " +"pela primeira vez, caso seja solicitada. Ela diz ao interpretador o valor do " +"argumento ``argv[0]`` para a função :c:func:`main` do programa (convertido " +"em caracteres amplos). Isto é utilizado por :c:func:`Py_GetPath` e algumas " +"outras funções abaixo para encontrar as bibliotecas de tempo de execução " +"relativas ao executável do interpretador. O valor padrão é ``'python'``. O " +"argumento deve apontar para um caractere string amplo terminado em zero no " +"armazenamento estático, cujo conteúdo não mudará durante a execução do " +"programa. Nenhum código no interpretador Python mudará o conteúdo deste " +"armazenamento." #: ../../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 @@ -579,6 +594,8 @@ msgid "" "Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:type:" "`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 "" @@ -704,18 +721,24 @@ msgid "" "The path argument is copied internally, so the caller may free it after the " "call completes." msgstr "" +"O argumento caminho é copiado internamente, então o chamador pode liberá-lo " +"depois da finalização da chamada." #: ../../c-api/init.rst:517 msgid "" "The program full path is now used for :data:`sys.executable`, instead of the " "program name." msgstr "" +"O caminho completo do programa agora é utilizado para :data:`sys." +"executable`, em vez do nome do programa." #: ../../c-api/init.rst:524 msgid "" "Return the version of this Python interpreter. This is a string that looks " "something like ::" msgstr "" +"Retorna a verão deste interpretador Python. Esta é uma string que se parece " +"com ::" #: ../../c-api/init.rst:531 msgid "" @@ -742,6 +765,8 @@ msgid "" "Return the official copyright string for the current Python version, for " "example" msgstr "" +"Retorna a string oficial de direitos autoriais para a versão atual do " +"Python, por exemplo" #: ../../c-api/init.rst:554 msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" @@ -758,6 +783,8 @@ msgid "" "Return an indication of the compiler used to build the current Python " "version, in square brackets, for example::" msgstr "" +"Retorna uma indicação do compilador usado para construir a atual versão do " +"Python, em colchetes, por exemplo::" #: ../../c-api/init.rst:571 ../../c-api/init.rst:585 msgid "" @@ -771,6 +798,8 @@ msgid "" "Return information about the sequence number and build date and time of the " "current Python interpreter instance, for example ::" msgstr "" +"Retorna informação sobre o número de sequência e a data e hora da construção " +"da instância atual do interpretador Python, por exemplo ::" #: ../../c-api/init.rst:597 msgid "" @@ -789,6 +818,9 @@ msgid "" "non-zero, the function also modifies :data:`sys.path` according to the " "following algorithm:" msgstr "" +"Se *updatepath* é zero, isto é tudo o que a função faz. Se *updatepath* não " +"é zero, a função também modifica :data:`sys.path` de acordo com o seguinte " +"algoritmo:" #: ../../c-api/init.rst:609 msgid "" @@ -895,6 +927,8 @@ 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 " +"estrutura::" #: ../../c-api/init.rst:726 msgid "This is so common that a pair of macros exists to simplify it::" @@ -975,7 +1009,7 @@ msgstr "" #: ../../c-api/init.rst:813 msgid "Cautions about fork()" -msgstr "" +msgstr "Cuidados com o uso de fork()" #: ../../c-api/init.rst:815 msgid "" @@ -1025,6 +1059,8 @@ msgid "" "These are the most commonly used types and functions when writing C " "extension code, or when embedding the Python interpreter:" msgstr "" +"Estes são os tipos e as funções mais comumente usados na escrita de um " +"código de extensão em C, ou ao incorporar o interpretador Python:" #: ../../c-api/init.rst:856 msgid "" @@ -1048,6 +1084,9 @@ msgid "" "public data member is :attr:`interp` (:c:type:`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." @@ -1067,11 +1106,14 @@ msgid "" "This function is now called by :c:func:`Py_Initialize()`, so you don't have " "to call it yourself anymore." msgstr "" +"Esta função agora é chamada por :c:func:`Py_Initialize()`, então não há mais " +"necessidade de você chamá-la." #: ../../c-api/init.rst:893 msgid "" "This function cannot be called before :c:func:`Py_Initialize()` anymore." msgstr "" +"Esta função não pode mais ser chamada antes de :c:func:`Py_Initialize()`." #: ../../c-api/init.rst:903 msgid "" diff --git a/c-api/intro.po b/c-api/intro.po index c2a05652f..9c179ee4f 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -4,11 +4,11 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Ruan Aragão , 2021 # Leticia Portella , 2021 # Italo Penaforte , 2021 # felipe caridade , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -17,7 +17,7 @@ msgstr "" "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: felipe caridade , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -570,6 +570,20 @@ msgid "" "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 é " +"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 " +"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 msgid "" @@ -1082,12 +1096,22 @@ msgid "" "macro:`Py_DEBUG` is enabled in the Unix build, compiler optimization is " "disabled." msgstr "" +"Compilar o interpretador com a macro :c:macro:`Py_DEBUG` definida produz o " +"que geralmente se entende por :ref:`uma compilação de depuração do Python " +"`. :c:macro:`Py_DEBUG` é habilitada na compilação Unix " +"adicionando :option:`--with-pydebug` ao comando :file:`./configure`. Também " +"está implícito na presença da macro não específica do Python :c:macro:" +"`_DEBUG`. Quando :c:macro:`Py_DEBUG` está habilitado na compilação do Unix, " +"a otimização do compilador é desabilitada." #: ../../c-api/intro.rst:752 msgid "" "In addition to the reference count debugging described below, extra checks " "are performed, see :ref:`Python Debug Build `." msgstr "" +"Além da depuração de contagem de referências descrita abaixo, verificações " +"extras são realizadas, consulte :ref:`Compilação de Depuração do Python " +"`." #: ../../c-api/intro.rst:755 msgid "" @@ -1098,6 +1122,13 @@ msgid "" "well. Upon exit, all existing references are printed. (In interactive mode " "this happens after every statement run by the interpreter.)" msgstr "" +"Definir :c:macro:`Py_TRACE_REFS` habilita o rastreamento de referência (veja " +"a opção :option:`opção --with-trace-refs de configure <--with-trace-refs>`). " +"Quando definida, uma lista circular duplamente vinculada de objetos ativos é " +"mantida adicionando dois campos extras a cada :c:type:`PyObject`. As " +"alocações totais também são rastreadas. Ao sair, todas as referências " +"existentes são impressas. (No modo interativo, isso acontece após cada " +"instrução executada pelo interpretador.)" #: ../../c-api/intro.rst:762 msgid "" diff --git a/c-api/iterator.po b/c-api/iterator.po index 815dd0a5f..8b1e8006a 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -4,6 +4,7 @@ # FIRST AUTHOR , YEAR. # # Translators: +# Felipefpl, 2021 # Rafael Fontenelle , 2021 # #, fuzzy @@ -24,7 +25,7 @@ msgstr "" #: ../../c-api/iterator.rst:6 msgid "Iterator Objects" -msgstr "Objetos iteradores" +msgstr "Objetos Iteradores" #: ../../c-api/iterator.rst:8 msgid "" @@ -34,9 +35,9 @@ msgid "" "sentinel value, calling the callable for each item in the sequence, and " "ending the iteration when the sentinel value is returned." msgstr "" -"O Python fornece dois objetos iteradores de uso geral. O primeiro, um " -"iterador de sequência, trabalha com uma sequência arbitrária que suporta o " -"método :meth:`__getitem__`. O segundo funciona com um objeto chamável e um " +"O Python fornece dois objetos iteradores de propósito geral. O primeiro, um " +"iterador de sequência, trabalha com uma sequência arbitrária suportando o " +"método :meth:`__getitem__`. O segundo trabalha com um objeto chamável e um " "valor de sentinela, chamando o chamável para cada item na sequência e " "finalizando a iteração quando o valor de sentinela é retornado." @@ -48,7 +49,7 @@ msgid "" msgstr "" "Objeto de tipo para objetos iteradores retornados por :c:func:" "`PySeqIter_New` e a forma de um argumento da função embutida :func:`iter` " -"para tipos de sequência embutidos." +"para os tipos de sequência embutidos." #: ../../c-api/iterator.rst:24 msgid "" @@ -56,7 +57,7 @@ msgid "" "always succeeds." msgstr "" "Retorna true se o tipo de *op* for :c:data:`PySeqIter_Type`. Esta função " -"sempre tem sucesso." +"sempre é bem-sucedida." #: ../../c-api/iterator.rst:30 msgid "" @@ -83,7 +84,7 @@ msgid "" "always succeeds." msgstr "" "Retorna true se o tipo de *op* for :c:data:`PyCallIter_Type`. Esta função " -"sempre tem sucesso." +"sempre é bem-sucedida." #: ../../c-api/iterator.rst:49 msgid "" diff --git a/c-api/sys.po b/c-api/sys.po index 68b756b04..7f989d18e 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -4,8 +4,8 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Italo Penaforte , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -14,7 +14,7 @@ msgstr "" "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: Italo Penaforte , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -108,10 +108,10 @@ msgid "" "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 um processo de garfo; Isso " -"deve ser chamado no novo processo se o intérprete 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 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." #: ../../c-api/sys.rst:91 msgid "This function is superseded by :c:func:`PyOS_AfterFork_Child()`." @@ -125,11 +125,11 @@ msgid "" "const:`USE_STACKCHECK` will be defined automatically; you should never " "change the definition in your own code." msgstr "" -"Retornar verdadeiro quando o intérprete ficar sem espaço de pilha. Esta é " +"Retorna verdadeiro quando o interpretador ficar sem espaço de pilha. Esta é " "uma verificação confiável, mas só está disponível quando :const:" "`USE_STACKCHECK` está definido (atualmente no Windows usando o compilador " "Microsoft Visual C++). :const:`USE_STACKCHECK` será definido " -"automaticamente; Você nunca deve mudar a definição em seu próprio código." +"automaticamente; você nunca deve mudar a definição em seu próprio código." #: ../../c-api/sys.rst:106 msgid "" diff --git a/faq/programming.po b/faq/programming.po index 18bed8000..92b211d30 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -5,13 +5,13 @@ # # Translators: # Tiago Henrique , 2021 -# Rafael Fontenelle , 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 # #, fuzzy msgid "" @@ -20,7 +20,7 @@ msgstr "" "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: Leonardo Mendes, 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -46,8 +46,8 @@ 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 possui breakpoints, single-" -"stepping e etc.?" +"Existe um depurador a nível de código-fonte que possuo pontos de interrupção " +"(breakpoints), single-stepping etc.?" #: ../../faq/programming.rst:17 ../../faq/programming.rst:57 msgid "Yes." @@ -93,6 +93,12 @@ 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 `_." #: ../../faq/programming.rst:38 msgid "" @@ -107,6 +113,8 @@ msgid "" "`trepan3k `_ is a gdb-like " "debugger." msgstr "" +"`trepan3k `_ é um depurador " +"similar ao gdb." #: ../../faq/programming.rst:43 msgid "" @@ -126,15 +134,15 @@ msgstr "" #: ../../faq/programming.rst:49 msgid "`Wing IDE `_" -msgstr "" +msgstr "`Wing IDE `_" #: ../../faq/programming.rst:50 msgid "`Komodo IDE `_" -msgstr "" +msgstr "`Komodo IDE `_" #: ../../faq/programming.rst:51 msgid "`PyCharm `_" -msgstr "" +msgstr "`PyCharm `_" #: ../../faq/programming.rst:55 msgid "Are there tools to help find bugs or perform static analysis?" @@ -225,29 +233,32 @@ msgstr "" #: ../../faq/programming.rst:97 msgid "`Nuitka `_ (Cross-platform)" -msgstr "" +msgstr "`Nuitka `_ (Multiplataforma)" #: ../../faq/programming.rst:98 msgid "`PyInstaller `_ (Cross-platform)" -msgstr "" +msgstr "`PyInstaller `_ (Multiplataforma)" #: ../../faq/programming.rst:99 msgid "" "`PyOxidizer `_ (Cross-platform)" msgstr "" +"`PyOxidizer `_ " +"(Multiplataforma)" #: ../../faq/programming.rst:100 msgid "" "`cx_Freeze `_ (Cross-platform)" msgstr "" +"`cx_Freeze `_ (Multiplataforma)" #: ../../faq/programming.rst:101 msgid "`py2app `_ (macOS only)" -msgstr "" +msgstr "`py2app `_ (somente macOS)" #: ../../faq/programming.rst:102 msgid "`py2exe `_ (Windows only)" -msgstr "" +msgstr "`py2exe `_ (somente Windows)" #: ../../faq/programming.rst:105 msgid "Are there coding standards or a style guide for Python programs?" @@ -364,6 +375,14 @@ msgid "" "a component of an imported module. This clutter would defeat the usefulness " "of the ``global`` declaration for identifying side-effects." msgstr "" +"Embora um pouco surpreendente no início, um momento de consideração explica " +"isso. Por um lado, exigir :keyword:`global` para variáveis atribuídas " +"fornece uma barreira contra efeitos colaterais indesejados. Por outro lado, " +"se ``global`` fosse necessário para todas as referências globais, você " +"estaria usando ``global`` o tempo todo. Você teria que declarar como global " +"todas as referências a uma função embutida ou a um componente de um módulo " +"importado. Essa desordem anularia a utilidade da declaração de ``global`` " +"para identificar efeitos colaterais." #: ../../faq/programming.rst:201 msgid "" @@ -708,11 +727,11 @@ msgid "" "tuple and the keyword arguments as a dictionary. You can then pass these " "arguments when calling another function by using ``*`` and ``**``::" msgstr "" -"Preceda os argumentos com o uso de especificadores (asteriscos) ``*`` ou " -"``**`` na lista de parâmetros da função; Isso faz com que os argumentos " -"posicionais como uma tupla e os keyword arguments sejam passados como um " -"dicionário. Poderás, também, passar esses argumentos ao invocar outra função " -"usando ``*`` e ``**``::" +"Colete os argumentos usando os especificadores ``*`` ou ``**`` na lista de " +"parâmetros da função. Isso faz com que os argumentos posicionais como tupla " +"e os argumentos nomeados sejam passados como um dicionário. Você pode, " +"também, passar esses argumentos ao invocar outra função usando ``*`` e " +"``**``::" #: ../../faq/programming.rst:408 msgid "What is the difference between arguments and parameters?" @@ -827,6 +846,15 @@ msgid "" "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." #: ../../faq/programming.rst:480 msgid "" @@ -837,6 +865,12 @@ msgid "" "mutates ``a_list``, whereas ``some_tuple += (1, 2, 3)`` and ``some_int += " "1`` create new objects)." 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)." #: ../../faq/programming.rst:487 msgid "In other words:" @@ -1028,6 +1062,10 @@ msgid "" "``def`` and ``class`` statements, but in that case the value is a callable. " "Consider the following code::" msgstr "" +"De um modo geral, não pode, porque os objetos realmente não têm nomes. " +"Essencialmente, a atribuição sempre liga um nome a um valor; o mesmo é " +"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 msgid "" @@ -1068,6 +1106,11 @@ msgid "" "so the only way to find out what it's called is to ask all your neighbours " "(namespaces) if it's their cat (object)..." 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 " +"chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato " +"deles (objeto)..." #: ../../faq/programming.rst:688 msgid "" @@ -1103,8 +1146,8 @@ msgid "" "They are not truly operators but syntactic delimiters in assignment " "statements." msgstr "" -"O mesmo é verdade para as várias operações de atribuição (``=``,``+=`` etc). " -"Eles não são operadores de verdade mas delimitadores sintáticos em " +"O mesmo é verdade para as várias operações de atribuição (``=``, ``+=`` " +"etc). Eles não são operadores de verdade mas delimitadores sintáticos em " "instruções de atribuição." #: ../../faq/programming.rst:714 @@ -1135,13 +1178,15 @@ msgstr "" #: ../../faq/programming.rst:734 msgid "Is it possible to write obfuscated one-liners in Python?" -msgstr "" +msgstr "É possível escrever instruções de uma só linha ofuscadas em Python?" #: ../../faq/programming.rst:736 msgid "" "Yes. Usually this is done by nesting :keyword:`lambda` within :keyword:`!" "lambda`. See the following three examples, due to 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::" #: ../../faq/programming.rst:763 msgid "Don't try this at home, kids!" @@ -1160,6 +1205,12 @@ msgid "" "position. For example, :func:`divmod` is a function that accepts positional-" "only parameters. Its documentation looks like this::" msgstr "" +"Uma barra na lista de argumentos de uma função indica que os parâmetros " +"anteriores 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::" #: ../../faq/programming.rst:784 msgid "" @@ -1167,6 +1218,9 @@ msgid "" "positional-only. Thus, calling :func:`divmod` with keyword arguments would " "lead to an error::" msgstr "" +"A barra no final da lista de parâmetros significa que ambos os parâmetros " +"são somente-posicionais. Assim, chamar :func:`divmod` com argumentos " +"nomeados levaria a um erro::" #: ../../faq/programming.rst:795 msgid "Numbers and strings" @@ -1215,6 +1269,9 @@ msgid "" "identity to hold, and then compilers that truncate ``i // j`` need to make " "``i % j`` have the same sign as ``i``." msgstr "" +"então a divisão inteira deve retornar o piso. C também requer que essa " +"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 msgid "" @@ -1224,6 +1281,11 @@ msgid "" "say 200 hours ago? ``-190 % 12 == 2`` is useful; ``-190 % 12 == -10`` is a " "bug waiting to bite." msgstr "" +"Existem poucos casos de uso reais para ``i % j`` quando ``j`` é negativo. " +"Quando ``j`` é positivo, existem muitos, e em virtualmente todos eles é mais " +"útil para ``i % j`` ser ``>= 0``. Se o relógio marca 10 agora, o que dizia " +"há 200 horas? ``-190 % 12 == 2`` é útil, enquanto ``-190 % 12 == -10`` é um " +"bug esperando para morder." #: ../../faq/programming.rst:840 msgid "How do I convert a string to a number?" @@ -1248,6 +1310,12 @@ msgid "" "the number is interpreted using Python's rules: a leading '0o' indicates " "octal, and '0x' indicates a hex number." msgstr "" +"Por padrão, eles interpretam o número como decimal, de modo que " +"``int('0144') == 144`` é verdadeiro e ``int('0x144')`` levanta :exc:" +"`ValueError`. ``int(string, base)`` toma a base para converter como um " +"segundo argumento opcional, então ``int( '0x144', 16) == 324``. Se a base " +"for especificada como 0, o número é interpretado usando as regras do Python: " +"um \"0o\" à esquerda indica octal e \"0x\" indica um número hexadecimal." #: ../../faq/programming.rst:853 msgid "" @@ -1258,6 +1326,12 @@ msgid "" "``__import__('os').system(\"rm -rf $HOME\")`` which would erase your home " "directory." msgstr "" +"Não use a função embutida :func:`eval` se tudo que você precisa é converter " +"strings em números. :func:`eval` será significativamente mais lento e " +"apresenta um risco de segurança: alguém pode passar a você uma expressão " +"Python que pode ter efeitos colaterais indesejados. Por exemplo, alguém " +"poderia passar ``__import__('os').system(\"rm -rf $HOME\")`` que apagaria " +"seu diretório pessoal." #: ../../faq/programming.rst:860 msgid "" @@ -1265,6 +1339,9 @@ msgid "" "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')." #: ../../faq/programming.rst:866 msgid "How do I convert a number to a string?" @@ -1343,7 +1420,7 @@ msgstr "A mesma é usado em vários lugares na biblioteca padrão, como este::" #: ../../faq/programming.rst:949 msgid "Use :func:`locals` to resolve the function name::" -msgstr "Use :func:`locals` para determinar o nome da função." +msgstr "Use :func:`locals` para determinar o nome da função::" #: ../../faq/programming.rst:961 msgid "" @@ -1439,7 +1516,7 @@ msgid "" "Performance characteristics vary across Python implementations. This FAQ " "focuses on :term:`CPython`." msgstr "" -"As características da desempenho podem varias de acordo com a implementação " +"As características da desempenho podem variar conforme a implementação do " "Python. Esse FAQ foca em :term:`CPython`." #: ../../faq/programming.rst:1011 @@ -1530,7 +1607,7 @@ msgid "" "especially under the form of tiny functions or methods (which are also often " "detrimental to readability)." msgstr "" -"As abstrações tendem a criar indireções e forçar o intérprete a trabalhar " +"As abstrações tendem a criar indireções e forçar o interpretador a trabalhar " "mais. Se os níveis de indireção superarem a quantidade de trabalho útil " "feito, seu programa ficará mais lento. Você deve evitar a abstração " "excessiva, especialmente sob a forma de pequenas funções ou métodos (que " @@ -1703,8 +1780,9 @@ msgid "" "If all elements of the list may be used as set keys (i.e. they are all :term:" "`hashable`) this is often faster ::" msgstr "" -"Se todos os elementos da lista podem ser usados como chaves de conjunto (ex: " -"eles são todos :term:`hasheáveis`) isso é muitas vezes mais rápido ::" +"Se todos os elementos da lista podem ser usados como chaves de conjunto " +"(isto é, eles são todos :term:`hasheáveis `) isso é muitas vezes " +"mais rápido ::" #: ../../faq/programming.rst:1156 msgid "" @@ -2001,7 +2079,7 @@ msgid "" "How do I check if an object is an instance of a given class or of a subclass " "of it?" msgstr "" -"Como eu checo se um objeto é uma instância de uma dada classe ou de uma " +"Como eu verifico se um objeto é uma instância de uma dada classe ou de uma " "subclasse dela?" #: ../../faq/programming.rst:1421 @@ -2087,8 +2165,8 @@ msgid "" "How do I call a method defined in a base class from a derived class that " "extends it?" msgstr "" -"Como eu chamo um método definido numa classe base deriavada de uma classe " -"que estende ela?" +"Como eu chamo um método definido numa classe base derivada de uma classe que " +"estende ela?" #: ../../faq/programming.rst:1539 msgid "Use the built-in :func:`super` function::" @@ -2184,7 +2262,7 @@ msgid "" "using default arguments. For example::" msgstr "" "Em Python você tem que escrever um único construtor que pega todos os casos " -"usando argumentos padrões. Por exemplo:: " +"usando argumentos padrão. Por exemplo::" #: ../../faq/programming.rst:1640 msgid "This is not entirely equivalent, but close enough in practice." @@ -2225,6 +2303,8 @@ msgstr "" #: ../../faq/programming.rst:1666 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 msgid "There are several possible reasons for this." @@ -2289,7 +2369,7 @@ msgstr "" #: ../../faq/programming.rst:1718 msgid "Why does the result of ``id()`` appear to be not unique?" -msgstr "Por que o resultado de ``id()``aparenta não ser único?" +msgstr "Por que o resultado de ``id()`` aparenta não ser único?" #: ../../faq/programming.rst:1720 msgid "" @@ -2311,6 +2391,7 @@ msgstr "" #: ../../faq/programming.rst:1744 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*? " #: ../../faq/programming.rst:1746 msgid "" @@ -2364,6 +2445,8 @@ msgstr "" #: ../../faq/programming.rst:1786 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 msgid "" @@ -2442,7 +2525,7 @@ msgstr "" #: ../../faq/programming.rst:1855 msgid "This example shows the various techniques::" -msgstr "" +msgstr "Esse exemplo mostra as várias técnicas::" #: ../../faq/programming.rst:1879 msgid "" @@ -2564,7 +2647,7 @@ msgstr "" #: ../../faq/programming.rst:1994 msgid "The problem is that the interpreter will perform the following steps:" -msgstr "" +msgstr "O problema é que o interpretador vai realizar os seguintes passos:" #: ../../faq/programming.rst:1996 msgid "main imports ``foo``" @@ -2646,12 +2729,15 @@ msgstr "Declaração ``import``" 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 msgid "" "van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." msgstr "" +"van Rossum não gosta muito dessa abordagem porque as importações aparecem em " +"lugares estranhos, mas funciona." #: ../../faq/programming.rst:2028 msgid "" @@ -2661,7 +2747,7 @@ msgstr "" #: ../../faq/programming.rst:2031 msgid "These solutions are not mutually exclusive." -msgstr "" +msgstr "Essas soluções não são mutualmente exclusivas." #: ../../faq/programming.rst:2035 msgid "__import__('x.y.z') returns ; how do I get z?" @@ -2678,6 +2764,8 @@ msgid "" "When I edit an imported module and reimport it, the changes don't show up. " "Why does this happen?" 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 msgid "" @@ -2693,6 +2781,8 @@ 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 " +"contendo instruções como ::" #: ../../faq/programming.rst:2061 msgid "" @@ -2707,3 +2797,5 @@ 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:: " diff --git a/howto/functional.po b/howto/functional.po index 6e69d548e..45cc4b0fc 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -9,9 +9,9 @@ # Vinicius Gubiani Ferreira , 2021 # i17obot , 2021 # ApenasRR Mesmo , 2021 -# Rafael Fontenelle , 2021 # Raphael Mendonça, 2021 # Italo Penaforte , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -20,7 +20,7 @@ msgstr "" "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: Italo Penaforte , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -332,14 +332,15 @@ msgid "" "the question of verifying the proof; maybe there's an error in it, and you " "wrongly believe you've proved the program correct." msgstr "" -"Infelizmente, os programas de prova corretas são praticamente impraticáveis " -"e não relevantes para o Python software. Mesmo os programas triviais exigem " -"provas de várias páginas; A prova de correção para um programa moderadamente " -"complicado seria enorme, e poucos ou nenhum dos programas que você usa " -"diariamente (o intérprete Python, seu analisador XML, seu navegador) poderia " -"ser comprovado correto. Mesmo que você tenha anotado ou gerado uma prova, " -"então haveria a questão de verificar a prova; Talvez haja um erro nisso, e " -"você acredita erroneamente que você provou o programa corretamente." +"Infelizmente, prpvar que os programas estão corretos são praticamente " +"impraticáveis e não relevantes para o software Python. Mesmo os programas " +"triviais exigem provas de várias páginas; A prova de correção para um " +"programa moderadamente complicado seria enorme, e poucos ou nenhum dos " +"programas que você usa diariamente (o interpretador Python, seu analisador " +"XML, seu navegador) poderia ser comprovado correto. Mesmo que você tenha " +"anotado ou gerado uma prova, então haveria a questão de verificar a prova; " +"Talvez haja um erro nisso, e você acredita erroneamente que você provou o " +"programa corretamente." #: ../../howto/functional.rst:136 msgid "Modularity" diff --git a/library/_thread.po b/library/_thread.po index 99539cef7..bc0b4740e 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -4,12 +4,12 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Sheila Gomes , 2021 # Jose Rafael Amaral , 2021 # Octavio von Sydow , 2021 # Marcos Jurach , 2021 # Fabio Aragao , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -18,7 +18,7 @@ msgstr "" "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: Fabio Aragao , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -211,14 +211,14 @@ msgstr "" "threads criados posteriormente e deve ser 0 (usar plataforma ou padrão " "configurado) ou um valor inteiro positivo de pelo menos 32.768 (32 KiB). Se " "*size* não for especificado, 0 será usado. Se a alteração do tamanho da " -"pilha de threads não for suportada, um :exc:`RuntimeError` será gerado. Se o " -"tamanho da pilha especificado for inválido, um :exc:`ValueError` será " -"aumentado e o tamanho da pilha não será modificado. Atualmente, 0 KiB é o " +"pilha de threads não for suportada, uma :exc:`RuntimeError` será levantada. " +"Se o tamanho da pilha especificado for inválido, uma :exc:`ValueError` será " +"levantada e o tamanho da pilha não será modificado. Atualmente, 0 KiB é o " "valor mínimo de tamanho de pilha suportado para garantir espaço suficiente " -"para o próprio intérprete. Observe que algumas plataformas podem ter " +"para o próprio interpretador. Observe que algumas plataformas podem ter " "restrições específicas sobre valores para o tamanho da pilha, como exigir um " "tamanho mínimo de pilha > 32 KiB ou exigir alocação em múltiplos do tamanho " -"da página de memória do sistema - a documentação da plataforma deve ser " +"da página de memória do sistema -- a documentação da plataforma deve ser " "consultada para obter mais informações (4 páginas KiB são comuns; usar " "múltiplos de 4096 para o tamanho da pilha é a abordagem sugerida na ausência " "de informações mais específicas)." diff --git a/library/atexit.po b/library/atexit.po index dece68f35..1ecb7dc56 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -38,7 +38,7 @@ msgid "" msgstr "" "O módulo :mod:`atexit` define funções para registrar e cancelar o registro " "de funções de limpeza. As funções assim registradas são executadas " -"automaticamente após a conclusão normal do intérprete. O módulo :mod:" +"automaticamente após a conclusão normal do interpretador. O módulo :mod:" "`atexit` executa essas funções na ordem *reversa* na qual foram registradas; " "se você inscrever ``A``, ``B`` e ``C``, no momento do término do " "interpretador, eles serão executados na ordem ``C``, ``B``, ``A`` ." diff --git a/library/cmath.po b/library/cmath.po index ed1ad2e18..fc92237c9 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -7,6 +7,7 @@ # Rafael Fontenelle , 2021 # Claudio Rogerio Carvalho Filho , 2021 # i17obot , 2021 +# Porfirio_Prodigy, 2021 # #, fuzzy msgid "" @@ -15,7 +16,7 @@ msgstr "" "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" +"Last-Translator: Porfirio_Prodigy, 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -26,7 +27,7 @@ msgstr "" #: ../../library/cmath.rst:2 msgid ":mod:`cmath` --- Mathematical functions for complex numbers" -msgstr "" +msgstr ":mod:`cmath` --- Funções matemáticas para números complexos" #: ../../library/cmath.rst:9 msgid "" diff --git a/library/code.po b/library/code.po index 410e254f3..b3c43be23 100644 --- a/library/code.po +++ b/library/code.po @@ -4,9 +4,9 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Claudio Rogerio Carvalho Filho , 2021 # i17obot , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -15,7 +15,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -26,7 +26,7 @@ msgstr "" #: ../../library/code.rst:2 msgid ":mod:`code` --- Interpreter base classes" -msgstr ":mod:`code` --- Classes Bases do Intérprete" +msgstr ":mod:`code` --- Classes Bases do Interpretador" #: ../../library/code.rst:7 msgid "**Source code:** :source:`Lib/code.py`" @@ -112,7 +112,7 @@ msgstr "" #: ../../library/code.rst:72 msgid "Interactive Interpreter Objects" -msgstr "Objetos de Intérprete Interativo" +msgstr "Objetos de Interpretador Interativo" #: ../../library/code.rst:77 msgid "" diff --git a/library/collections.po b/library/collections.po index f04ae8128..60c1b89aa 100644 --- a/library/collections.po +++ b/library/collections.po @@ -9,8 +9,10 @@ # i17obot , 2021 # Welington Carlos , 2021 # Alexandre B A Villares, 2021 -# Rafael Fontenelle , 2021 # Vitor Buxbaum Orlandi, 2021 +# Porfirio_Prodigy, 2022 +# Hildeberto Abreu Magalhães , 2022 +# Rafael Fontenelle , 2022 # #, fuzzy msgid "" @@ -19,7 +21,7 @@ msgstr "" "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: Vitor Buxbaum Orlandi, 2021\n" +"Last-Translator: Rafael Fontenelle , 2022\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -30,7 +32,7 @@ msgstr "" #: ../../library/collections.rst:2 msgid ":mod:`collections` --- Container datatypes" -msgstr ":mod:`collections` --- Tipos de dados do contêiner" +msgstr ":mod:`collections` --- Tipos de dados de contêineres" #: ../../library/collections.rst:10 msgid "**Source code:** :source:`Lib/collections/__init__.py`" @@ -42,7 +44,7 @@ msgid "" "alternatives to Python's general purpose built-in containers, :class:" "`dict`, :class:`list`, :class:`set`, and :class:`tuple`." msgstr "" -"Este módulo implementa tipos de dados de contêiner especializados que " +"Este módulo implementa tipos de dados de contêineres especializados que " "fornecem alternativas aos contêineres embutidos do Python, :class:`dict`, :" "class:`list`, :class:`set` e :class:`tuple`." @@ -53,8 +55,8 @@ msgstr ":func:`namedtuple`" #: ../../library/collections.rst:25 msgid "factory function for creating tuple subclasses with named fields" msgstr "" -"função fábrica (factory function) para criar subclasses de tuplas com campos " -"nomeados" +"função fábrica (*factory function*) para criar subclasses de tuplas com " +"campos nomeados" #: ../../library/collections.rst:26 msgid ":class:`deque`" @@ -160,8 +162,8 @@ msgid "" "empty dictionary is provided so that a new chain always has at least one " "mapping." msgstr "" -":class:`ChainMap` agrupa múltiplos dicts ou outros mapeamentos para criar " -"uma única vista atualizável. Se nenhum mapeamento for especificado, um " +":class:`ChainMap` agrupa múltiplos dicts ou outros mapeamentos para criar " +"uma única vista atualizável. Se nenhum *maps* for especificado, um " "dicionário vazio será fornecido para que uma nova cadeia tenha sempre pelo " "menos um mapeamento." @@ -180,9 +182,9 @@ msgid "" "In contrast, writes, updates, and deletions only operate on the first " "mapping." msgstr "" -"Faz a busca nos mapeamentos subjacentes sucessivamente até que uma chave " -"seja encontrada. Em contraste, escrita, atualições e remoções operam apenas " -"no primeiro mapeamento." +"Faz uma busca nos mapeamentos subjacentes sucessivamente até que uma chave " +"seja encontrada. Em contraste, escrita, atualizações e remoções operam " +"apenas no primeiro mapeamento." #: ../../library/collections.rst:60 msgid "" @@ -192,7 +194,7 @@ msgid "" msgstr "" "Uma :class:`ChainMap` incorpora os mapeamentos subjacentes por referência. " "Então, se um dos mapeamentos subjacentes for atualizado, essas alterações " -"serão refletidas em :class:`ChainMap`." +"serão refletidas na :class:`ChainMap`." #: ../../library/collections.rst:64 msgid "" @@ -272,8 +274,8 @@ msgid "" "This gives the same ordering as a series of :meth:`dict.update` calls " "starting with the last mapping::" msgstr "" -"Isso dá a mesma ordem de uma série de chamadas :meth:`dict.update` começando " -"com o último mapeamento::" +"Isso dá a mesma ordem de uma série de chamadas de :meth:`dict.update` " +"começando com o último mapeamento::" #: ../../library/collections.rst:118 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." @@ -290,8 +292,8 @@ msgid "" msgstr "" "A `classe MultiContext `_ no `pacote CodeTools `_ de Enthought tem opções para suportar a escrita " -"em qualquer mapeamento na cadeia." +"com/enthought/codetools>`_ de Enthought tem opções para oferecer suporte à " +"escrita em qualquer mapeamento na cadeia." #: ../../library/collections.rst:129 msgid "" @@ -301,6 +303,11 @@ msgid "" "`~collections.ChainMap.new_child` method and the :attr:`~collections." "ChainMap.parents` property." msgstr "" +"A `classe Context `_ do Django para modelos é uma cadeia de mapeamentos " +"somente leitura. Ela também oferece o recurso de push e pop (inserir e " +"retirar) contextos semelhantes ao método :meth:`~Collections.ChainMap." +"new_child` e a propriedade :attr:`~Collections.ChainMap.parents`." #: ../../library/collections.rst:136 msgid "" @@ -318,6 +325,8 @@ msgid "" "A `greatly simplified read-only version of Chainmap `_." msgstr "" +"Uma versão muito simplificada somente leitura do Chainmap `_." #: ../../library/collections.rst:146 msgid ":class:`ChainMap` Examples and Recipes" @@ -371,7 +380,7 @@ msgid "" "A counter tool is provided to support convenient and rapid tallies. For " "example::" msgstr "" -"Uma ferramenta de contagem é fornecida para apoiar contas rápidas e " +"Uma ferramenta de contagem é fornecida para apoiar contas rápidas e " "convenientes. Por exemplo::" #: ../../library/collections.rst:244 @@ -394,8 +403,8 @@ msgid "" "Elements are counted from an *iterable* or initialized from another " "*mapping* (or counter):" msgstr "" -"Os elementas são contados a partir de um *iterável* ou inicializado a partir " -"de um outro *mapeamento* (ou contador):" +"Os elementos são contados a partir de um iterável *iterable* ou inicializado " +"a partir de um outro mapeamento *mapping* (ou contador):" #: ../../library/collections.rst:258 msgid "" @@ -404,7 +413,7 @@ msgid "" msgstr "" "Objetos Counter tem uma interface de dicionário, com a diferença que " "devolvem uma contagem zero para itens que não estão presentes em vez de " -"levantar a excessão :exc:`KeyError`:" +"levantar a exceção :exc:`KeyError`:" #: ../../library/collections.rst:265 msgid "" @@ -423,8 +432,8 @@ msgid "" "right operand." msgstr "" "Como uma subclasse de :class:`dict`, :class:`Counter` herda a capacidade de " -"lembrar a ordem de inserção. Operações matemáticas em objetos *Counter* " -"também preservam ordem. Os resultados são ordenados de acordo com o momento " +"lembrar a ordem de inserção. Operações matemáticas em objetos *Counter* " +"também preservam ordem. Os resultados são ordenados de acordo com o momento " "que um elemento é encontrado pela primeira vez no operando da esquerda e, em " "seguida, pela ordem encontrada no operando da direita." @@ -443,7 +452,7 @@ msgid "" "is less than one, :meth:`elements` will ignore it." msgstr "" "Retorna um iterador sobre os elementos, repetindo cada um tantas vezes " -"quanto sua contagem. Os elementos são retornados na ordem em que foram " +"quanto sua contagem. Os elementos são retornados na ordem em que foram " "encontrados pela primeira vez. Se a contagem de um elemento é menor que um, " "ele será ignorado por :meth:`elements` ." @@ -466,10 +475,10 @@ msgid "" "counter). Like :meth:`dict.update` but subtracts counts instead of " "replacing them. Both inputs and outputs may be zero or negative." msgstr "" -"Os elementos são subtraídos de um *iterável* ou de outro *mapeamento* (ou " -"contador). Funciona como :meth:`dict.update`, mas subtraindo contagens ao " -"invés de substituí-las. Tanto as entradas quanto as saídas podem ser zero " -"ou negativas." +"Os elementos são subtraídos de um iterável *iterable* ou de outro mapeamento " +"*mapping* (ou contador). Funciona como :meth:`dict.update`, mas subtraindo " +"contagens ao invés de substituí-las. Tanto as entradas quanto as saídas " +"podem ser zero ou negativas." #: ../../library/collections.rst:318 msgid "Compute the sum of the counts." @@ -495,11 +504,11 @@ msgid "" "them. Also, the *iterable* is expected to be a sequence of elements, not a " "sequence of ``(key, value)`` pairs." msgstr "" -"Elementos são contados a partir de um *iterável* ou adicionados de outro " -"*mapeamento* (ou contador). Funciona como :meth:`dict.update` mas adiciona " -"contagens em vez de substituí-las. Além disso, é esperado que o *iterável* " -"seja uma sequência de elementos, e não uma sequência de pares ``(key, " -"value)``." +"Elementos são contados a partir de um iterável *iterable* ou adicionados de " +"outro mapeamento *mapping* (ou contador). Funciona como :meth:`dict.update`, " +"mas adiciona contagens em vez de substituí-las. Além disso, é esperado que o " +"*iterable* seja uma sequência de elementos, e não uma sequência de pares " +"``(key, value)``." #: ../../library/collections.rst:340 msgid "" @@ -542,6 +551,13 @@ msgid "" "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." #: ../../library/collections.rst:383 msgid "" @@ -555,6 +571,8 @@ msgstr "" 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 msgid "" @@ -576,7 +594,7 @@ msgid "" "representing counts, but you *could* store anything in the value field." msgstr "" "A própria classe :class:`Counter` é uma subclasse de dicionário sem " -"restrições em suas chaves e valores. Os valores pretendem ser números que " +"restrições em suas chaves e valores. Os valores pretendem ser números que " "representam contagens, mas você *pode* armazenar qualquer coisa no campo de " "valor." @@ -596,6 +614,12 @@ msgid "" "`~Counter.update` and :meth:`~Counter.subtract` which allow negative and " "zero values for both inputs and outputs." msgstr "" +"Para operações in-place, como ``c[key] += 1``, o tipo de valor precisa " +"oferecer suporte a apenas adição e subtração. Portanto, frações, números de " +"ponto flutuante e decimais funcionariam e os valores negativos são " +"suportados. O mesmo também é verdadeiro para :meth:`~Counter.update` e :meth:" +"`~Counter.subtract` que permitem valores negativos e zero para entradas e " +"saídas." #: ../../library/collections.rst:414 msgid "" @@ -604,31 +628,41 @@ msgid "" "are created. There are no type restrictions, but the value type needs to " "support addition, subtraction, and comparison." msgstr "" +"Os métodos de multiconjuntos são projetados apenas para casos de uso com " +"valores positivos. As entradas podem ser negativas ou zero, mas apenas " +"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 msgid "" "The :meth:`~Counter.elements` method requires integer counts. It ignores " "zero and negative counts." msgstr "" +"O método :meth:`~Counter.elements` requer contagens de inteiros. Ele ignora " +"contagens zero e negativas." #: ../../library/collections.rst:424 msgid "" "`Bag class `_ in Smalltalk." msgstr "" +"`Classe Bag `_ do Smalltalk." #: ../../library/collections.rst:427 msgid "" "Wikipedia entry for `Multisets `_." msgstr "" +"Entrada da Wikipédia para `Multiconjuntos `_." #: ../../library/collections.rst:429 msgid "" "`C++ multisets `_ tutorial with examples." msgstr "" -"Tutorial com exemplos `C++ multisets `_." +"Tutorial com exemplos de `multiconjuntos no C++ `_." #: ../../library/collections.rst:432 msgid "" @@ -636,12 +670,18 @@ msgid "" "Donald. The Art of Computer Programming Volume II, Section 4.6.3, Exercise " "19*." msgstr "" +"Para operações matemáticas em multiconjuntos e seus casos de uso, consulte " +"*Knuth, Donald. The Art of Computer Programming Volume II, Seção 4.6.3, " +"Exercício 19*." #: ../../library/collections.rst:436 msgid "" "To enumerate all distinct multisets of a given size over a given set of " "elements, see :func:`itertools.combinations_with_replacement`::" msgstr "" +"Para enumerar todos os multiconjuntos distintos de um determinado tamanho em " +"um determinado conjunto de elementos, consulte :func:`itertools." +"combinations_with_replacement`::" #: ../../library/collections.rst:443 msgid ":class:`deque` objects" @@ -653,6 +693,9 @@ msgid "" "with data from *iterable*. If *iterable* is not specified, the new deque is " "empty." msgstr "" +"Retorna um novo objeto deque inicializado da esquerda para a direita " +"(usando :meth:`append`) com dados do iterável *iterable*. Se *iterable* não " +"for especificado, o novo deque estará vazio." #: ../../library/collections.rst:450 msgid "" @@ -661,6 +704,12 @@ msgid "" "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 " +"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 msgid "" @@ -669,6 +718,11 @@ msgid "" "``pop(0)`` and ``insert(0, v)`` operations which change both the size and " "position of the underlying data representation." msgstr "" +"Embora os objetos :class:`list` ofereçam suporte a operações semelhantes, " +"eles são otimizados para operações rápidas de comprimento fixo e sujeitam em " +"custos de movimentação de memória O(n) para as operações ``pop(0)`` e " +"``insert(0, v)`` que alteram o tamanho e a posição da representação de dados " +"subjacente." #: ../../library/collections.rst:461 msgid "" @@ -680,36 +734,45 @@ msgid "" "They are also useful for tracking transactions and other pools of data where " "only the most recent activity is of interest." msgstr "" +"Se *maxlen* não for especificado ou for ``None``, deques podem crescer para " +"um comprimento arbitrário. Caso contrário, o deque é limitado ao comprimento " +"máximo especificado. Quando um deque de comprimento limitado está cheio, " +"quando novos itens são adicionados, um número correspondente de itens é " +"descartado da extremidade oposta. Deques de comprimento limitado fornecem " +"funcionalidade semelhante ao filtro ``tail`` no Unix. Eles também são úteis " +"para rastrear transações e outras pools de dados onde apenas a atividade " +"mais recente é de interesse." #: ../../library/collections.rst:470 msgid "Deque objects support the following methods:" -msgstr "" +msgstr "Os objetos Deque oferecem suporte aos seguintes métodos:" #: ../../library/collections.rst:474 msgid "Add *x* to the right side of the deque." -msgstr "" +msgstr "Adiciona *x* ao lado direito do deque." #: ../../library/collections.rst:479 msgid "Add *x* to the left side of the deque." -msgstr "" +msgstr "Adiciona *x* ao lado esquerdo do deque" #: ../../library/collections.rst:484 msgid "Remove all elements from the deque leaving it with length 0." -msgstr "" +msgstr "Remove todos os elementos do deque deixando-o com comprimento 0." #: ../../library/collections.rst:489 msgid "Create a shallow copy of the deque." -msgstr "" +msgstr "Cria uma cópia rasa do deque." #: ../../library/collections.rst:496 msgid "Count the number of deque elements equal to *x*." -msgstr "" +msgstr "Conta o número de elementos deque igual a *x*." #: ../../library/collections.rst:503 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 msgid "" @@ -717,6 +780,9 @@ msgid "" "Note, the series of left appends results in reversing the order of elements " "in the iterable argument." msgstr "" +"Estende o lado esquerdo do deque anexando elementos de *iterable*. Observe " +"que a série de acréscimos à esquerda resulta na reversão da ordem dos " +"elementos no argumento iterável." #: ../../library/collections.rst:516 msgid "" @@ -724,44 +790,58 @@ msgid "" "before index *stop*). Returns the first match or raises :exc:`ValueError` " "if not found." msgstr "" +"Retorna a posição de *x* no deque (no ou após o índice *start* e antes do " +"índice *stop*). Retorna a primeira correspondência ou levanta :exc:" +"`ValueError` se não for encontrado." #: ../../library/collections.rst:525 msgid "Insert *x* into the deque at position *i*." -msgstr "" +msgstr "Insere *x* no deque na posição *i*." #: ../../library/collections.rst:527 msgid "" "If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" "exc:`IndexError` is raised." msgstr "" +"Se a inserção fizer com que um deque limitado cresça além de *maxlen*, uma :" +"exc:`IndexError` é levantada." #: ../../library/collections.rst:535 msgid "" "Remove and return an element from the right side of the deque. If no " "elements are present, raises an :exc:`IndexError`." msgstr "" +"Remove e devolve um elemento do lado direito do deque. Se nenhum elemento " +"estiver presente, levanta um :exc:`IndexError`." #: ../../library/collections.rst:541 msgid "" "Remove and return an element from the left side of the deque. If no elements " "are present, raises an :exc:`IndexError`." msgstr "" +"Remove e devolve um elemento do lado esquerdo do deque. Se nenhum elemento " +"estiver presente, levanta um :exc:`IndexError`." #: ../../library/collections.rst:547 msgid "" "Remove the first occurrence of *value*. If not found, raises a :exc:" "`ValueError`." msgstr "" +"Remove a primeira ocorrência de *value*. Se não for encontrado, levanta um :" +"exc:`ValueError`." #: ../../library/collections.rst:553 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 msgid "" "Rotate the deque *n* steps to the right. If *n* is negative, rotate to the " "left." msgstr "" +"Gira o deque *n* passos para a direita. Se *n* for negativo, gire para a " +"esquerda." #: ../../library/collections.rst:563 msgid "" @@ -769,14 +849,17 @@ msgid "" "``d.appendleft(d.pop())``, and rotating one step to the left is equivalent " "to ``d.append(d.popleft())``." msgstr "" +"Quando o deque não está vazio, girar um passo para a direita é equivalente a " +"``d.appendleft(d.pop())`` e girar um passo para a esquerda é equivalente a " +"``d.append(d.popleft())``." #: ../../library/collections.rst:568 msgid "Deque objects also provide one read-only attribute:" -msgstr "" +msgstr "Os objetos Deque também fornecem um atributo somente leitura:" #: ../../library/collections.rst:572 msgid "Maximum size of a deque or ``None`` if unbounded." -msgstr "" +msgstr "Tamanho máximo de um deque ou ``None`` se ilimitado." #: ../../library/collections.rst:577 msgid "" @@ -786,12 +869,20 @@ msgid "" "to access the first element. Indexed access is O(1) at both ends but slows " "to O(n) in the middle. For fast random access, use lists instead." msgstr "" +"Além do acima, deques oferece suporte a iteração, serialização com pickle, " +"``len(d)``, ``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)`` e teste " +"de associação com o operador :keyword:`in` e referências subscritas, como " +"``d[0]`` para acessar o primeiro elemento. O acesso indexado é O(1) em ambas " +"as extremidades, mas diminui para O(n) no meio. Para acesso aleatório " +"rápido, use listas." #: ../../library/collections.rst:583 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__()``." #: ../../library/collections.rst:586 msgid "Example:" @@ -803,19 +894,23 @@ msgstr "Receitas de :class:`deque`" #: ../../library/collections.rst:645 msgid "This section shows various approaches to working with deques." -msgstr "" +msgstr "Esta seção mostra várias abordagens para trabalhar com deques." #: ../../library/collections.rst:647 msgid "" "Bounded length deques provide functionality similar to the ``tail`` filter " "in Unix::" msgstr "" +"Deques de comprimento limitado fornecem funcionalidade semelhante ao filtro " +"``tail`` em Unix::" #: ../../library/collections.rst:655 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::" msgstr "" +"Outra abordagem para usar deques é manter uma sequência de elementos " +"adicionados recentemente, acrescentando à direita e clicando à esquerda::" #: ../../library/collections.rst:670 msgid "" @@ -826,6 +921,12 @@ msgid "" "popleft`; otherwise, it can be cycled back to the end with the :meth:`~deque." "rotate` method::" msgstr "" +"Um `escalonador round robin `_ pode ser implementado com iteradores de entrada " +"armazenados em um :class:`deque`. Os valores são produzidos a partir do " +"iterador ativo na posição zero. Se esse iterador estiver esgotado, ele pode " +"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 msgid "" @@ -833,6 +934,10 @@ msgid "" "slicing and deletion. For example, a pure Python implementation of ``del " "d[n]`` relies on the ``rotate()`` method to position elements to be popped::" msgstr "" +"O método :meth:`~deque.rotate` fornece uma maneira de implementar o " +"fatiamento e exclusão :class:`deque`. Por exemplo, uma implementação Python " +"pura de ``del d[n]`` depende do método ``rotate()`` para posicionar os " +"elementos a serem retirados::" #: ../../library/collections.rst:698 msgid "" @@ -843,6 +948,13 @@ msgid "" "that approach, it is easy to implement Forth style stack manipulations such " "as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot``, and ``roll``." msgstr "" +"Para implementar o fatiamento de :class:`deque`, use uma abordagem " +"semelhante aplicando :meth:`~deque.rotate` para trazer um elemento alvo para " +"o lado esquerdo do deque. Remova as entradas antigas com :meth:`~deque." +"popleft`, adicione novas entradas com :meth:`~deque.extend`, e, então, " +"inverta a rotação. Com pequenas variações dessa abordagem, é fácil " +"implementar manipulações de pilha de estilo Forth, como ``dup``,``drop``," +"``swap``,``over``,``pick``,``rot`` e ``roll``." #: ../../library/collections.rst:708 msgid ":class:`defaultdict` objects" @@ -855,6 +967,10 @@ msgid "" "writable instance variable. The remaining functionality is the same as for " "the :class:`dict` class and is not documented here." msgstr "" +"Retorna um novo objeto dicionário ou similar. :class:`defaultdict` é uma " +"subclasse da classe embutida :class:`dict`. Ele substitui um método e " +"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 msgid "" @@ -863,18 +979,26 @@ msgid "" "arguments are treated the same as if they were passed to the :class:`dict` " "constructor, including keyword arguments." msgstr "" +"O primeiro argumento fornece o valor inicial para o atributo :attr:" +"`default_factory`; o padrão é ``None``. Todos os argumentos restantes são " +"tratados da mesma forma como se fossem passados ​​para o construtor :class:" +"`dict`, incluindo argumentos nomeados." #: ../../library/collections.rst:723 msgid "" ":class:`defaultdict` objects support the following method in addition to the " "standard :class:`dict` operations:" msgstr "" +"Os objetos :class:`defaultdict` oferecem suporta ao seguinte método além das " +"operações padrão :class:`dict`:" #: ../../library/collections.rst:728 msgid "" "If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" "`KeyError` exception with the *key* as argument." msgstr "" +"Se o atributo :attr:`default_factory` for ``None``, isso levanta uma " +"exceção :exc:`KeyError` com *key* como argumento." #: ../../library/collections.rst:731 msgid "" @@ -882,12 +1006,17 @@ msgid "" "to provide a default value for the given *key*, this value is inserted in " "the dictionary for the *key*, and returned." msgstr "" +"Se :attr:`default_factory` não for ``None``, ele é chamado sem argumentos " +"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 msgid "" "If calling :attr:`default_factory` raises an exception this exception is " "propagated unchanged." msgstr "" +"Se chamar :attr:`default_factory` levanta uma exceção, esta exceção é " +"propagada inalterada." #: ../../library/collections.rst:738 msgid "" @@ -895,6 +1024,9 @@ msgid "" "class when the requested key is not found; whatever it returns or raises is " "then returned or raised by :meth:`__getitem__`." msgstr "" +"Este método é chamado pelo método :meth:`__getitem__` da classe :class:" +"`dict` quando a chave solicitada não é encontrada; tudo o que ele retorna ou " +"levanta é então retornado ou levantado por :meth:`__getitem__`." #: ../../library/collections.rst:742 msgid "" @@ -1267,8 +1399,8 @@ msgid "" "In addition to the usual mapping methods, ordered dictionaries also support " "reverse iteration using :func:`reversed`." msgstr "" -"Além dos métodos usuais de mapeamento, dicionários ordenados também suportam " -"iteração reversa usando a função :func:`reversed`." +"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 msgid "" diff --git a/library/dialog.po b/library/dialog.po index 3121e449c..0c30fec2a 100644 --- a/library/dialog.po +++ b/library/dialog.po @@ -3,6 +3,10 @@ # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # +# Translators: +# Porfirio_Prodigy, 2021 +# Rafael Fontenelle , 2021 +# #, fuzzy msgid "" msgstr "" @@ -10,6 +14,7 @@ msgstr "" "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/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -20,61 +25,71 @@ msgstr "" #: ../../library/dialog.rst:2 msgid "Tkinter Dialogs" -msgstr "" +msgstr "Diálogos Tkinter" #: ../../library/dialog.rst:5 msgid ":mod:`tkinter.simpledialog` --- Standard Tkinter input dialogs" -msgstr "" +msgstr ":mod:`tkinter.simpledialog` --- Diálogos de entrada padrão do Tkinter" #: ../../library/dialog.rst:11 msgid "**Source code:** :source:`Lib/tkinter/simpledialog.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/tkinter/simpledialog.py`" #: ../../library/dialog.rst:15 msgid "" "The :mod:`tkinter.simpledialog` module contains convenience classes and " "functions for creating simple modal dialogs to get a value from the user." msgstr "" +"O módulo :mod:`tkinter.simpledialog` contém classes de conveniência e " +"funções para criar diálogos modais simples para obter um valor do usuário." #: ../../library/dialog.rst:23 msgid "" "The above three functions provide dialogs that prompt the user to enter a " "value of the desired type." msgstr "" +"As três funções acima fornecem caixas de diálogo que solicitam que o usuário " +"insira um valor do tipo desejado." #: ../../library/dialog.rst:28 msgid "The base class for custom dialogs." -msgstr "" +msgstr "A classe base para diálogos personalizados." #: ../../library/dialog.rst:32 msgid "" "Override to construct the dialog's interface and return the widget that " "should have initial focus." msgstr "" +"Substitui para construir a interface da caixa de diálogo e retornar o widget " +"que deve ter foco inicial." #: ../../library/dialog.rst:37 msgid "" "Default behaviour adds OK and Cancel buttons. Override for custom button " "layouts." msgstr "" +"O comportamento padrão adiciona botões OK e Cancelar. Substitua para layouts " +"de botão personalizados." #: ../../library/dialog.rst:43 msgid ":mod:`tkinter.filedialog` --- File selection dialogs" -msgstr "" +msgstr ":mod:`tkinter.filedialog` --- Caixas de diálogo de seleção de arquivo" #: ../../library/dialog.rst:49 msgid "**Source code:** :source:`Lib/tkinter/filedialog.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/tkinter/filedialog.py`" #: ../../library/dialog.rst:53 msgid "" "The :mod:`tkinter.filedialog` module provides classes and factory functions " "for creating file/directory selection windows." msgstr "" +"The módulo :mod:`tkinter.filedialog` fornece classes e funções de fábrica " +"para criar janelas de seleção de arquivo/diretório." #: ../../library/dialog.rst:57 msgid "Native Load/Save Dialogs" -msgstr "" +msgstr "Caixas de diálogo nativos de carregar/salvar" #: ../../library/dialog.rst:59 msgid "" @@ -83,39 +98,47 @@ msgid "" "The following keyword arguments are applicable to the classes and functions " "listed below:" 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 " +"funções listado abaixo:" #: ../../library/dialog.rst:0 msgid "*parent* - the window to place the dialog on top of" -msgstr "" +msgstr "*parent* - a janela para colocar a caixa de diálogo no topo" #: ../../library/dialog.rst:0 msgid "*title* - the title of the window" -msgstr "" +msgstr "*title* - o título da janela" #: ../../library/dialog.rst:0 msgid "*initialdir* - the directory that the dialog starts in" -msgstr "" +msgstr "*initialdir* - o diretório no qual a caixa de diálogo começa" #: ../../library/dialog.rst:0 msgid "*initialfile* - the file selected upon opening of the dialog" -msgstr "" +msgstr "*initialfile* - o arquivo selecionado ao abrir a caixa de diálogo" #: ../../library/dialog.rst:0 msgid "" "*filetypes* - a sequence of (label, pattern) tuples, '*' wildcard is allowed" msgstr "" +"*filetypes* - uma sequência de tuplas (rótulo, padrão), o caractere curinga " +"'*' é permitido" #: ../../library/dialog.rst:0 msgid "*defaultextension* - default extension to append to file (save dialogs)" msgstr "" +"*defaultextension* - extensão padrão para anexar ao arquivo (caixas de " +"diálogo para salvar)" #: ../../library/dialog.rst:0 msgid "*multiple* - when true, selection of multiple items is allowed" -msgstr "" +msgstr "*multiple* - quando verdadeiro, a seleção de vários itens é permitida" #: ../../library/dialog.rst:79 msgid "**Static factory functions**" -msgstr "" +msgstr "**Fábrica de funções estáticas**" #: ../../library/dialog.rst:81 msgid "" @@ -123,165 +146,196 @@ msgid "" "wait for the user's selection, then return the selected value(s) or ``None`` " "to the caller." msgstr "" +"As funções a seguir, quando chamadas, criam uma caixa de diálogo modal e " +"nativa, aguardam a seleção do usuário e, em seguida, retornam o(s) valor(es) " +"selecionado(s) ou ``None`` para o chamador." #: ../../library/dialog.rst:88 msgid "" "The above two functions create an :class:`Open` dialog and return the opened " "file object(s) in read-only mode." msgstr "" +"As duas funções acima criam uma caixa de diálogo :class:`Open` e retornam a " +"caixa de diálogo com um ou mais objetos arquivo abertos em modo somente " +"leitura." #: ../../library/dialog.rst:93 msgid "" "Create a :class:`SaveAs` dialog and return a file object opened in write-" "only mode." msgstr "" +"Cria uma caixa de diálogo :class:`SaveAs` e retorna um objeto arquivo aberto " +"em modo somente escrita." #: ../../library/dialog.rst:98 msgid "" "The above two functions create an :class:`Open` dialog and return the " "selected filename(s) that correspond to existing file(s)." msgstr "" +"As duas funções acima criam uma caixa de diálogo :class:`Open` e retornam um " +"ou mais nomes de arquivos selecionados que correspondem aos arquivos " +"existentes." #: ../../library/dialog.rst:103 msgid "Create a :class:`SaveAs` dialog and return the selected filename." msgstr "" +"Cria uma caixa de diálogo :class:`SaveAs` e retorna o nome do arquivo " +"selecionado." #: ../../library/dialog.rst:107 msgid "Prompt user to select a directory." -msgstr "" +msgstr "Solicita ao usuário que selecione um diretório." #: ../../library/dialog.rst:108 msgid "Additional keyword option:" -msgstr "" +msgstr "Opção de palavra reservada adicional:" #: ../../library/dialog.rst:109 msgid "*mustexist* - determines if selection must be an existing directory." -msgstr "" +msgstr "*mustexist* - determina se a seleção deve ser um diretório existente." #: ../../library/dialog.rst:114 msgid "" "The above two classes provide native dialog windows for saving and loading " "files." msgstr "" +"As duas classes acima fornecem janelas de diálogo nativas para salvar e " +"carregar files." #: ../../library/dialog.rst:117 msgid "**Convenience classes**" -msgstr "" +msgstr "**Classes de conveniência**" #: ../../library/dialog.rst:119 msgid "" "The below classes are used for creating file/directory windows from scratch. " "These do not emulate the native look-and-feel of the platform." msgstr "" +"As classes abaixo são usadas para criar janelas de arquivos/diretórios desde " +"o início. Elas não emulam a aparência nativa da plataforma." #: ../../library/dialog.rst:124 msgid "Create a dialog prompting the user to select a directory." msgstr "" +"Cria uma caixa de diálogo solicitando que o usuário selecione um diretório." #: ../../library/dialog.rst:126 msgid "" "The *FileDialog* class should be subclassed for custom event handling and " "behaviour." msgstr "" +"A classe *FileDialog* deve ser uma subclasse para manipulação e " +"comportamento de eventos personalizados." #: ../../library/dialog.rst:131 msgid "Create a basic file selection dialog." -msgstr "" +msgstr "Cria uma caixa de diálogo básica de seleção de arquivo." #: ../../library/dialog.rst:135 msgid "Trigger the termination of the dialog window." -msgstr "" +msgstr "Aciona o encerramento da janela de diálogo." #: ../../library/dialog.rst:139 msgid "Event handler for double-click event on directory." -msgstr "" +msgstr "Manipulador de eventos para evento de clique duplo no diretório." #: ../../library/dialog.rst:143 msgid "Event handler for click event on directory." -msgstr "" +msgstr "Manipulador de eventos para evento de clique no diretório." #: ../../library/dialog.rst:147 msgid "Event handler for double-click event on file." -msgstr "" +msgstr "Manipulador de eventos para evento de clique duplo no arquivo." #: ../../library/dialog.rst:151 msgid "Event handler for single-click event on file." -msgstr "" +msgstr "Manipulador de eventos para evento de clique único no arquivo." #: ../../library/dialog.rst:155 msgid "Filter the files by directory." -msgstr "" +msgstr "Filtra os arquivos por diretório." #: ../../library/dialog.rst:159 msgid "Retrieve the file filter currently in use." -msgstr "" +msgstr "Recupera o filtro de arquivo atualmente em uso." #: ../../library/dialog.rst:163 msgid "Retrieve the currently selected item." -msgstr "" +msgstr "Recupera o item atualmente selecionado." #: ../../library/dialog.rst:167 msgid "Render dialog and start event loop." -msgstr "" +msgstr "Caixa de diálogo de renderização e inicia um laço de eventos." #: ../../library/dialog.rst:171 msgid "Exit dialog returning current selection." -msgstr "" +msgstr "Sai da caixa de diálogo retornando a seleção atual." #: ../../library/dialog.rst:175 msgid "Exit dialog returning filename, if any." -msgstr "" +msgstr "Sai da caixa de diálogo retornando o nome do arquivo, se houver." #: ../../library/dialog.rst:179 msgid "Set the file filter." -msgstr "" +msgstr "Define o filtro de arquivo." #: ../../library/dialog.rst:183 msgid "Update the current file selection to *file*." -msgstr "" +msgstr "Atualiza a seleção de arquivo atual para *file*." #: ../../library/dialog.rst:188 msgid "" "A subclass of FileDialog that creates a dialog window for selecting an " "existing file." msgstr "" +"Uma subclasse de FileDialog que cria uma janela de diálogo para selecionar " +"um arquivo existente." #: ../../library/dialog.rst:193 msgid "" "Test that a file is provided and that the selection indicates an already " "existing file." msgstr "" +"Testa se um arquivo é fornecido e se a seleção indica um já arquivo " +"existente." #: ../../library/dialog.rst:198 msgid "" "A subclass of FileDialog that creates a dialog window for selecting a " "destination file." msgstr "" +"Uma subclasse de FileDialog que cria uma janela de diálogo para selecionar " +"um arquivo de destino." #: ../../library/dialog.rst:203 msgid "" "Test whether or not the selection points to a valid file that is not a " "directory. Confirmation is required if an already existing file is selected." msgstr "" +"Testa se a seleção aponta ou não para um arquivo válido que não é um " +"diretório. A confirmação é necessária se um arquivo já existente for " +"selecionado." #: ../../library/dialog.rst:208 msgid ":mod:`tkinter.commondialog` --- Dialog window templates" -msgstr "" +msgstr ":mod:`tkinter.commondialog` --- Modelos de janela de diálogo" #: ../../library/dialog.rst:214 msgid "**Source code:** :source:`Lib/tkinter/commondialog.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/tkinter/commondialog.py`" #: ../../library/dialog.rst:218 msgid "" "The :mod:`tkinter.commondialog` module provides the :class:`Dialog` class " "that is the base class for dialogs defined in other supporting modules." msgstr "" +"O módulo :mod:`tkinter.commondialog` fornece a a classe :class:`Dialog`, que " +"é a classe base para diálogos definidos em outros módulos de suporte." #: ../../library/dialog.rst:225 msgid "Render the Dialog window." -msgstr "" +msgstr "Renderiza a janela de diálogo." #: ../../library/dialog.rst:230 msgid "Modules :mod:`tkinter.messagebox`, :ref:`tut-files`" -msgstr "" +msgstr "Módulos :mod:`tkinter.messagebox`, :ref:`tut-files`" diff --git a/library/dis.po b/library/dis.po index ef4bd3c67..7b3c1d99f 100644 --- a/library/dis.po +++ b/library/dis.po @@ -4,10 +4,10 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Italo Penaforte , 2021 # i17obot , 2021 # Claudio Rogerio Carvalho Filho , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -16,8 +16,7 @@ msgstr "" "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: Claudio Rogerio Carvalho Filho , " -"2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -41,10 +40,10 @@ msgid "" "is defined in the file :file:`Include/opcode.h` and used by the compiler and " "the interpreter." msgstr "" -"O módulo :mod:`dis` suporta a análise dos termos :term:`bytecode` 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 pelo " -"intérprete." +"O módulo :mod:`dis` oferece suporte à análise dos termos :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 " +"pelo interpretador." #: ../../library/dis.rst:18 msgid "" @@ -53,10 +52,10 @@ 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 intérprete do CPython. Não há " +"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 verões futuras." +"funcionará em todas as VMs do Python ou mesmo em versões do Python." #: ../../library/dis.rst:23 msgid "" diff --git a/library/functions.po b/library/functions.po index ab81ebf55..813732c03 100644 --- a/library/functions.po +++ b/library/functions.po @@ -16,6 +16,7 @@ # (Douglas da Silva) , 2021 # Katyanna Moura , 2021 # Vinicius Gubiani Ferreira , 2021 +# Porfirio_Prodigy, 2021 # Rafael Fontenelle , 2021 # #, fuzzy @@ -1444,6 +1445,10 @@ msgid "" "with two leading underscores) name in order to retrieve it with :func:" "`getattr`." msgstr "" +"Uma vez que :ref:`mutilaçã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 msgid "" @@ -2212,6 +2217,11 @@ msgid "" "handler is used when writing data. This is useful for processing files in " "an unknown encoding." msgstr "" +"representará quaisquer bytes incorretos como unidades de código substituto " +"baixo variando de U + DC80 a U + DCFF. Essas unidades de código substituto " +"serão então transformadas de volta nos mesmos bytes quando o manipulador de " +"erros for usado ao gravar dados. Isso é útil para processar arquivos em uma " +"codificação desconhecida." #: ../../library/functions.rst:1218 msgid "" @@ -2733,6 +2743,10 @@ msgid "" "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 ` " +"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 msgid "" diff --git a/library/locale.po b/library/locale.po index 3ebdf3cb1..98dd6ae1c 100644 --- a/library/locale.po +++ b/library/locale.po @@ -4,11 +4,11 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Marco Rougeth , 2021 # Welington Carlos , 2021 # Claudio Rogerio Carvalho Filho , 2021 # Italo Penaforte , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -17,7 +17,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -640,6 +640,11 @@ msgid "" "systems, and might not be available programmatically on some systems, so " "this function only returns a guess." msgstr "" +"Retorna a :term:`codificação da localidade` usada para dados de texto, de " +"acordo com as preferências do usuário. As preferências do usuário são " +"expressas de maneira diferente em sistemas diferentes e podem não estar " +"disponíveis programaticamente em alguns sistemas, portanto, essa função " +"retorna apenas uma estimativa." #: ../../library/locale.rst:323 msgid "" @@ -658,18 +663,26 @@ msgid "" "return ``'UTF-8'``, the :term:`locale encoding` and the *do_setlocale* " "argument are ignored." msgstr "" +"No Android ou se o :ref:`Modo UTF-8 do Python ` é retornado, " +"sempre retorna ``'UTF-8'``, a :term:`codificação da localidade` e o " +"argumento *do_setlocale* são ignorados." #: ../../library/locale.rst:331 msgid "" "The :ref:`Python preinitialization ` configures the LC_CTYPE " "locale. See also the :term:`filesystem encoding and error handler`." msgstr "" +"A :ref:`pré-inicialização do Python ` configura a localidade " +"LC_CTYPE. Veja também :term:`tratador de erros e codificação do sistema de " +"arquivos`." #: ../../library/locale.rst:334 msgid "" "The function now always returns ``UTF-8`` on Android or if the :ref:`Python " "UTF-8 Mode ` is enabled." msgstr "" +"A função agora sempre retorna ``UTF-8`` no Android ou se o :ref:`Modo UTF-8 " +"do Python ` estiver habilitado." #: ../../library/locale.rst:341 msgid "" @@ -826,6 +839,8 @@ msgid "" "Converts a normalized number string into a formatted string following the :" "const:`LC_NUMERIC` settings." msgstr "" +"Converte uma string numérica normalizada em uma string formatada, seguindo " +"as configurações de :const:`LC_NUMERIC`." #: ../../library/locale.rst:440 msgid "" @@ -941,6 +956,11 @@ msgid "" "broken in such a way that frequent locale changes may cause core dumps. " "This makes the locale somewhat painful to use correctly." msgstr "" +"O padrão C define a localidade como uma propriedade de todo o programa que " +"pode ser relativamente cara para alterar. Além disso, algumas implementações " +"são interrompidas de forma que mudanças frequentes de localidade podem " +"causar despejos de memória. Isso torna a localidade um tanto dolorosa de " +"usar corretamente." #: ../../library/locale.rst:527 msgid "" diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 13e0a7444..dc3268c40 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -8,9 +8,10 @@ # Hugo Santos Piauilino , 2021 # Vinicius Gubiani Ferreira , 2021 # i17obot , 2021 -# Rafael Fontenelle , 2021 # Raphael Mendonça, 2021 # Claudio Rogerio Carvalho Filho , 2021 +# Caio Fauza, 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -19,8 +20,7 @@ msgstr "" "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: Claudio Rogerio Carvalho Filho , " -"2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -31,7 +31,7 @@ msgstr "" #: ../../library/multiprocessing.rst:2 msgid ":mod:`multiprocessing` --- Process-based parallelism" -msgstr "" +msgstr ":mod:`multiprocessing` --- Paralelismo baseado em processo" #: ../../library/multiprocessing.rst:7 msgid "**Source code:** :source:`Lib/multiprocessing/`" @@ -51,6 +51,14 @@ msgid "" "module allows the programmer to fully leverage multiple processors on a " "given machine. It runs on both Unix and Windows." msgstr "" +":mod:`multiprocessing` é um pacote que suporta invocação de processos " +"utilizando uma API semelhante ao módulo :mod:`threading`. O pacote :mod:" +"`multiprocessing` oferece simultaneamente concorrência local e remota, " +"efetivamente contornando o :term:`Bloqueio Global do Interpretador `, ao utilizar subprocessos ao invés de threads. Devido a " +"isso, o módulo :mod:`multiprocessing` permite ao programador aproveitar " +"totalmente os múltiplos processadores de uma máquina. Ele funciona tanto em " +"Unix como em Windows." #: ../../library/multiprocessing.rst:23 msgid "" @@ -67,7 +75,7 @@ msgstr "" #: ../../library/multiprocessing.rst:41 msgid "will print to standard output ::" -msgstr "" +msgstr "irá exibir na saída padrão ::" #: ../../library/multiprocessing.rst:47 msgid "The :class:`Process` class" @@ -85,12 +93,16 @@ msgstr "" 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 msgid "" "For an explanation of why the ``if __name__ == '__main__'`` part is " "necessary, see :ref:`multiprocessing-programming`." msgstr "" +"Para uma explicação do porquê a parte ``if __name__ == '__main__'`` é " +"necessária, veja :ref:`multiprocessing-programming`." #: ../../library/multiprocessing.rst:91 msgid "Contexts and start methods" @@ -101,6 +113,8 @@ msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" +"Dependendo da plataforma, :mod:`multiprocessing` suporta três maneiras de " +"iniciar um processo. Estes *métodos de início* são" #: ../../library/multiprocessing.rst:106 msgid "*spawn*" @@ -118,7 +132,7 @@ msgstr "" #: ../../library/multiprocessing.rst:106 msgid "Available on Unix and Windows. The default on Windows and macOS." -msgstr "" +msgstr "Disponível para Unix e Windows. O padrão no Windows e macOS." #: ../../library/multiprocessing.rst:115 msgid "*fork*" @@ -134,7 +148,7 @@ msgstr "" #: ../../library/multiprocessing.rst:115 msgid "Available on Unix only. The default on Unix." -msgstr "" +msgstr "Disponível apenas para Unix. O padrão no Unix." #: ../../library/multiprocessing.rst:126 msgid "*forkserver*" @@ -148,12 +162,20 @@ msgid "" "process. The fork server process is single threaded so it is safe for it to " "use :func:`os.fork`. No unnecessary resources are inherited." msgstr "" +"Quando o programa é inicializado e seleciona o método de início " +"*forkserver*, um processo de servidor é inicializado. A partir disso, sempre " +"que um novo processo é necessário, o processo pai conecta-se ao servidor e " +"solicita que um novo processo seja feito im fork. O fork do processo do " +"servidor é de thread único, então é seguro utilizar :func:`os.fork`. Nenhum " +"recurso desnecessário é herdado." #: ../../library/multiprocessing.rst:125 msgid "" "Available on Unix platforms which support passing file descriptors over Unix " "pipes." msgstr "" +"Disponível em plataformas Unix que suportam a passagem de descritores de " +"arquivo em Unix pipes." #: ../../library/multiprocessing.rst:130 msgid "" @@ -215,6 +237,9 @@ msgid "" "A library which wants to use a particular start method should probably use :" "func:`get_context` to avoid interfering with the choice of the library user." msgstr "" +"Uma biblioteca que deseja utilizar um método de início específico " +"provavelmente deve utilizar :func:`get_context` para evitar interferir na " +"escolha do usuário." #: ../../library/multiprocessing.rst:202 msgid "" @@ -226,7 +251,7 @@ msgstr "" #: ../../library/multiprocessing.rst:209 msgid "Exchanging objects between processes" -msgstr "" +msgstr "Trocando objetos entre processos" #: ../../library/multiprocessing.rst:211 msgid "" @@ -243,6 +268,8 @@ msgid "" "The :class:`Queue` class is a near clone of :class:`queue.Queue`. For " "example::" msgstr "" +"A classe :class:`Queue` é quase um clone de :class:`queue.Queue`. Por " +"exemplo::" #: ../../library/multiprocessing.rst:231 msgid "Queues are thread and process safe." @@ -284,10 +311,12 @@ 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." #: ../../library/multiprocessing.rst:287 msgid "Sharing state between processes" -msgstr "" +msgstr "Compartilhando estado entre processos" #: ../../library/multiprocessing.rst:289 msgid "" @@ -295,12 +324,18 @@ msgid "" "avoid using shared state as far as possible. This is particularly true when " "using multiple processes." msgstr "" +"Conforme mencionado acima, ao fazer programação concorrente, geralmente é " +"melhor evitar o uso de estado compartilhado, tanto quanto possível. Isso é " +"particularmente verdadeiro ao utilizar múltiplos processos." #: ../../library/multiprocessing.rst:293 msgid "" "However, if you really do need to use some shared data then :mod:" "`multiprocessing` provides a couple of ways of doing so." msgstr "" +"No entanto, se você realmente precisa utilizar algum compartilhamento de " +"dados, então :mod:`multiprocessing` fornece algumas maneiras de se fazer " +"isso." #: ../../library/multiprocessing.rst:296 msgid "**Shared memory**" @@ -311,6 +346,9 @@ msgid "" "Data can be stored in a shared memory map using :class:`Value` or :class:" "`Array`. For example, the following code ::" msgstr "" +"Os dados podem ser armazenados em um mapa de memória compartilhado " +"utilizando :class:`Value` ou :class:`Array`. Por exemplo, o código a " +"seguir ::" #: ../../library/multiprocessing.rst:319 ../../library/multiprocessing.rst:365 msgid "will print ::" @@ -330,6 +368,9 @@ msgid "" "`multiprocessing.sharedctypes` module which supports the creation of " "arbitrary ctypes objects allocated from shared memory." msgstr "" +"Para mais flexibilidade no uso de memória compartilhada, pode-se utilizar o " +"módulo :mod:`multiprocessing.sharedctypes`, que suporta a criação de objetos " +"ctypes arbritários alocados da memória compartilhada." #: ../../library/multiprocessing.rst:333 msgid "**Server process**" @@ -416,6 +457,9 @@ msgid "" "class:`Process` class has equivalents of all the methods of :class:" "`threading.Thread`." msgstr "" +"Objetos processo representam atividades que são executadas em um processo " +"separado. A classe :class:`Process` possui equivalentes de todos os métodos " +"de :class:`threading.Thread`." #: ../../library/multiprocessing.rst:477 msgid "" @@ -433,7 +477,7 @@ msgstr "" #: ../../library/multiprocessing.rst:488 msgid "By default, no arguments are passed to *target*." -msgstr "" +msgstr "Por padrão, nenhum argumento é passado para *target*." #: ../../library/multiprocessing.rst:490 msgid "" @@ -444,11 +488,11 @@ msgstr "" #: ../../library/multiprocessing.rst:494 msgid "Added the *daemon* argument." -msgstr "" +msgstr "Adicionado o argumento *daemon*." #: ../../library/multiprocessing.rst:499 msgid "Method representing the process's activity." -msgstr "" +msgstr "Método que representa a atividade do processo." #: ../../library/multiprocessing.rst:501 msgid "" @@ -460,7 +504,7 @@ msgstr "" #: ../../library/multiprocessing.rst:508 msgid "Start the process's activity." -msgstr "" +msgstr "Inicia a atividade do processo." #: ../../library/multiprocessing.rst:510 msgid "" @@ -504,7 +548,7 @@ msgstr "" #: ../../library/multiprocessing.rst:540 msgid "Return whether the process is alive." -msgstr "" +msgstr "Retorna se o processo está ativo." #: ../../library/multiprocessing.rst:542 msgid "" diff --git a/library/netdata.po b/library/netdata.po index 319e650eb..37ac1fc60 100644 --- a/library/netdata.po +++ b/library/netdata.po @@ -5,6 +5,7 @@ # # Translators: # Claudio Rogerio Carvalho Filho , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -13,8 +14,7 @@ msgstr "" "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: Claudio Rogerio Carvalho Filho , " -"2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -32,3 +32,5 @@ msgid "" "This chapter describes modules which support handling data formats commonly " "used on the internet." msgstr "" +"Este capítulo descreve módulos que suportam a manipulação de formatos de " +"dados comumente usados na Internet." diff --git a/library/pathlib.po b/library/pathlib.po index bd79f7857..aabe58389 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -4,10 +4,10 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Marco Rougeth , 2021 # Claudio Rogerio Carvalho Filho , 2021 # i17obot , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -16,7 +16,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -372,6 +372,8 @@ msgid "" "The parents sequence now supports :term:`slices ` and negative index " "values." msgstr "" +"A sequência pai agora tem suporte :term:`fatias ` e valores de índice " +"negativos." #: ../../library/pathlib.rst:344 msgid "The logical parent of the path::" @@ -639,6 +641,10 @@ msgid "" "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." #: ../../library/pathlib.rst:721 msgid "" @@ -655,14 +661,17 @@ msgid "" "This method normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :meth:`~Path.lstat`." msgstr "" +"Este método normalmente segue links simbólicos; para obter estado de um link " +"simbólico, adicione o argumento ``follow_symlinks=False``, ou use :meth:" +"`~Path.lstat`." #: ../../library/pathlib.rst:735 ../../library/pathlib.rst:755 msgid "The *follow_symlinks* parameter was added." -msgstr "" +msgstr "O parâmetro *follow_symlinks* foi adicionado." #: ../../library/pathlib.rst:740 msgid "Change the file mode and permissions, like :func:`os.chmod`." -msgstr "" +msgstr "Altera o modo de arquivo e as permissões, como :func:`os.chmod`." #: ../../library/pathlib.rst:742 msgid "" @@ -670,6 +679,10 @@ msgid "" "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 " +"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`." #: ../../library/pathlib.rst:760 msgid "Whether the path points to an existing file or directory::" diff --git a/library/pydoc.po b/library/pydoc.po index c108bcff7..3ae916e6a 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -36,6 +36,9 @@ msgid "" "modules. The documentation can be presented as pages of text on the " "console, served to a web browser, or saved to HTML files." msgstr "" +"O módulo :mod:`pydoc` gera automaticamente a documentação dos módulos " +"Python. A documentação pode ser apresentada como páginas de texto no " +"console, servida em um navegador web ou salva em arquivos HTML." #: ../../library/pydoc.rst:23 msgid "" @@ -144,6 +147,12 @@ msgid "" "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://" +"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 "" diff --git a/library/socket.po b/library/socket.po index 4d29b9944..40aa590e4 100644 --- a/library/socket.po +++ b/library/socket.po @@ -8,7 +8,6 @@ # Claudio Rogerio Carvalho Filho , 2021 # Leticia Portella , 2021 # Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 # Hildeberto Abreu Magalhães , 2021 # And Past , 2021 # felipe caridade , 2021 @@ -17,6 +16,7 @@ # Augusta Carla Klug , 2021 # i17obot , 2021 # yyyyyyyan , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -25,7 +25,7 @@ msgstr "" "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: yyyyyyyan , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -1600,7 +1600,7 @@ msgstr "" #: ../../library/socket.rst:0 msgid "platform" -msgstr "" +msgstr "platform" #: ../../library/socket.rst:1355 msgid "Windows" diff --git a/library/sqlite3.po b/library/sqlite3.po index 97bbf1b6f..9c12493c4 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -12,6 +12,7 @@ # Marcos Wenneton Araújo , 2021 # i17obot , 2021 # Marco Rougeth , 2021 +# Porfirio_Prodigy, 2021 # #, fuzzy msgid "" @@ -20,7 +21,7 @@ msgstr "" "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: Marco Rougeth , 2021\n" +"Last-Translator: Porfirio_Prodigy, 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -35,7 +36,7 @@ msgstr "" #: ../../library/sqlite3.rst:9 msgid "**Source code:** :source:`Lib/sqlite3/`" -msgstr "" +msgstr "Código fonte" #: ../../library/sqlite3.rst:13 msgid "" diff --git a/library/stdtypes.po b/library/stdtypes.po index e8f1adc76..d2cbd3ca6 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -7193,23 +7193,27 @@ msgstr "Ao comparar uniões, a ordem é ignorada::" #: ../../library/stdtypes.rst:5017 msgid "It is compatible with :data:`typing.Union`::" -msgstr "" +msgstr "É compatível com :data:`typing.Union`::" #: ../../library/stdtypes.rst:5021 msgid "Optional types can be spelled as a union with ``None``::" -msgstr "" +msgstr "Tipos opcionais podem ser escritos como uma união com ``None``::" #: ../../library/stdtypes.rst:5028 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" msgstr "" +"Chamadas para :func:`isinstance` e :func:`issubclass` também são suportados " +"com um objeto união::" #: ../../library/stdtypes.rst:5034 msgid "" "However, union objects containing :ref:`parameterized generics ` cannot be used::" msgstr "" +"No entanto, objetos união contendo :ref:`genéricos parametrizados ` não podem ser usados::" #: ../../library/stdtypes.rst:5042 msgid "" @@ -7217,6 +7221,9 @@ msgid "" "UnionType` and used for :func:`isinstance` checks. An object cannot be " "instantiated from the type::" msgstr "" +"O tipo exposto ao usuário para o objeto união pode ser acessado a partir de :" +"data:`types.UnionType` e usado por verificações de :func:`isinstance`. Um " +"objeto não pode ser instanciado a partir do tipo::" #: ../../library/stdtypes.rst:5055 msgid "" @@ -7224,10 +7231,13 @@ msgid "" "``X | Y``. If a metaclass implements :meth:`__or__`, the Union may override " "it::" msgstr "" +"O método :meth:`__or__` para objetos de tipo foi adicionado para suportar a " +"sintaxe ``X | Y``. Se uma metaclasse implementa :meth:`__or__`, a União pode " +"substituí-la::" #: ../../library/stdtypes.rst:5073 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." -msgstr "" +msgstr ":pep:`604` -- PEP propondo a sintaxe ``X | Y`` e o tipo União." #: ../../library/stdtypes.rst:5081 msgid "Other Built-in Types" diff --git a/library/threading.po b/library/threading.po index 95f48015e..786eaf29b 100644 --- a/library/threading.po +++ b/library/threading.po @@ -4,7 +4,6 @@ # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 # Hildeberto Abreu Magalhães , 2021 # Sheila Gomes , 2021 # Claudio Rogerio Carvalho Filho , 2021 @@ -12,6 +11,8 @@ # Vinicius Gubiani Ferreira , 2021 # Fabio Aragao , 2021 # i17obot , 2021 +# Caio Fauza, 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -20,7 +21,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -268,14 +269,14 @@ msgstr "" "threads criados posteriormente e deve ser 0 (usar plataforma ou padrão " "configurado) ou um valor inteiro positivo de pelo menos 32.768 (32 KiB). Se " "*size* não for especificado, 0 será usado. Se a alteração do tamanho da " -"pilha de threads não for suportada, um :exc:`RuntimeError` será gerado. Se o " -"tamanho da pilha especificado for inválido, um :exc:`ValueError` será " -"aumentado e o tamanho da pilha não será modificado. Atualmente, 0 KiB é o " +"pilha de threads não for suportada, uma :exc:`RuntimeError` será levantada. " +"Se o tamanho da pilha especificado for inválido, uma :exc:`ValueError` será " +"levantada e o tamanho da pilha não será modificado. Atualmente, 0 KiB é o " "valor mínimo de tamanho de pilha suportado para garantir espaço suficiente " -"para o próprio intérprete. Observe que algumas plataformas podem ter " +"para o próprio interpretador. Observe que algumas plataformas podem ter " "restrições específicas sobre valores para o tamanho da pilha, como exigir um " "tamanho mínimo de pilha > 32 KiB ou exigir alocação em múltiplos do tamanho " -"da página de memória do sistema - a documentação da plataforma deve ser " +"da página de memória do sistema -- a documentação da plataforma deve ser " "consultada para obter mais informações (4 páginas KiB são comuns; usar " "múltiplos de 4096 para o tamanho da pilha é a abordagem sugerida na ausência " "de informações mais específicas)." @@ -483,7 +484,7 @@ msgstr "" #: ../../library/threading.rst:333 msgid "Added the *daemon* argument." -msgstr "" +msgstr "Adicionado o argumento *daemon*." #: ../../library/threading.rst:338 msgid "Start the thread's activity." diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index dab322419..00b72c550 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -11,8 +11,8 @@ # Claudio Rogerio Carvalho Filho , 2021 # Philippe Gonzaga , 2021 # Danilo Lima , 2021 -# Rafael Fontenelle , 2021 # Luca Farah, 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -21,7 +21,7 @@ msgstr "" "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: Luca Farah, 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -54,6 +54,9 @@ msgid "" "possible, the code implementing a widget's behavior from the code " "implementing its appearance." msgstr "" +"A ideia básica para :mod:`tkinter.ttk` é separar, na medida do possível, o " +"código que implementa o comportamento de widget do código que implementa sua " +"aparência." #: ../../library/tkinter.ttk.rst:29 msgid "" @@ -62,7 +65,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:30 msgid "A document introducing theming support for Tk" -msgstr "" +msgstr "Um documento que apresenta o suporte de temas para Tk" #: ../../library/tkinter.ttk.rst:34 msgid "Using Ttk" @@ -70,12 +73,14 @@ msgstr "Usando Ttk" #: ../../library/tkinter.ttk.rst:36 msgid "To start using Ttk, import its module::" -msgstr "Para começar a usar Ttk, importe seu modulo::" +msgstr "Para começar a usar Ttk, importe seu módulo::" #: ../../library/tkinter.ttk.rst:40 msgid "" "To override the basic Tk widgets, the import should follow the Tk import::" msgstr "" +"Para substituir os widgets básicos do Tk, a importação deve seguir a " +"importação do Tk::" #: ../../library/tkinter.ttk.rst:45 msgid "" diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 000000000..ed7696ee9 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# Build translated version of Python Docs + +[ -n "$GITHUB_ACTIONS" ] && set -x +set -e + +# Allow language being passed as 1st argument, defaults to pt_BR +LANGUAGE=${1:-pt_BR} + +ROOTDIR="$(dirname $0)/.." + +cd ${ROOTDIR} + +test -f cpython/Doc/conf.py || ( echo Unable to find proper CPython Doc folder; exit 1; ) + +pofiles=$(find . -maxdepth 2 -name '*.po' | sort -u) + +for po in ${pofiles}; do + install -Dm644 ${po} "cpython/Doc/locales/${LANGUAGE}/LC_MESSAGES/${po}" +done + +sphinx-build -b html -d build/doctrees -q --keep-going -jauto -D locale_dirs=locales -D language=pt_BR -D gettext_compact=0 -D latex_engine=xelatex -D latex_elements.inputenc= -D latex_elements.fontenc= -W cpython/Doc cpython/Doc/build/html + +if [ -z "$GITHUB_ACTIONS" ]; then + echo "See file:/$(realpath ${ROOTDIR})/cpython/Doc/build/html/index.html" + echo "or serve it in http://localhost:8080 by running:" + echo "python3 cpython/Tools/scripts/serve.py cpython/Doc/build/html" +fi diff --git a/scripts/prepmsg.sh b/scripts/prepmsg.sh new file mode 100644 index 000000000..4cbb65e87 --- /dev/null +++ b/scripts/prepmsg.sh @@ -0,0 +1,20 @@ +#!/bin/sh +# Prepare message for Telegram notification +set -ex + +[ $# -ne 2 ] && ( echo "Expected 1 input and 1 output files, got $#"; exit; ) +[ ! -f $1 ] && ( echo "Input file $1 not found, skipping."; exit; ) +[ -z "${GITHUB_REPOSITORY}" ] && (echo "GITHUB_REPOSITORY is empty."; exit 1;) +[ -z "${GITHUB_RUN_ID}" ] && (echo "GITHUB_RUN_ID is empty."; exit 1;) +[ -z "${GITHUB_JOB}" ] && (echo "GITHUB_JOB is empty."; exit 1;) + +URL="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" + +echo "❌ *${GITHUB_JOB}* (ID [${GITHUB_RUN_ID}]($URL)):" > $2 +echo "" >> $2 +grep 'cpython/Doc/.*WARNING:' $1 | \ + sed 's|.*/cpython/Doc|Doc|' | \ + uniq | \ + sed 's|^|```\n|;s|$|\n```\n|' \ + >> $2 +echo "" >> $2 diff --git a/scripts/update.sh b/scripts/update.sh new file mode 100755 index 000000000..acad1a47e --- /dev/null +++ b/scripts/update.sh @@ -0,0 +1,37 @@ +#!/bin/sh +# Pull catalog message files from Transifex + +[ -n "$GITHUB_ACTIONS" ] && set -x +set -e + +# Allow language being passed as 1st argument, defaults to pt_BR +LANGUAGE=${1:-pt_BR} + +ROOTDIR=$(dirname $0)/.. + +cd ${ROOTDIR} + +if ! test -f cpython/Doc/conf.py; then + echo Unable to find proper CPython Doc folder + exit 1 +fi + +# Create POT Files +cd cpython/Doc +sphinx-build -E -b gettext -D gettext_compact=0 -d build/.doctrees . locales/pot + +# Update CPython's .tx/config +cd locales +sphinx-intl create-txconfig +sphinx-intl update-txconfig-resources -p pot -d . --transifex-project-name python-newest + +# Update the translation project's .tx/config +cd ../../.. # back to $ROOTDIR +mkdir -p .tx +sed cpython/Doc/locales/.tx/config \ + -e '/^source_file/d' \ + -e 's|/LC_MESSAGES/||' \ + -e "s|^file_filter|trans.${LANGUAGE}|" \ + > .tx/config + +tx pull -l ${LANGUAGE} --use-git-timestamps --parallel diff --git a/using/configure.po b/using/configure.po index a2e05c632..8acebabf8 100644 --- a/using/configure.po +++ b/using/configure.po @@ -3,6 +3,9 @@ # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # +# Translators: +# Rafael Fontenelle , 2021 +# #, fuzzy msgid "" msgstr "" @@ -10,6 +13,7 @@ msgstr "" "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/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -20,77 +24,93 @@ msgstr "" #: ../../using/configure.rst:3 msgid "Configure Python" -msgstr "" +msgstr "Configurar o Python" #: ../../using/configure.rst:8 msgid "Configure Options" -msgstr "" +msgstr "Opções de configuração" #: ../../using/configure.rst:10 msgid "List all ``./configure`` script options using::" -msgstr "" +msgstr "Liste todas as opções do ``./configure`` usando::" #: ../../using/configure.rst:14 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." #: ../../using/configure.rst:17 msgid "General Options" -msgstr "" +msgstr "Opções gerais" #: ../../using/configure.rst:21 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` " +"(desabilitado por padrão)." #: ../../using/configure.rst:24 msgid "" "See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" "`sqlite3` module." msgstr "" +"Veja o método :meth:`sqlite3.Connection.enable_load_extension` do módulo :" +"mod:`sqlite3`." #: ../../using/configure.rst:31 msgid "" "Disable IPv6 support (enabled by default if supported), see the :mod:" "`socket` module." msgstr "" +"Desabilita suporte a IPv6 (habilitado por padrão se houver suporte), veja o " +"módulo :mod:`socket`." #: ../../using/configure.rst:36 msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." msgstr "" +"Define o tamanho em bits dos dígitos de :class:`int` do Python: 15 ou 30 " +"bits." #: ../../using/configure.rst:38 msgid "" "By default, the number of bits is selected depending on ``sizeof(void*)``: " "30 bits if ``void*`` size is 64-bit or larger, 15 bits otherwise." msgstr "" +"Por padrão, o número de bits é selecionado dependendo de ``sizeof(void*)``: " +"30 bits se o tamanho de ``void*`` for 64 bits ou maior, 15 bits caso " +"contrário." #: ../../using/configure.rst:41 msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." -msgstr "" +msgstr "Define o ``PYLONG_BITS_IN_DIGIT`` para ``15`` ou ``30``." #: ../../using/configure.rst:43 msgid "See :data:`sys.int_info.bits_per_digit `." -msgstr "" +msgstr "Veja :data:`sys.int_info.bits_per_digit `." #: ../../using/configure.rst:48 msgid "" "Compile the Python ``main()`` function and link Python executable with C++ " "compiler: ``$CXX``, or *COMPILER* if specified." msgstr "" +"Compila a função ``main()`` do Python e vincula o executável do Python ao " +"compilador C++: ``$CXX`` ou *COMPILER* se especificado." #: ../../using/configure.rst:53 msgid "Set the Python executable suffix to *SUFFIX*." -msgstr "" +msgstr "Define o sufixo do executável do Python para *SUFFIX*." #: ../../using/configure.rst:55 msgid "" "The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " "executable), and an empty string on other platforms (``python`` executable)." msgstr "" +"O sufixo padrão é ``.exe`` no Windows e macOS (executável ``python.exe``), e " +"uma string vazia em outras plataformas (executável ``python``)." #: ../../using/configure.rst:60 msgid "" @@ -98,30 +118,40 @@ msgid "" "the :ref:`Compile-time configuration ` of " "the :mod:`zoneinfo` module." msgstr "" +"Seleciona o caminho de pesquisa de fuso horário padrão para :data:`zoneinfo." +"TZPATH`. Veja a :ref:`Configuração de tempo de compilação " +"` do módulo :mod:`zoneinfo`." #: ../../using/configure.rst:64 msgid "" "Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." msgstr "" +"Padrão: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/" +"zoneinfo``." #: ../../using/configure.rst:66 msgid "See :data:`os.pathsep` path separator." -msgstr "" +msgstr "Veja o separador de caminhos :data:`os.pathsep`." #: ../../using/configure.rst:72 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`." #: ../../using/configure.rst:75 msgid "See :data:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." -msgstr "" +msgstr "Veja :data:`decimal.HAVE_CONTEXTVAR` e o módulo :mod:`contextvars`." #: ../../using/configure.rst:81 msgid "Override order to check db backends for the :mod:`dbm` module" msgstr "" +"Substitui a ordem de verificação de backends de banco de dados para o " +"módulo :mod:`dbm`" #: ../../using/configure.rst:83 msgid "" diff --git a/using/windows.po b/using/windows.po index 7a7e3eddf..588baa7f9 100644 --- a/using/windows.po +++ b/using/windows.po @@ -5,12 +5,12 @@ # # Translators: # Danilo Lima , 2021 -# Rafael Fontenelle , 2021 # Raphael Mendonça, 2021 # Marco Rougeth , 2021 # Claudio Rogerio Carvalho Filho , 2021 # felipe caridade , 2021 # Julia Rizza , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -19,7 +19,7 @@ msgstr "" "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: Julia Rizza , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -466,7 +466,7 @@ msgstr "Shortcuts (atalhos)" #: ../../using/windows.rst:172 msgid "" "Create shortcuts for the interpreter, documentation and IDLE if installed." -msgstr "Crie atalhos para o intérprete, documentação e IDLE se instalado." +msgstr "Crie atalhos para o interpretador, documentação e IDLE se instalado." #: ../../using/windows.rst:175 msgid "Include_doc" @@ -1418,12 +1418,21 @@ msgid "" "environment variable. See :envvar:`PYTHONUTF8` for enabling UTF-8 mode, " "and :ref:`setting-envvars` for how to modify environment variables." msgstr "" +"Você pode usar o :ref:`Modo UTF-8 do Python ` para alterar a " +"codificação de texto padrão para UTF-8. Você pode habilitar :ref:`Modo UTF-8 " +"do Python ` através da opção de linha de comando ``-X utf8`` ou " +"da variável de ambiente ``PYTHONUTF8=1``. Veja :envvar:`PYTHONUTF8` para " +"habilitar o modo UTF-8, e :ref:`setting-envvars` para saber como modificar " +"variáveis de ambiente." #: ../../using/windows.rst:628 msgid "" "When the :ref:`Python UTF-8 Mode ` is enabled, you can still use " "the system encoding (the ANSI Code Page) via the \"mbcs\" codec." msgstr "" +"Quando o :ref:`Modo UTF-8 do Python ` está habilitado, você ainda " +"pode usar a codificação do sistema (a página de código ANSI) através do " +"codec \"mbcs\"." #: ../../using/windows.rst:631 msgid "" @@ -1457,6 +1466,8 @@ msgid "" "The :term:`filesystem encoding ` " "(see :pep:`529` for details)." msgstr "" +"A :term:`codificação do sistema de arquivos ` (veja a :pep:`529` para detalhes)." #: ../../using/windows.rst:649 msgid "Python Launcher for Windows" diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index 198d40fea..62709a350 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -1591,6 +1591,8 @@ msgid "" "The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " "by Christian Heimes in :issue:`38820` and other issues.)" 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 msgid "" @@ -1598,6 +1600,10 @@ msgid "" "the future PBKDF2-HMAC will only be available when Python has been built " "with OpenSSL support. (Contributed by Christian Heimes in :issue:`43880`.)" msgstr "" +"A alternativa puramente Python de :func:`~hashlib.pbkdf2_hmac` foi " +"descontinuada. No futuro, o PBKDF2-HMAC só estará disponível quando o Python " +"for desenvolvido com suporte a OpenSSL. (Contribuição de Christian Heimes " +"em :issue:`43880`.)" #: ../../whatsnew/3.10.rst:1065 msgid "hmac" @@ -1608,6 +1614,8 @@ msgid "" "The hmac module now uses OpenSSL's HMAC implementation internally. " "(Contributed by Christian Heimes in :issue:`40645`.)" 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 msgid "IDLE and idlelib" @@ -1618,6 +1626,9 @@ msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " "hooks were previously ignored. (Patch 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`.)" #: ../../whatsnew/3.10.rst:1077 msgid "This change was backported to a 3.9 maintenance release." @@ -1633,6 +1644,14 @@ msgid "" "the selected text. This option also appears on the context menu for the " "text. (Contributed by Tal Einat in :issue:`37903`.)" msgstr "" +"Adiciona uma barra lateral ao console. Move o prompt principal ('>>>') para " +"a barra lateral. Adiciona prompts secundários ('...') à barra lateral. " +"Clicar com o botão esquerdo e opcionalmente arrastar seleciona uma ou mais " +"linhas de texto, como na barra lateral do número da linha do editor. Clicar " +"com o botão direito após selecionar as linhas de texto exibe um menu de " +"contexto com \"copy with prompts\". Isso compacta os prompts da barra " +"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 msgid "" @@ -1641,12 +1660,18 @@ msgid "" "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 msgid "" @@ -1656,16 +1681,23 @@ msgid "" "incorrect in some rare cases, including some ``_``-s in ``case`` patterns. " "(Contributed by Tal Einat in bpo-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.)" #: ../../whatsnew/3.10.rst:1103 msgid "importlib.metadata" -msgstr "" +msgstr "importlib.metadata" #: ../../whatsnew/3.10.rst:1105 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." msgstr "" +"Paridade de recursos com ``importlib_metadata`` 4.6 (`histórico `_)." #: ../../whatsnew/3.10.rst:1108 msgid "" @@ -1674,6 +1706,11 @@ msgid "" "`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." #: ../../whatsnew/3.10.rst:1114 msgid "" @@ -1681,6 +1718,9 @@ msgid "" "level Python modules and packages to their :class:`importlib.metadata." "Distribution`." msgstr "" +"Adicionada :func:`importlib.metadata.packages_distributions` para resolver " +"módulos e pacotes Python de alto nível com suas :class:`importlib.metadata." +"Distribution`." #: ../../whatsnew/3.10.rst:1119 msgid "inspect" @@ -1703,10 +1743,24 @@ msgid "" "stringize stringized annotations. (Contributed by Larry Hastings in :issue:" "`43817`.)" msgstr "" +"Adiciona :func:`inspect.get_annotations`, que calcula com segurança as " +"anotações definidas em um objeto. Ele contorna as peculiaridades de acessar " +"as anotações em vários tipos de objetos e faz poucas suposições sobre o " +"objeto que examina. :func:`inspect.get_annotations` também pode desfazer a " +"string corretamente de anotações em string. :func:`inspect.get_annotations` " +"agora é considerada a melhor prática para acessar o dict de anotações " +"definido em qualquer objeto Python; para mais informações sobre as melhores " +"práticas para trabalhar com anotações, consulte :ref:`annotations-howto`. Da " +"mesma forma, :func:`inspect.signature`, :func:`inspect.Signature." +"from_callable` e :func:`inspect.Signature.from_function` agora chamam :func:" +"`inspect.get_annotations` para recuperar anotações. Isso significa que :func:" +"`inspect.signature` e :func:`inspect.Signature.from_callable` agora também " +"podem remover a string de anotações em string. (Contribuição de Larry " +"Hastings em :issue:`43817`.)" #: ../../whatsnew/3.10.rst:1140 msgid "linecache" -msgstr "" +msgstr "linecache" #: ../../whatsnew/3.10.rst:1146 msgid "os" @@ -1717,6 +1771,8 @@ msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" 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 msgid "" @@ -1724,6 +1780,9 @@ msgid "" "``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" "`41001`.)" msgstr "" +"Adiciona uma nova função :func:`os.eventfd` e auxiliares relacionados para " +"envolver a chamada de sistema ``eventfd2`` no Linux. (Contribuição de " +"Christian Heimes em :issue:`41001`.)" #: ../../whatsnew/3.10.rst:1155 msgid "" @@ -1732,6 +1791,10 @@ msgid "" "space, where one of the file descriptors must refer to a pipe. (Contributed " "by Pablo Galindo in :issue:`41625`.)" msgstr "" +"Adiciona :func:`os.splice()` que permite mover dados entre dois descritores " +"de arquivo sem copiar entre o espaço de endereço do kernel e o espaço de " +"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 msgid "" @@ -1739,6 +1802,9 @@ msgid "" "data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" "`43106`.)" msgstr "" +"Adiciona :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` " +"e :data:`~os.O_NOFOLLOW_ANY` para macOS. (Contribuição de Dong-hee Na em :" +"issue:`43106`.)" #: ../../whatsnew/3.10.rst:1165 msgid "os.path" @@ -1750,6 +1816,10 @@ msgid "" "set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " "symlink loop is encountered. (Contributed by Barney Gale in :issue:`43757`.)" msgstr "" +":func:`os.path.realpath` agora aceita um argumento somente-nomeado *strict*. " +"Quando definido como ``True``, a exceção :exc:`OSError` é levantada se um " +"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 msgid "pathlib" @@ -1760,12 +1830,16 @@ msgid "" "Add slice support to :attr:`PurePath.parents `. " "(Contributed by Joshua Cannon in :issue:`35498`)" msgstr "" +"Adiciona suporte a fatiar a :attr:`PurePath.parents `. (Contribuição de Joshua Cannon em :issue:`35498`)" #: ../../whatsnew/3.10.rst:1178 msgid "" "Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`)" msgstr "" +"Adiciona suporte a indexação negativa a :attr:`PurePath.parents `. (Contribuição de Yaroslav Pankovych em :issue:`21041`)" #: ../../whatsnew/3.10.rst:1182 msgid "" @@ -1774,6 +1848,10 @@ msgid "" "argument order as :meth:`~pathlib.Path.symlink_to`. (Contributed by Barney " "Gale in :issue:`39950`.)" msgstr "" +"Adiciona o método :meth:`Path.hardlink_to ` que " +"substitui :meth:`~pathlib.Path.link_to`. O novo método tem a mesma ordem de " +"argumentos que :meth:`~pathlib.Path.symlink_to`. (Contribuição de Barney " +"Gale em :issue:`39950`.)" #: ../../whatsnew/3.10.rst:1187 msgid "" @@ -1782,10 +1860,14 @@ msgid "" "functions in the :mod:`os` module. (Contributed by Barney Gale in :issue:" "`39906`.)" msgstr "" +":meth:`pathlib.Path.stat` e :meth:`~pathlib.Path.chmod` agora aceita um " +"argumento somente-nomeado *follow_symlinks* para consistência com as funções " +"correspondentes no módulo :mod:`os`. (Contribuição de Barney Gale em :issue:" +"`39906`.)" #: ../../whatsnew/3.10.rst:1193 msgid "platform" -msgstr "" +msgstr "platform" #: ../../whatsnew/3.10.rst:1195 msgid "" @@ -1794,6 +1876,10 @@ msgid "" "software/systemd/man/os-release.html>`_ standard file. (Contributed by " "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`)" #: ../../whatsnew/3.10.rst:1201 msgid "pprint" @@ -1804,12 +1890,16 @@ msgid "" ":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " "argument. (Contributed by sblondon in :issue:`42914`.)" msgstr "" +":func:`pprint.pprint` agora aceita um novo argumento nomeado " +"``underscore_numbers``. (Contribuição de sblondon em :issue:`42914`.)" #: ../../whatsnew/3.10.rst:1206 msgid "" ":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " "(Contributed by Lewis Gaul in :issue:`43080`.)" msgstr "" +":mod:`pprint` agora pode fazer impressão bonita de instâncias de :class:" +"`dataclasses.dataclass`. (Contribuição de Lewis Gaul em :issue:`43080`.)" #: ../../whatsnew/3.10.rst:1210 msgid "py_compile" @@ -1820,10 +1910,12 @@ msgid "" "Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " "(Contributed by Gregory Schevchenko in :issue:`38731`.)" msgstr "" +"Adiciona a opção ``--quiet`` à interface de linha de comando de :mod:" +"`py_compile`. (Contribuição de Gregory Schevchenko em :issue:`38731`.)" #: ../../whatsnew/3.10.rst:1216 msgid "pyclbr" -msgstr "" +msgstr "pyclbr" #: ../../whatsnew/3.10.rst:1218 msgid "" @@ -1832,6 +1924,10 @@ msgid "" "readline_ex`. It matches the existing (start) ``lineno``. (Contributed by " "Aviral Srivastava in :issue:`38307`.)" msgstr "" +"Adiciona um atributo ``end_lineno`` aos objetos ``Function`` e ``Class`` na " +"árvore retornada por :func:`pyclbr.readline` e :func:`pyclbr.readline_ex`. " +"Isso corresponde ao ``lineno`` (início) existente. (Contribuição de Aviral " +"Srivastava em :issue:`38307`.)" #: ../../whatsnew/3.10.rst:1224 msgid "shelve" @@ -1843,6 +1939,9 @@ msgid "" "instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " "by Zackery Spytz in :issue:`34204`.)" msgstr "" +"O módulo :mod:`shelve` agora usa :data:`pickle.DEFAULT_PROTOCOL` por padrão " +"em vez do protocolo ``3`` do :mod:`pickle` ao criar \"shelves\". " +"(Contribuição de Zackery Spytz em :issue:`34204`.)" #: ../../whatsnew/3.10.rst:1231 msgid "statistics" @@ -1854,10 +1953,13 @@ msgid "" "correlation`, and simple :func:`~statistics.linear_regression` functions. " "(Contributed by Tymoteusz Wołodźko in :issue:`38490`.)" msgstr "" +"Adiciona :func:`~statistics.covariance`, :func:`~statistics.correlation` do " +"Pearson, e funções simples :func:`~statistics.linear_regression`. " +"(Contribuição de Tymoteusz Wołodźko em :issue:`38490`.)" #: ../../whatsnew/3.10.rst:1239 msgid "site" -msgstr "" +msgstr "site" #: ../../whatsnew/3.10.rst:1245 msgid "socket" @@ -1868,18 +1970,24 @@ msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " "(Contributed by Christian Heimes in :issue:`42413`.)" 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 msgid "" "Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " "Rui Cunha in :issue:`43571`.)" 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 msgid "" "Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " "fields (Contributed by Georg Sauthoff in :issue:`44077`.)" 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 msgid "ssl" @@ -1890,6 +1998,8 @@ msgid "" "The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " "Heimes in :pep:`644` and :issue:`43669`.)" 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 msgid "" @@ -1898,6 +2008,10 @@ msgid "" "issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" "`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)" msgstr "" +"O módulo ssl tem um suporte preliminar para OpenSSL 3.0.0 e a nova opção :" +"data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contribuição de Christian Heimes em :" +"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" +"`43799`, :issue:`43920`, :issue:`43789` e :issue:`43811`.)" #: ../../whatsnew/3.10.rst:1268 msgid "" @@ -1908,6 +2022,13 @@ msgid "" "` has a list of deprecated features. (Contributed by " "Christian Heimes in :issue:`43880`.)" msgstr "" +"Função descontinuada e o uso de constantes descontinuadas agora resultam em " +"uma :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` tem :data:" +"`~ssl.OP_NO_SSLv2` e :data:`~ssl.OP_NO_SSLv3` definidos por padrão e, " +"portanto, não consegue avisar sobre a definição do sinalizador novamente. A :" +"ref:`seção de descontinuidade ` tem uma lista de " +"recursos descontinuados. (Contribuição de Christian Heimes em :issue:" +"`43880`.)" #: ../../whatsnew/3.10.rst:1276 msgid "" @@ -1918,6 +2039,12 @@ msgid "" "on Hynek Schlawack's research. (Contributed by Christian Heimes in :issue:" "`43998`.)" msgstr "" +"O módulo ssl agora tem configurações padrão mais seguras. Cifras sem " +"*forward secrecy* ou SHA-1 MAC são desabilitadas por padrão. O nível de " +"segurança 2 proíbe chaves fracas RSA, DH e ECC com menos de 112 bits de " +"segurança. :class:`~ssl.SSLContext` assume como padrão a versão mínima do " +"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 msgid "" @@ -1926,24 +2053,35 @@ msgid "" "build options, distro configurations, vendor patches, and cipher suites may " "prevent a successful handshake." msgstr "" +"Os protocolos descontinuados SSL 3.0, TLS 1.0 e TLS 1.1 não são mais " +"oficialmente suportados. Python não os bloqueia ativamente. No entanto, as " +"opções de compilação do OpenSSL, configurações de distro, patches de " +"fornecedores e suítes de criptografia podem impedir um handshake bem-" +"sucedido." #: ../../whatsnew/3.10.rst:1288 msgid "" "Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " "function. (Contributed by Zackery Spytz in :issue:`31870`.)" 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 msgid "" "The ssl module uses heap-types and multi-phase initialization. (Contributed " "by Christian Heimes in :issue:`42333`.)" 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 msgid "" "A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " "(Contributed by l0x in :issue:`40849`.)" msgstr "" +"Uma nova sinalização de verificação :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` " +"foi adicionada. (Contribuição de l0x em :issue:`40849`.)" #: ../../whatsnew/3.10.rst:1298 msgid "sqlite3" @@ -1955,6 +2093,9 @@ msgid "" "Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." "load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)" msgstr "" +"Adiciona eventos de auditoria para :func:`~sqlite3.connect/handle`, :meth:" +"`~sqlite3.Connection.enable_load_extension` e :meth:`~sqlite3.Connection." +"load_extension`. (Contribuição de Erlend E. Aasland em :issue:`43762`.)" #: ../../whatsnew/3.10.rst:1306 msgid "sys" @@ -1966,16 +2107,22 @@ msgid "" "arguments passed to the Python executable. (Contributed by Victor Stinner " "in :issue:`23427`.)" msgstr "" +"Adiciona o atributo :data:`sys.orig_argv`: a lista de argumentos de linha de " +"comando originais passada para o executável Python. (Contribuição de Victor " +"Stinner em :issue:`23427`.)" #: ../../whatsnew/3.10.rst:1312 msgid "" "Add :data:`sys.stdlib_module_names`, containing the list of the standard " "library module names. (Contributed by Victor Stinner in :issue:`42955`.)" msgstr "" +"Adiciona :data:`sys.stdlib_module_names`, contendo a lista de nomes de " +"módulos da biblioteca padrão. (Contribuição de Victor Stinner em :issue:" +"`42955`.)" #: ../../whatsnew/3.10.rst:1317 msgid "_thread" -msgstr "" +msgstr "_thread" #: ../../whatsnew/3.10.rst:1319 msgid "" @@ -1983,6 +2130,9 @@ msgid "" "simulate (the default is still :data:`signal.SIGINT`). (Contributed by " "Antoine Pitrou in :issue:`43356`.)" msgstr "" +":func:`_thread.interrupt_main` agora aceita um n´mero de sinal opcional para " +"simular (o padrão ainda é :data:`signal.SIGINT`). (Contribuição de Antoine " +"Pitrou em :issue:`43356`.)" #: ../../whatsnew/3.10.rst:1324 msgid "threading" @@ -1994,6 +2144,10 @@ msgid "" "the functions set by :func:`threading.settrace` and :func:`threading." "setprofile` respectively. (Contributed by Mario Corchero in :issue:`42251`.)" msgstr "" +"Adiciona :func:`threading.gettrace` e :func:`threading.getprofile` para " +"obter as funções definidas por :func:`threading.settrace` e :func:`threading." +"setprofile`, respectivamente. (Contribuição de Mario Corchero em :issue:" +"`42251`.)" #: ../../whatsnew/3.10.rst:1331 msgid "" @@ -2001,6 +2155,10 @@ msgid "" "of :func:`threading.excepthook` in case it is set to a broken or a different " "value. (Contributed by Mario Corchero in :issue:`42308`.)" msgstr "" +"Adiciona :data:`threading.__excepthook__` para permitir obtenção do valor " +"original de :func:`threading.excepthook` no caso dele estar definido com um " +"valor quebrado ou diferente. (Contribuição de Mario Corchero em :issue:" +"`42308`.)" #: ../../whatsnew/3.10.rst:1337 msgid "traceback" @@ -2013,6 +2171,10 @@ msgid "" "now take an exception object as a positional-only argument. (Contributed by " "Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" msgstr "" +"As funções :func:`~traceback.format_exception`, :func:`~traceback." +"format_exception_only` e :func:`~traceback.print_exception` podem agora " +"receber um objeto exceção como um argumento somente-posicional. " +"(Contribuição de Zackery Spytz e Matthias Bussonnier em :issue:`26389`.)" #: ../../whatsnew/3.10.rst:1346 msgid "types" @@ -2025,6 +2187,10 @@ msgid "" "interpretable by type checkers. (Contributed by Bas van Beek in :issue:" "`41810`.)" msgstr "" +"Reintroduz as classes :data:`types.EllipsisType`, :data:`types.NoneType` e :" +"data:`types.NotImplementedType`, fornecendo um novo conjunto de tipos " +"prontamente interpretáveis pelos verificadores de tipo. (Contribuição de Bas " +"van Beek em :issue:`41810`.)" #: ../../whatsnew/3.10.rst:1354 msgid "typing" @@ -2033,6 +2199,8 @@ 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:1358 msgid "" @@ -2061,6 +2229,10 @@ msgid "" "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 " +"internamente agora oferece suporte a tipos de diferenciação." #: ../../whatsnew/3.10.rst:1367 msgid "" @@ -2069,6 +2241,10 @@ msgid "" "Note that declaring ``Literal`` with unhashable parameters will not throw an " "error::" msgstr "" +"Objetos ``Literal`` agora irão levantar uma exceção :exc:`TypeError` durante " +"as comparações de igualdade se algum de seus parâmetros não for :term:" +"`hasheáveis `. Observe que declarar ``Literal`` com parâmetros " +"inalteráveis não acusará um erro::" #: ../../whatsnew/3.10.rst:1379 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" @@ -2080,6 +2256,9 @@ msgid "" "is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:" "`41792`)" msgstr "" +"Adiciona uma nova função :func:`typing.is_typeddict` para fazer " +"introspecção se uma anotação for uma :class:`typing.TypedDict`. " +"(Contribuição de Patrick Reader em :issue:`41792`)" #: ../../whatsnew/3.10.rst:1385 msgid "" @@ -2090,6 +2269,13 @@ msgid "" "`runtime_checkable` decorator if they want runtime protocols. (Contributed " "by Yurii Karabas in :issue:`38908`)" msgstr "" +"Subclasses de ``typing.Protocol`` que apenas têm variáveis de dados " +"declaradas agora irão levantar um ``TypeError`` quando verificadas com " +"``isinstance`` a menos que sejam decoradas com :func:`runtime_checkable`. " +"Anteriormente, essas verificações eram aprovadas silenciosamente. Os " +"usuários devem decorar suas subclasses com o decorador :func:" +"`runtime_checkable` se quiserem protocolos de tempo de execução. " +"(Contribuição de Yurii Karabas em :issue:`38908`)" #: ../../whatsnew/3.10.rst:1394 msgid "unittest" @@ -2101,6 +2287,9 @@ msgid "" "existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " "in :issue:`39385`.)" msgstr "" +"Adiciona novo método new :meth:`~unittest.TestCase.assertNoLogs` para " +"complementar o existente :meth:`~unittest.TestCase.assertLogs`. " +"(Contribuição de Kit Yan Choi em :issue:`39385`.)" #: ../../whatsnew/3.10.rst:1401 msgid "urllib.parse" @@ -2118,6 +2307,15 @@ msgid "" "documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " "in :issue:`42967`.)" msgstr "" +"Versões do Python anteriores ao Python 3.10 permitiam o uso de ``;`` e ``&`` " +"como separadores de parâmetros de consulta em :func:`urllib.parse.parse_qs` " +"e :func:`urllib.parse.parse_qsl`. Devido a questões de segurança e em " +"conformidade com as recomendações mais recentes do W3C, isso foi alterado " +"para permitir apenas uma única chave separadora, com ``&`` como padrão. Esta " +"mudança também afeta :func:`cgi.parse` e :func:`cgi.parse_multipart` já que " +"elas usam as funções afetadas internamente. Para obter mais detalhes, " +"consulte a respectiva documentação. (Contribuição de Adam Goldschmidt, " +"Senthil Kumaran e Ken Jin em :issue:`42967`.)" #: ../../whatsnew/3.10.rst:1413 msgid "" @@ -2146,10 +2344,13 @@ msgid "" "handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" "issue:`35018`.)" msgstr "" +"Adiciona uma classe :class:`~xml.sax.handler.LexicalHandler` ao módulo :mod:" +"`xml.sax.handler`. (Contribuição de Jonathan Gossage e Zackery Spytz em :" +"issue:`35018`.)" #: ../../whatsnew/3.10.rst:1428 msgid "zipimport" -msgstr "" +msgstr "zipimport" #: ../../whatsnew/3.10.rst:1429 msgid "" @@ -2158,12 +2359,17 @@ msgid "" "`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:" "`42131`.)" msgstr "" +"Adiciona métodos relacionados à :pep:`451`: :meth:`~zipimport.zipimporter." +"find_spec`, :meth:`zipimport.zipimporter.create_module` e :meth:`zipimport." +"zipimporter.exec_module`. (Contribuição de Brett Cannon em :issue:`42131`.)" #: ../../whatsnew/3.10.rst:1434 msgid "" "Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " "Desmond Cheong in :issue:`14678`.)" msgstr "" +"Adiciona o método :meth:`~zipimport.zipimporter.invalidate_caches`. " +"(Contribuição de Desmond Cheong em :issue:`14678`.)" #: ../../whatsnew/3.10.rst:1439 msgid "Optimizations" @@ -2175,6 +2381,9 @@ msgid "" "(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" "issue:`41334`.)" msgstr "" +"Os construtores :func:`str`, :func:`bytes` e :func:`bytearray` estão agora " +"mais rápido (cerca de 30--40% para objetos pequenos). (Contribuição de " +"Serhiy Storchaka em :issue:`41334`.)" #: ../../whatsnew/3.10.rst:1445 msgid "" @@ -2184,6 +2393,11 @@ msgid "" "51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in :issue:" "`41006` and :issue:`41718`.)" msgstr "" +"O módulo :mod:`runpy` agora importa menos módulos. O tempo de inicialização " +"do comando ``python3 -m module-name`` é 1,4 vezes mais rápido em média. No " +"Linux, ``python3 -I -m module-name`` importa 69 módulos no Python 3.9, sendo " +"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 msgid "" @@ -2193,6 +2407,11 @@ msgid "" "van Rossum in :issue:`42927`, based on ideas implemented originally in PyPy " "and MicroPython.)" msgstr "" +"A instrução ``LOAD_ATTR`` agora usa o novo mecanismo \"cache por opcode\". É " +"cerca de 36% mais rápido agora para atributos regulares e 44% mais rápido " +"para slots. (Contribuição de Pablo Galindo e Yury Selivanov em :issue:" +"`42093` e Guido van Rossum em :issue:`42927`, com base em ideias " +"implementadas originalmente em PyPy e MicroPython.)" #: ../../whatsnew/3.10.rst:1457 msgid "" @@ -2204,6 +2423,13 @@ msgid "" "python-3-8-run-speeds/>`_ for more details. (Contributed by Victor Stinner " "and Pablo Galindo in :issue:`38980`.)" msgstr "" +"Ao construir o Python com :option:`--enable-optimizations` agora, ``-fno-" +"semantic-interposition`` é adicionado à linha de compilação e vinculação. " +"Isso acelera as compilações do interpretador Python criado com :option:`--" +"enable-shared` com ``gcc`` em até 30%. Consulte `este artigo `_ para mais detalhes. (Contribuição de Victor " +"Stinner e Pablo Galindo em :issue:`38980`.)" #: ../../whatsnew/3.10.rst:1465 msgid "" @@ -2214,6 +2440,12 @@ msgid "" "faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith, in :issue:" "`41486`)" msgstr "" +"Usa um novo código de gerenciamento de buffer de saída para os módulos :mod:" +"`bz2` / :mod:`lzma` / :mod:`zlib` e adiciona a função ``.readall()`` à " +"classe ``_compression.DecompressReader``. A descompressão bz2 agora é 1,09x " +"~ 1.17x mais rápida, a descompressão lzma 1.20x ~ 1.32x mais rápida, " +"``GzipFile.read(-1)`` 1,11x ~ 1.18x mais rápida. (Contribuição de Ma Lin, " +"revisada por Gregory P. Smith, em :issue:`41486`)" #: ../../whatsnew/3.10.rst:1471 msgid "" @@ -2224,6 +2456,12 @@ msgid "" "define an annotated function by half. (Contributed by Yurii Karabas and " "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`)" #: ../../whatsnew/3.10.rst:1478 msgid "" @@ -2232,6 +2470,10 @@ msgid "" "algorithm to avoid quadratic behavior on long strings. (Contributed by " "Dennis Sweeney in :issue:`41972`)" msgstr "" +"Funções de pesquisa de substring como ``str1 in str2`` e ``str2.find(str1)`` " +"agora às vezes usam o algoritmo de pesquisa de string \"Two-Way\" de " +"Crochemore & Perrin para evitar comportamento quadrático em strings longas. " +"(Contribuição de Dennis Sweeney em :issue:`41972`)" #: ../../whatsnew/3.10.rst:1483 msgid "" @@ -2240,6 +2482,10 @@ msgid "" "interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :" "issue:`43452`)" msgstr "" +"Adiciona micro-otimizações a ``_PyType_Lookup()`` para melhorar o desempenho " +"de pesquisa de cache de atributo de tipo no caso comum de acessos de cache. " +"Isso torna o interpretador 1,04 vezes mais rápido, em média. (Contribuição " +"de Dino Viehland em :issue:`43452`)" #: ../../whatsnew/3.10.rst:1487 msgid "" @@ -2249,6 +2495,11 @@ msgid "" "Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:" "`41873` and :issue:`41870`)" msgstr "" +"As seguintes funções embutidas agora oferecem suporte a uma convenção de " +"chamada de vectorcalls mais rápidos da :pep:`590`: :func:`map`, :func:" +"`filter`, :func:`reversed`, :func:`bool` e :func:`float`. (Contribuição de " +"Dong-hee Na e Jeroen Demeyer em :issue:`43575`, :issue:`43287`, :issue:" +"`41922`, :issue:`41873` e :issue:`41870`)" #: ../../whatsnew/3.10.rst:1491 msgid "" @@ -2258,6 +2509,11 @@ msgid "" "`gzip` and :mod:`lzma` have always been. (Contributed by Inada Naoki in :" "issue:`43785`)." msgstr "" +"O desempenho de :class:`BZ2File` foi melhorado removendo o ``RLock`` " +"interno. Isso torna :class:`BZ2File` inseguro para threads em face a vários " +"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`)." #: ../../whatsnew/3.10.rst:1499 ../../whatsnew/3.10.rst:2107 msgid "Deprecated" @@ -2275,6 +2531,16 @@ msgid "" "will be changed to syntax warning, and finally to syntax error. (Contributed " "by Serhiy Storchaka in :issue:`43833`)." msgstr "" +"Atualmente Python aceita literais numéricos imediatamente seguidos por " +"palavras-chave, por exemplo ``0in x``, ``1or x``, ``0if 1else 2``. Permite " +"expressões confusas e ambíguas como ``[0x1for x in y]`` (que pode ser " +"interpretada como ``[0x1 for x in y]`` ou ``[0x1f or x in y]``). A partir " +"desta versão, um aviso de descontinuidade é levantado se o literal numérico " +"for seguido imediatamente por uma das palavras-chave :keyword:`and`, :" +"keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " +"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`)." #: ../../whatsnew/3.10.rst:1512 msgid "" @@ -2293,6 +2559,20 @@ msgid "" "appropriate to help identify code which needs updating during this " "transition." msgstr "" +"A partir desta versão, haverá um esforço concentrado para começar a limpar a " +"semântica de importação antiga que foi mantida para compatibilidade com " +"Python 2.7. Especificamente, :meth:`~importlib.abc.PathEntryFinder." +"find_loader`/:meth:`~importlib.abc.Finder.find_module` (substituídos por :" +"meth:`~importlib.abc.Finder.find_spec`), :meth:`~importlib.abc.Loader." +"load_module` (substituído por :meth:`~importlib.abc.Loader.exec_module`), :" +"meth:`~importlib.abc.Loader.module_repr` (que o sistema de importação cuida " +"para você), o atributo ``__package__`` (substituído por ``__spec__." +"parent``), o atributo ``__loader__`` (substituído por ``__spec__.loader``), " +"e o atributo ``__cached__`` ( substituído por ``__spec__.cached``) será " +"removido lentamente (assim como outras classes e métodos em :mod:" +"`importlib`). :exc:`ImportWarning` e/ou :exc:`DeprecationWarning` será " +"levantada conforme apropriado para ajudar a identificar o código que precisa " +"ser atualizado durante esta transição." #: ../../whatsnew/3.10.rst:1529 msgid "" @@ -2300,6 +2580,9 @@ msgid "" "3.12. Refer to the :ref:`module changes ` section for " "more information." msgstr "" +"Todo o espaço de nomes de ``distutils`` foi descontinuado, para ser removido " +"no Python 3.12. Consulte a seção de :ref:`alterações do módulo ` para mais informações." #: ../../whatsnew/3.10.rst:1533 msgid "" @@ -2307,6 +2590,10 @@ msgid "" "`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " "Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" msgstr "" +"Argumentos não inteiros para :func:`random.randrange` foram descontinuados. " +"A exceção :exc:`ValueError` foi descontinuada em favor de uma exceção :exc:" +"`TypeError`. (Contribuição de Serhiy Storchaka e Raymond Hettinger em :issue:" +"`37319`.)" #: ../../whatsnew/3.10.rst:1537 msgid "" @@ -2315,6 +2602,10 @@ msgid "" "`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. " "(Contributed by Brett Cannon in :issue:`26131`.)" msgstr "" +"Os vários métodos de ``load_module()`` de :mod:`importlib` foram " +"documentados como descontinuados desde Python 3.6, mas agora também irão " +"disparar um :exc:`DeprecationWarning`. Use :meth:`~importlib.abc.Loader." +"exec_module` em vez disso. (Contribuição de Brett Cannon em :issue:`26131`.)" #: ../../whatsnew/3.10.rst:1543 msgid "" @@ -2322,6 +2613,9 @@ msgid "" "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " "in :issue:`26131`.)" msgstr "" +":meth:`zimport.zipimporter.load_module` foi descontinuado em preferência a :" +"meth:`~zipimport.zipimporter.exec_module`. (Contribuição de Brett Cannon em :" +"issue:`26131`.)" #: ../../whatsnew/3.10.rst:1547 msgid "" @@ -2329,6 +2623,10 @@ msgid "" "now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." "exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)" msgstr "" +"O uso de :meth:`~importlib.abc.Loader.load_module` pelo sistema de " +"importação agora dispara uma exceção :exc:`ImportWarning`, pois :meth:" +"`~importlib.abc.Loader.exec_module` é preferível. (Contribuição de Brett " +"Cannon em :issue:`26131`.)" #: ../../whatsnew/3.10.rst:1552 msgid "" @@ -2339,6 +2637,12 @@ msgid "" "respectively. You can use :func:`importlib.util.spec_from_loader` to help in " "porting. (Contributed by Brett Cannon in :issue:`42134`.)" msgstr "" +"O uso de :meth:`importlib.abc.MetaPathFinder.find_module` e :meth:`importlib." +"abc.PathEntryFinder.find_module` pelo sistema de importação agora dispara " +"uma exceção :exc:`ImportWarning`, pois :meth:`importlib.abc.MetaPathFinder." +"find_spec` e :meth:`importlib.abc.PathEntryFinder.find_spec` são preferidos, " +"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 msgid "" @@ -2348,6 +2652,11 @@ msgid "" "spec_from_loader` to help in porting. (Contributed by Brett Cannon in :issue:" "`43672`.)" msgstr "" +"O uso de :meth:`importlib.abc.PathEntryFinder.find_loader` pelo sistema de " +"importação agora dispara uma exceção :exc:`ImportWarning`, pois :meth:" +"`importlib.abc.PathEntryFinder.find_spec` é preferido. Você pode usar :func:" +"`importlib.util.spec_from_loader` para ajudar no port. (Contribuição de " +"Brett Cannon em :issue:`43672`.)" #: ../../whatsnew/3.10.rst:1567 msgid "" @@ -2363,6 +2672,17 @@ msgid "" "removal in Python 3.12 (previously they were documented as deprecated in " "Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)" msgstr "" +"As várias implementações de :meth:`importlib.abc.MetaPathFinder.find_module` " +"( :meth:`importlib.machinery.BuiltinImporter.find_module`, :meth:`importlib." +"machinery.FrozenImporter.find_module`, :meth:`importlib.machinery." +"WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder." +"find_module`, :meth:`importlib.abc.MetaPathFinder.find_module` ), :meth:" +"`importlib.abc.PathEntryFinder.find_module` ( :meth:`importlib.machinery." +"FileFinder.find_module` ) e :meth:`importlib.abc.PathEntryFinder." +"find_loader` ( :meth:`importlib.machinery.FileFinder.find_loader` ) agora " +"levantam :exc:`DeprecationWarning` e estão programados 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 msgid "" @@ -2372,6 +2692,11 @@ msgid "" "from the class. Users should inherit from one of these two classes as " "appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)" msgstr "" +":class:`importlib.abc.Finder` foi descontinuada (incluindo seu único " +"método, :meth:`~importlib.abc.Finder.find_module`). :class:`importlib.abc." +"MetaPathFinder` e :class:`importlib.abc.PathEntryFinder` não mais herdam da " +"classe. Usuários devem herdar de uma dessas duas classes conforme " +"apropriado. (Contribuição de Brett Cannon em :issue:`42135`.)" #: ../../whatsnew/3.10.rst:1590 msgid "" @@ -2383,6 +2708,13 @@ msgid "" "exc:`DeprecationWarning` in previous versions of Python). (Contributed by " "Brett Cannon in :issue:`43720`.)" msgstr "" +"As descontinuações de :mod:`imp`, :func:`importlib.find_loader`, :func:" +"`importlib.util.set_package_wrapper`, :func:`importlib.util." +"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:" +"`pkgutil.ImpImporter` e :class:`pkgutil.ImpLoader` foram todas atualizadas " +"para listar Python 3.12 como a versão programada para remoção (elas " +"começaram a levantar :exc:`DeprecationWarning` em versões anteriores do " +"Python). (Contribuição de Brett Cannon em :issue:`43720`.)" #: ../../whatsnew/3.10.rst:1600 msgid "" @@ -2391,6 +2723,11 @@ msgid "" "``__repr__()`` method. Removal of the use of ``module_repr()`` is scheduled " "for Python 3.12. (Contributed by Brett Cannon in :issue:`42137`.)" msgstr "" +"O sistema de importação agora usa o atributo ``__spec__`` em módulos antes " +"de recorrer a :meth:`~importlib.abc.Loader.module_repr` para um método " +"``__repr__()`` do módulo. A remoção do uso de ``module_repr()`` está " +"programado para Python 3.12. (Contribuição de Brett Cannon em :issue:" +"`42137`.)" #: ../../whatsnew/3.10.rst:1606 msgid "" @@ -2399,6 +2736,10 @@ msgid "" "module_repr` are deprecated and slated for removal in Python 3.12. " "(Contributed by Brett Cannon in :issue:`42136`.)" msgstr "" +":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." +"FrozenLoader.module_repr` e :meth:`importlib.machinery.BuiltinLoader." +"module_repr` foram descontinuadas e progamadas para remoção no Python 3.12. " +"(Contribuição de Brett Cannon em :issue:`42136`.)" #: ../../whatsnew/3.10.rst:1612 msgid "" @@ -2407,6 +2748,10 @@ msgid "" "scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :" "issue:`42264`.)" msgstr "" +"``sqlite3.OptimizedUnicode`` teve a documentação removida e foi " +"descontinuado desde o Python 3.3, quando foi tornado um apelido para :class:" +"`str`. Foi agora descontinuado, programado para remoção no Python 3.12. " +"(Contribuição de Erlend E. Aasland em :issue:`42264`.)" #: ../../whatsnew/3.10.rst:1617 msgid "" @@ -2421,6 +2766,17 @@ msgid "" "`~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 msgid "" @@ -2431,47 +2787,55 @@ msgid "" "cache must be used, open the database in URI mode using the ``cache=shared`` " "query parameter. (Contributed by Erlend E. Aasland in :issue:`24464`.)" msgstr "" +"A função embutida não documentada ``sqlite3.enable_shared_cache`` foi agora " +"descontinuada, agendada para remoção no Python 3.12. Seu uso é fortemente " +"desencorajado pela documentação do SQLite3. Veja `a documentação do SQLite3 " +"`_ para mais detalhes. Se " +"um cache compartilhado deve ser usado, abra o banco de dados no modo URI " +"usando o parâmetro de consulta ``cache=shared``. (Contribuição de Erlend E. " +"Aasland em :issue:`24464`.)" #: ../../whatsnew/3.10.rst:1638 msgid "The following ``threading`` methods are now deprecated:" -msgstr "" +msgstr "Os seguintes métodos de ``threading`` foram agora descontinuados:" #: ../../whatsnew/3.10.rst:1640 msgid "``threading.currentThread`` => :func:`threading.current_thread`" -msgstr "" +msgstr "``threading.currentThread`` => :func:`threading.current_thread`" #: ../../whatsnew/3.10.rst:1642 msgid "``threading.activeCount`` => :func:`threading.active_count`" -msgstr "" +msgstr "``threading.activeCount`` => :func:`threading.active_count`" #: ../../whatsnew/3.10.rst:1644 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" +"``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" #: ../../whatsnew/3.10.rst:1647 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" -msgstr "" +msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" #: ../../whatsnew/3.10.rst:1649 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" -msgstr "" +msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name`" #: ../../whatsnew/3.10.rst:1651 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" -msgstr "" +msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name`" #: ../../whatsnew/3.10.rst:1653 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" +msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" #: ../../whatsnew/3.10.rst:1655 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -msgstr "" +msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" #: ../../whatsnew/3.10.rst:1657 msgid "(Contributed by Jelle Zijlstra in :issue:`21574`.)" -msgstr "" +msgstr "(Contribuição de Jelle Zijlstra em :issue:`21574`.)" #: ../../whatsnew/3.10.rst:1659 msgid "" @@ -2479,18 +2843,25 @@ msgid "" "3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " "Gale in :issue:`39950`.)" msgstr "" +":meth:`pathlib.Path.link_to` foi descontinuado e programado para remoção no " +"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 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" 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 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:" 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 msgid "" @@ -2499,6 +2870,10 @@ msgid "" "data:`~ssl.OP_NO_TLSv1_3` are replaced by :attr:`sslSSLContext." "minimum_version` and :attr:`sslSSLContext.maximum_version`." msgstr "" +":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." +"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2` e :data:" +"`~ssl.OP_NO_TLSv1_3` foram substituídos por :attr:`sslSSLContext." +"minimum_version` e :attr:`sslSSLContext.maximum_version`." #: ../../whatsnew/3.10.rst:1675 msgid "" @@ -2508,25 +2883,34 @@ msgid "" "PROTOCOL_TLS` are deprecated in favor of :data:`~ssl.PROTOCOL_TLS_CLIENT` " "and :data:`~ssl.PROTOCOL_TLS_SERVER`" msgstr "" +":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." +"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." +"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2` e :data:`~ssl.PROTOCOL_TLS` " +"foram descontinuados em favor de :data:`~ssl.PROTOCOL_TLS_CLIENT` e :data:" +"`~ssl.PROTOCOL_TLS_SERVER`" #: ../../whatsnew/3.10.rst:1681 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 msgid ":func:`~ssl.match_hostname`" -msgstr "" +msgstr ":func:`~ssl.match_hostname`" #: ../../whatsnew/3.10.rst:1685 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" -msgstr "" +msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" #: ../../whatsnew/3.10.rst:1687 msgid "" "NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." "SSLContext.set_npn_protocols` are replaced by ALPN." msgstr "" +"Recurso de NPN como :meth:`ssl.SSLSocket.selected_npn_protocol` e :meth:`ssl." +"SSLContext.set_npn_protocols` foram substituídos por ALPN." #: ../../whatsnew/3.10.rst:1690 msgid "" @@ -2535,6 +2919,10 @@ msgid "" "requires a :ref:`debug build of Python `. (Contributed by " "Victor Stinner in :issue:`44584`.)" msgstr "" +"A depuração de threads (variável de ambiente :envvar:`PYTHONTHREADDEBUG`) " +"foi descontinuada no Python 3.10 e será removida no Python 3.12. Este " +"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 msgid "Removed" @@ -2547,6 +2935,11 @@ msgid "" "``__rdivmod__`` of the :class:`complex` class. They always raised a :exc:" "`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" msgstr "" +"Removidos os métodos especiais ``__int__``, ``__float__``, ``__floordiv__``, " +"``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` e " +"``__rdivmod__`` da classe :class:`complex`. Eles sempre levantavam uma " +"exceção :exc:`TypeError`. (Contribuição de Serhiy Storchaka em :issue:" +"`41974`.)" #: ../../whatsnew/3.10.rst:1706 msgid "" @@ -2556,6 +2949,10 @@ msgid "" "already removed in Python 3.5. (Contributed by Berker Peksag in :issue:" "`31844`.)" msgstr "" +"O método ``ParserBase.error()`` do módulo privado e não documentado " +"``_markupbase`` foi removido. :class:`html.parser.HTMLParser` é a única " +"subclasse de ``ParserBase`` e sua implementação de ``error()`` já tinha sido " +"removida no Python 3.5. (Contribuição de Berker Peksag em :issue:`31844`.)" #: ../../whatsnew/3.10.rst:1712 msgid "" @@ -2564,6 +2961,10 @@ msgid "" "moved to the internal C API. (Contributed by Victor Stinner in :issue:" "`42157`.)" msgstr "" +"Removido o atributo ``unicodedata.ucnhash_CAPI`` que foi um objeto interno " +"PyCapsule. A estrutura privada relacionada ``_PyUnicode_Name_CAPI`` foi " +"movida para uma API C interna. (Contribuição de Victor Stinner em :issue:" +"`42157`.)" #: ../../whatsnew/3.10.rst:1717 msgid "" @@ -2572,6 +2973,11 @@ msgid "" "were only being used by the old parser, including ``node.h``, ``parser.h``, " "``graminit.h`` and ``grammar.h``." msgstr "" +"Removido o módulo ``parser``, que foi descontinuado em 3.9 em razão da " +"mudança para o novo analisador sintático GASE, bem como todo os arquivos " +"código-fonte e cabeçalhos C que estavam sendo usados pelo analisador " +"sintático antigo, incluindo ``node.h``, ``parser.h``, ``graminit.h`` e " +"``grammar.h``." #: ../../whatsnew/3.10.rst:1722 msgid "" @@ -2580,6 +2986,11 @@ msgid "" "``PyParser_SimpleParseFileFlags`` and ``PyNode_Compile`` that were " "deprecated in 3.9 due to the switch to the new PEG parser." msgstr "" +"Removidas as funções de API C pública ``PyParser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, " +"``PyParser_SimpleParseFileFlags`` e ``PyNode_Compile`` que foram " +"descontinuadas no 3.9 em razão da mudança para o novo analisador sintático " +"GASE." #: ../../whatsnew/3.10.rst:1727 msgid "" @@ -2590,6 +3001,12 @@ msgid "" "their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:" "`42299`.)" msgstr "" +"Removido o módulo ``formatter``, que foi descontinuado no Python 3.4. É um " +"tanto obsoleto, pouco usado e não testado. Ele foi originalmente programado " +"para ser removido no Python 3.6, mas tais remoções foram adiadas até depois " +"do fim de vida do Python 2.7. Os usuários existentes devem copiar quaisquer " +"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 msgid "" @@ -2597,6 +3014,9 @@ msgid "" "now due to the _warnings module was converted to a builtin module in 2.6. " "(Contributed by Hai Shi in :issue:`42599`.)" msgstr "" +"Removida a função :c:func:`PyModule_GetWarningsModule` que era inútil agora " +"em razão do módulo _warnings ser convertido a um módulo embutido no 2.6. " +"(Contribuição de Hai Shi em :issue:`42599`.)" #: ../../whatsnew/3.10.rst:1738 msgid "" @@ -2604,6 +3024,9 @@ msgid "" "the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" "`37324`.)" msgstr "" +"Remove apelidos descontinuados para :ref:`collections-abstract-base-classes` " +"do módulo :mod:`collections`. (Contribuição de Victor Stinner em :issue:" +"`37324`.)" #: ../../whatsnew/3.10.rst:1742 msgid "" @@ -2611,10 +3034,13 @@ msgid "" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " "Python 3.8. The motivation behind this change is multifold:" msgstr "" +"O parâmetro ``loop`` foi removido da maioria da :doc:`API de alto nível <../" +"library/asyncio-api-index>` do :mod:`asyncio` seguindo a descontinuidade no " +"Python 3.8. A motivação por trás desta alteração é multifacetada:" #: ../../whatsnew/3.10.rst:1746 msgid "This simplifies the high-level API." -msgstr "" +msgstr "Isso simplifica a API de alto nível." #: ../../whatsnew/3.10.rst:1747 msgid "" @@ -2622,28 +3048,38 @@ msgid "" "thread's running event loop since Python 3.7. There isn't a need to pass " "the event loop to the API in most normal use cases." msgstr "" +"As funções na API de alto nível obtêm implicitamente o laço de eventos em " +"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 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." 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 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." 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." #: ../../whatsnew/3.10.rst:1756 ../../whatsnew/3.10.rst:1827 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" 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 msgid "Porting to Python 3.10" -msgstr "" +msgstr "Portando para Python 3.10" #: ../../whatsnew/3.10.rst:1763 msgid "" @@ -2655,7 +3091,7 @@ msgstr "" #: ../../whatsnew/3.10.rst:1768 msgid "Changes in the Python syntax" -msgstr "" +msgstr "Alterações na sintaxe Python" #: ../../whatsnew/3.10.rst:1770 msgid "" @@ -2666,6 +3102,13 @@ msgid "" "with future releases just add a space between the numeric literal and the " "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 " +"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`)." #: ../../whatsnew/3.10.rst:1780 msgid "Changes in the Python API" @@ -2678,6 +3121,10 @@ msgid "" "functions in the :mod:`traceback` module have been renamed to *exc*. " "(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" msgstr "" +"Os parâmetros *etype* das funções :func:`~traceback.format_exception`, :func:" +"`~traceback.format_exception_only` e :func:`~traceback.print_exception` no " +"módulo :mod:`traceback` foram renomeadas para *exc*. (Contribuição de " +"Zackery Spytz e Matthias Bussonnier em :issue:`26389`.)" #: ../../whatsnew/3.10.rst:1788 msgid "" @@ -2686,6 +3133,11 @@ msgid "" "exceptions were logged, and the last exception was always silently ignored. " "(Contributed by Victor Stinner in :issue:`42639`.)" msgstr "" +":mod:`atexit`: Ao sair do Python, se uma função de retorno registrada com :" +"func:`atexit.register` falhar, sua exceção agora é registrada nos logs. " +"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 msgid "" @@ -2699,6 +3151,15 @@ msgid "" "have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:" "`42195`.)" msgstr "" +"A classe genérica :class:`Collections.abc.Callable` agora nivela os " +"parâmetros de tipo, similar ao que :data:`typing.Callable` faz atualmente. " +"Isso significa que ``collections.abc.Callable[[int, str], str]`` terá " +"``__args__`` de ``(int, str, str)``; anteriormente era ``([int, str], " +"str)``. O código que acessa os argumentos via :func:`typing.get_args` ou " +"``__args__`` precisa levar em conta esta mudança. Além disso, :exc:" +"`TypeError` pode ser levantada para formas inválidas de parametrização :" +"class:`Collections.abc.Callable` que pode ter passada silenciosamente no " +"Python 3.9. (Contribuição de Ken Jin em :issue:`42195`.)" #: ../../whatsnew/3.10.rst:1804 msgid "" @@ -2707,6 +3168,10 @@ msgid "" "a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:" "`42393`.)" msgstr "" +":meth:`socket.htons` e :meth:`socket.ntohs` agora levantam :exc:" +"`OverflowError` em vez de :exc:`DeprecationWarning` se o parâmetro dado não " +"couber em um inteiro sem sinal de 16 bits. (Contribuição de Erlend E. " +"Aasland em :issue:`42393`.)" #: ../../whatsnew/3.10.rst:1809 msgid "" @@ -2714,14 +3179,17 @@ msgid "" "doc:`high-level API <../library/asyncio-api-index>` following deprecation in " "Python 3.8." msgstr "" +"O parâmetro ``loop`` foi removido da maioria da :doc:`API de alto nível <../" +"library/asyncio-api-index>` do :mod:`asyncio` seguindo a descontinuidade no " +"Python 3.8." #: ../../whatsnew/3.10.rst:1813 msgid "A coroutine that currently looks like this::" -msgstr "" +msgstr "A corrotina que atualmente se parece com isso::" #: ../../whatsnew/3.10.rst:1818 msgid "Should be replaced with this::" -msgstr "" +msgstr "Deve ser substituída por isso::" #: ../../whatsnew/3.10.rst:1823 msgid "" @@ -2729,6 +3197,10 @@ msgid "" "running event loop (e.g. running in another thread's event loop), consider " "using :func:`asyncio.run_coroutine_threadsafe` instead." msgstr "" +"Se ``foo()`` for especificamente projetado para *não* executar no laço de " +"eventos em execução da thread atual (por exemplo, executar no laço de " +"eventos de outra thread), considere usar :func:`asyncio." +"run_coroutine_threadsafe`." #: ../../whatsnew/3.10.rst:1830 msgid "" @@ -2740,6 +3212,13 @@ msgid "" "also inherits the current builtins. (Contributed by Victor Stinner in :issue:" "`42990`.)" msgstr "" +"O construtor :data:`types.FunctionType` agora herda os embutidos atuais se o " +"dicionário *globals* tiver nenhuma chave ``\"__builtins__\"``, em vez de " +"usar ``{\"None\": None}`` como embutidos: o mesmo comportamento que as " +"funções :func:`eval` e :func:`exec`. Definir uma função com ``def " +"function(...): ...`` no Python não é afetado, globais não podem ser " +"substituídos com esta sintaxe: também herda os embutidos atuais. " +"(Contribuição de Victor Stinner em :issue:`42990`.)" #: ../../whatsnew/3.10.rst:1839 msgid "Changes in the C API" @@ -2753,6 +3232,11 @@ msgid "" "these functions, ``struct _node``, were removed due to the switch to the new " "PEG parser." msgstr "" +"As funções de API C ``PyParser_SimpleParseStringFlags``, " +"``PyParser_SimpleParseStringFlagsFilename``, " +"``PyParser_SimpleParseFileFlags``, ``PyNode_Compile`` e o tipo usado por " +"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 msgid "" @@ -2760,16 +3244,22 @@ msgid "" "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 " +"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 msgid "Specifically:" -msgstr "" +msgstr "Especificamente:" #: ../../whatsnew/3.10.rst:1853 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`." #: ../../whatsnew/3.10.rst:1856 msgid "" @@ -2777,6 +3267,9 @@ msgid "" "compile code from a ``FILE *`` argument, you will need to read the file in C " "and pass the resulting buffer to :c:func:`Py_CompileString`." msgstr "" +"Não há substituição direta para ``PyParser_SimpleParseFileFlags``. Para " +"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 msgid "" @@ -2786,6 +3279,12 @@ msgid "" "c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched below. " "(Declarations and error handling are omitted.) ::" msgstr "" +"Para compilar um arquivo de um nome de arquivo ``char *`` dado, abra " +"explicitamente o arquivo, leia-o e compile o resultado. Uma forma de fazer " +"isso é usando o módulo :py:mod:`io` com :c:func:`PyImport_ImportModule`, :c:" +"func:`PyObject_CallMethod`, :c:func:`PyBytes_AsString` e :c:func:" +"`Py_CompileString`, como esboçado abaixo. (Declarações e tratamento de erro " +"foram omitidos.) ::" #: ../../whatsnew/3.10.rst:1874 msgid "CPython bytecode changes" @@ -2797,6 +3296,9 @@ msgid "" "strings as the function's annotations. (Contributed by Yurii Karabas and " "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`)" #: ../../whatsnew/3.10.rst:1881 msgid "Build Changes" @@ -2807,24 +3309,32 @@ 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`.)" 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 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" 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 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " "Fedoseev and Erlend E. Aasland :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 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" 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 msgid "" @@ -2832,6 +3342,9 @@ msgid "" "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " "Petazzoni and Peixing Xin in :issue:`27640`.)" msgstr "" +"Adiciona a opção :option:`--disable-test-modules` ao script ``configure``: " +"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 msgid "" @@ -2841,6 +3354,11 @@ msgid "" "present, these wheel packages are used instead of ensurepip bundled wheel " "packages." msgstr "" +"Adiciona a :option:`option --with-wheel-pkg-dir=CAMINHO <--with-wheel-pkg-" +"dir>` ao script ``./configure``. Se especificado, o módulo :mod:`ensurepip` " +"procura por pacotes wheel de ``setuptools`` e ``pip`` neste diretório: se " +"ambos estiverem presentes, esses pacotes wheel são usados em vez de pacotes " +"wheel empacotados por ensurepip." #: ../../whatsnew/3.10.rst:1907 msgid "" @@ -2849,10 +3367,14 @@ msgid "" "share/python-wheels/`` directory and don't install the ``ensurepip." "_bundled`` package." msgstr "" +"Algumas distribuições Linux possuem políticas de empacotamento recomendando " +"evitar o empacotamento de dependências. Por exemplo, Fedora instala pacotes " +"wheel no diretório ``/usr/share/python-wheels/`` e não instala o pacote " +"``ensurepip._bundled``." #: ../../whatsnew/3.10.rst:1912 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`42856`.)" #: ../../whatsnew/3.10.rst:1914 msgid "" @@ -2860,10 +3382,13 @@ msgid "" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " "library and not install the ``python.o`` object file." msgstr "" +"Adiciona uma nova :option:`opção --without-static-libpython de configure <--" +"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 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`43103`.)" #: ../../whatsnew/3.10.rst:1920 msgid "" @@ -2873,6 +3398,11 @@ msgid "" "includes` and :option:`--with-tcltk-libs` configuration options. " "(Contributed by Manolis Stamatogiannakis in :issue:`42603`.)" msgstr "" +"O script ``configure`` agora usa o utilitário ``pkg-config``, se disponível, " +"para detectar a localização dos cabeçalhos Tcl/Tk e bibliotecas. Como antes, " +"esses locais podem ser explicitamente especificados com as opções de " +"configuração :option:`--with-tcltk-includes` e :option:`--with-tcltk-libs`. " +"(Contribuição de Manolis Stamatogiannakis em :issue:`42603`.)" #: ../../whatsnew/3.10.rst:1926 msgid "" @@ -2881,6 +3411,11 @@ msgid "" "``./configure --with-openssl=/path/to/openssl --with-openssl-rpath=auto``. " "(Contributed by Christian Heimes in :issue:`43466`.)" msgstr "" +"Adiciona a opção :option:`--with-openssl-rpath` ao script ``configure``. A " +"opção simplifica a construção do Python com uma instalação OpenSSL " +"personalizada, por exemplo, ``./configure --with-openssl=/path/to/openssl --" +"with-openssl-rpath=auto``. (Contribuição de Christian Heimes em :issue:" +"`43466`.)" #: ../../whatsnew/3.10.rst:1933 msgid "C API Changes" @@ -2888,7 +3423,7 @@ msgstr "Alterações na API C" #: ../../whatsnew/3.10.rst:1936 msgid "PEP 652: Maintaining the Stable ABI" -msgstr "" +msgstr "PEP 652: Mantendo a ABI estável" #: ../../whatsnew/3.10.rst:1938 msgid "" @@ -2897,10 +3432,14 @@ msgid "" "and ABI stability guarantees along with best practices for using the Stable " "ABI." msgstr "" +"A ABI (interface binária de aplicação) Estável para módulos de extensão ou " +"Python embutido agora está explicitamente definido. :ref:`stable` descreve " +"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 msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" -msgstr "" +msgstr "(Contribuição de Petr Viktorin em :pep:`652` e :issue:`43795`.)" #: ../../whatsnew/3.10.rst:1948 msgid "" @@ -2908,6 +3447,9 @@ msgid "" "`int`. Previously, the result could have been an instance of a subclass of " "``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" msgstr "" +"O resultado de :c:func:`PyNumber_Index` agora sempre tem o tipo exato :class:" +"`int`. Anteriormente, o resultado poderia ser uma instância de uma subclasse " +"de ``int``. (Contribuição de Serhiy Storchaka em :issue:`40792`.)" #: ../../whatsnew/3.10.rst:1952 msgid "" @@ -2915,6 +3457,9 @@ msgid "" "structure: the list of the original command line arguments passed to the " "Python executable. (Contributed by Victor Stinner in :issue:`23427`.)" msgstr "" +"Adiciona um novo membro :c:member:`~PyConfig.orig_argv` à estrutura :c:type:" +"`PyConfig`: a lista dos argumentos originais da linha de comando passados " +"para o executável Python. (Contribuição de Victor Stinner em :issue:`23427`.)" #: ../../whatsnew/3.10.rst:1957 msgid "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 64569c813..7c408f407 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -8,9 +8,9 @@ # Victor Matheus Castro , 2021 # Raphael Mendonça, 2021 # Ricardo Cappellano , 2021 -# Rafael Fontenelle , 2021 # Marco Rougeth , 2021 # Claudio Rogerio Carvalho Filho , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -19,8 +19,7 @@ msgstr "" "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" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -2239,7 +2238,7 @@ msgstr "" #: ../../whatsnew/3.2.rst:2005 msgid "site" -msgstr "" +msgstr "site" #: ../../whatsnew/3.2.rst:2007 msgid "" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 530b9f353..9c7908d17 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1675,7 +1675,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1379 msgid "linecache" -msgstr "" +msgstr "linecache" #: ../../whatsnew/3.5.rst:1381 msgid "" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 843dc5eb7..979afd11c 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -2058,7 +2058,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1389 msgid "site" -msgstr "" +msgstr "site" #: ../../whatsnew/3.6.rst:1391 msgid "" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index 1c5d6e9ca..368ca8e57 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -10,8 +10,8 @@ # Claudio Rogerio Carvalho Filho , 2021 # felipe caridade , 2021 # Vinícius Muniz de Melo , 2021 -# Rafael Fontenelle , 2021 # Jayme Tosi Neto , 2021 +# Rafael Fontenelle , 2021 # #, fuzzy msgid "" @@ -20,7 +20,7 @@ msgstr "" "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: Jayme Tosi Neto , 2021\n" +"Last-Translator: Rafael Fontenelle , 2021\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -4835,6 +4835,10 @@ msgid "" "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 ""