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 "" pFad - Phonifier reborn

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

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


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy