diff --git a/.github/scripts/requirements_pre_commit.in b/.github/scripts/requirements_pre_commit.in new file mode 100644 index 00000000..416634f5 --- /dev/null +++ b/.github/scripts/requirements_pre_commit.in @@ -0,0 +1 @@ +pre-commit diff --git a/.github/scripts/requirements_pre_commit.txt b/.github/scripts/requirements_pre_commit.txt new file mode 100644 index 00000000..ea034f5d --- /dev/null +++ b/.github/scripts/requirements_pre_commit.txt @@ -0,0 +1,93 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --generate-hashes --output-file='.github\scripts\requirements_pre_commit.txt' '.github\scripts\requirements_pre_commit.in' +# +cfgv==3.4.0 \ + --hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \ + --hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560 + # via pre-commit +distlib==0.3.9 \ + --hash=sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87 \ + --hash=sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403 + # via virtualenv +filelock==3.16.1 \ + --hash=sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0 \ + --hash=sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435 + # via virtualenv +identify==2.6.5 \ + --hash=sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566 \ + --hash=sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc + # via pre-commit +nodeenv==1.9.1 \ + --hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \ + --hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9 + # via pre-commit +platformdirs==4.3.6 \ + --hash=sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907 \ + --hash=sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb + # via virtualenv +pre-commit==4.0.1 \ + --hash=sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2 \ + --hash=sha256:efde913840816312445dc98787724647c65473daefe420785f885e8ed9a06878 + # via -r .github\scripts\requirements_pre_commit.in +pyyaml==6.0.2 \ + --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ + --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ + --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ + --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ + --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ + --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ + --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ + --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ + --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ + --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ + --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ + --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ + --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ + --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ + --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ + --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ + --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ + --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ + --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ + --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ + --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ + --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ + --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ + --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ + --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ + --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ + --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ + --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ + --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ + --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ + --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ + --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ + --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ + --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ + --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ + --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ + --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ + --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ + --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ + --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ + --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ + --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ + --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ + --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ + --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ + --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ + --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ + --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ + --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ + --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ + --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ + --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ + --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 + # via pre-commit +virtualenv==20.28.1 \ + --hash=sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb \ + --hash=sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329 + # via pre-commit diff --git a/.github/workflows/PR-Demo-Comment.yml b/.github/workflows/PR-Demo-Comment.yml index 10bcb1dd..18d20669 100644 --- a/.github/workflows/PR-Demo-Comment.yml +++ b/.github/workflows/PR-Demo-Comment.yml @@ -36,7 +36,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -81,7 +81,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -95,8 +95,8 @@ jobs: - name: Set up JDK uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 with: - java-version: '17' - distribution: 'temurin' + java-version: "17" + distribution: "temurin" - name: Run Gradle Command run: ./gradlew clean build diff --git a/.github/workflows/PR-Demo-cleanup.yml b/.github/workflows/PR-Demo-cleanup.yml index 57b6750f..45130755 100644 --- a/.github/workflows/PR-Demo-cleanup.yml +++ b/.github/workflows/PR-Demo-cleanup.yml @@ -8,8 +8,8 @@ permissions: contents: read env: - SERVER_IP: ${{ secrets.VPS_IP }} # Add this to your GitHub secrets - CLEANUP_PERFORMED: 'false' # Add flag to track if cleanup occurred + SERVER_IP: ${{ secrets.VPS_IP }} # Add this to your GitHub secrets + CLEANUP_PERFORMED: "false" # Add flag to track if cleanup occurred jobs: cleanup: @@ -21,7 +21,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/auto-labeler.yml b/.github/workflows/auto-labeler.yml index 501d9863..789ee995 100644 --- a/.github/workflows/auto-labeler.yml +++ b/.github/workflows/auto-labeler.yml @@ -13,7 +13,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 18411c82..affa1b13 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -77,7 +77,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -105,7 +105,7 @@ jobs: - name: Pip requirements run: | - pip install --require-hashes -r ./cucumber/requirements.txt + pip install --require-hashes -r ./cucumber/requirements.txt - name: Run Docker Compose Tests run: | diff --git a/.github/workflows/check_properties.yml b/.github/workflows/check_properties.yml index 2cc141cc..559d169c 100644 --- a/.github/workflows/check_properties.yml +++ b/.github/workflows/check_properties.yml @@ -18,7 +18,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/codeql.yml-disabled b/.github/workflows/codeql.yml-disabled index 83a77d03..ae54ec4b 100644 --- a/.github/workflows/codeql.yml-disabled +++ b/.github/workflows/codeql.yml-disabled @@ -42,7 +42,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 21a469b1..7563dc72 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -6,7 +6,7 @@ # PRs introducing known-vulnerable packages will be blocked from merging. # # Source repository: https://github.com/actions/dependency-review-action -name: 'Dependency Review' +name: "Dependency Review" on: [pull_request] permissions: @@ -17,11 +17,11 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit - - name: 'Checkout Repository' + - name: "Checkout Repository" uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - - name: 'Dependency Review' + - name: "Dependency Review" uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0 diff --git a/.github/workflows/licenses-update.yml b/.github/workflows/licenses-update.yml index 8a7d07c3..142938d4 100644 --- a/.github/workflows/licenses-update.yml +++ b/.github/workflows/licenses-update.yml @@ -18,7 +18,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/manage-label.yml b/.github/workflows/manage-label.yml index 6f765438..d14509cf 100644 --- a/.github/workflows/manage-label.yml +++ b/.github/workflows/manage-label.yml @@ -15,7 +15,7 @@ jobs: issues: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/multiOSReleases.yml b/.github/workflows/multiOSReleases.yml index 72966b18..171b016e 100644 --- a/.github/workflows/multiOSReleases.yml +++ b/.github/workflows/multiOSReleases.yml @@ -16,7 +16,7 @@ jobs: versionMac: ${{ steps.versionNumberMac.outputs.versionNumberMac }} steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -145,7 +145,7 @@ jobs: contents: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -274,6 +274,11 @@ jobs: permissions: contents: write steps: + - name: Harden Runner + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 + with: + egress-policy: audit + - name: Download signed artifacts uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 - name: Display structure of downloaded files diff --git a/.github/workflows/pre_commit.yml b/.github/workflows/pre_commit.yml index df4e5a0f..19226f10 100644 --- a/.github/workflows/pre_commit.yml +++ b/.github/workflows/pre_commit.yml @@ -1,20 +1,24 @@ name: Pre-commit on: - push: - branches: [main] + workflow_dispatch: permissions: contents: read jobs: - update: + pre-commit: if: ${{ github.event.pull_request.user.login != 'dependabot[bot]' }} runs-on: ubuntu-latest permissions: contents: write pull-requests: write steps: + - name: Harden Runner + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 + with: + egress-policy: audit + - name: Checkout repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: @@ -24,7 +28,9 @@ jobs: with: python-version: 3.12 - name: Run Pre-Commit Hooks - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 + run: | + pip install --require-hashes -r ./.github/scripts/requirements_pre_commit.txt + - run: pre-commit run --all-files -c .pre-commit-config.yaml continue-on-error: true - name: Set up git config run: | diff --git a/.github/workflows/push-docker.yml b/.github/workflows/push-docker.yml index 80f3021c..10a6496b 100644 --- a/.github/workflows/push-docker.yml +++ b/.github/workflows/push-docker.yml @@ -18,7 +18,7 @@ jobs: id-token: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -43,7 +43,7 @@ jobs: if: github.ref == 'refs/heads/master' uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0 with: - cosign-release: 'v2.4.1' + cosign-release: "v2.4.1" - name: Set up Docker Buildx id: buildx diff --git a/.github/workflows/releaseArtifacts.yml b/.github/workflows/releaseArtifacts.yml index 4916c56e..88ddc970 100644 --- a/.github/workflows/releaseArtifacts.yml +++ b/.github/workflows/releaseArtifacts.yml @@ -23,7 +23,7 @@ jobs: version: ${{ steps.versionNumber.outputs.versionNumber }} steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 7c67832b..152daa26 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -10,7 +10,7 @@ on: # To guarantee Maintained check is occasionally updated. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained schedule: - - cron: '20 7 * * 2' + - cron: "20 7 * * 2" push: branches: ["main"] permissions: read-all @@ -34,7 +34,7 @@ jobs: steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -74,6 +74,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0 + uses: github/codeql-action/upload-sarif@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1 with: sarif_file: results.sarif diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index f8631b55..a17387f4 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit @@ -37,4 +37,4 @@ jobs: only-issue-labels: "more-info-needed" days-before-pr-stale: -1 # Prevents PRs from being marked as stale days-before-pr-close: -1 # Prevents PRs from being closed - start-date: '2024-07-06T00:00:00Z' # ISO 8601 Format + start-date: "2024-07-06T00:00:00Z" # ISO 8601 Format diff --git a/.github/workflows/swagger.yml b/.github/workflows/swagger.yml index 6478aeb1..ef8a8906 100644 --- a/.github/workflows/swagger.yml +++ b/.github/workflows/swagger.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/sync_files.yml b/.github/workflows/sync_files.yml index d09ec377..23bc42a3 100644 --- a/.github/workflows/sync_files.yml +++ b/.github/workflows/sync_files.yml @@ -20,7 +20,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/.github/workflows/testdriver.yml b/.github/workflows/testdriver.yml new file mode 100644 index 00000000..943265f7 --- /dev/null +++ b/.github/workflows/testdriver.yml @@ -0,0 +1,154 @@ +name: UI test with TestDriverAI + +on: + push: + branches: ["master", "UITest", "testdriver"] + +permissions: + contents: read + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Harden Runner + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 + with: + egress-policy: audit + + - name: Checkout repository + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Set up JDK + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 + with: + java-version: '17' + distribution: 'temurin' + + - name: Build with Gradle + run: ./gradlew clean build + env: + DOCKER_ENABLE_SECURITY: false + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 + + - name: Get version number + id: versionNumber + run: | + VERSION=$(grep "^version =" build.gradle | awk -F'"' '{print $2}') + echo "versionNumber=$VERSION" >> $GITHUB_OUTPUT + + - name: Login to Docker Hub + uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_API }} + + - name: Build and push test image + uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0 + with: + context: . + file: ./Dockerfile + push: true + tags: ${{ secrets.DOCKER_HUB_USERNAME }}/test:test-${{ github.sha }} + build-args: VERSION_TAG=${{ steps.versionNumber.outputs.versionNumber }} + platforms: linux/amd64 + + - name: Set up SSH + run: | + mkdir -p ~/.ssh/ + echo "${{ secrets.VPS_SSH_KEY }}" > ../private.key + sudo chmod 600 ../private.key + + - name: Deploy to VPS + run: | + cat > docker-compose.yml << EOF + version: '3.3' + services: + stirling-pdf: + container_name: stirling-pdf-test-${{ github.sha }} + image: ${{ secrets.DOCKER_HUB_USERNAME }}/test:test-${{ github.sha }} + ports: + - "1337:8080" + volumes: + - /stirling/test-${{ github.sha }}/data:/usr/share/tessdata:rw + - /stirling/test-${{ github.sha }}/config:/configs:rw + - /stirling/test-${{ github.sha }}/logs:/logs:rw + environment: + DOCKER_ENABLE_SECURITY: "false" + SECURITY_ENABLELOGIN: "false" + SYSTEM_DEFAULTLOCALE: en-GB + UI_APPNAME: "Stirling-PDF Test" + UI_HOMEDESCRIPTION: "Test Deployment" + UI_APPNAMENAVBAR: "Test" + SYSTEM_MAXFILESIZE: "100" + METRICS_ENABLED: "true" + SYSTEM_GOOGLEVISIBILITY: "false" + SYSTEM_ENABLEANALYTICS: "false" + restart: on-failure:5 + EOF + + scp -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docker-compose.yml ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/tmp/docker-compose.yml + + ssh -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} << EOF + mkdir -p /stirling/test-${{ github.sha }}/{data,config,logs} + mv /tmp/docker-compose.yml /stirling/test-${{ github.sha }}/docker-compose.yml + cd /stirling/test-${{ github.sha }} + docker-compose pull + docker-compose up -d + EOF + + test: + needs: deploy + runs-on: ubuntu-latest + + steps: + - name: Harden Runner + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 + with: + egress-policy: audit + + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + + - name: Run TestDriver.ai + uses: testdriverai/action@47e87c5d50beeeb3da624b2d9b5c1391269d6d22 #1.0.0 + with: + key: ${{secrets.TESTDRIVER_API_KEY}} + prerun: | + npm install + npm run build + npm install dashcam-chrome --save + Start-Process "C:/Program Files/Google/Chrome/Application/chrome.exe" -ArgumentList "--start-maximized", "--load-extension=$(pwd)/node_modules/dashcam-chrome/build", "http://${{ secrets.VPS_HOST }}:1337" + Start-Sleep -Seconds 20 + prompt: | + 1. /run testdriver/test.yml + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + FORCE_COLOR: "3" + + cleanup: + needs: [deploy, test] + runs-on: ubuntu-latest + if: always() + + steps: + - name: Harden Runner + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 + with: + egress-policy: audit + + - name: Set up SSH + run: | + mkdir -p ~/.ssh/ + echo "${{ secrets.VPS_SSH_KEY }}" > ../private.key + sudo chmod 600 ../private.key + + - name: Cleanup deployment + run: | + ssh -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} << EOF + cd /stirling/test-${{ github.sha }} + docker-compose down + cd /stirling + rm -rf test-${{ github.sha }} + EOF diff --git a/.github/workflows/update-translations.yml b/.github/workflows/update-translations.yml index ece0f7f0..2320cd50 100644 --- a/.github/workflows/update-translations.yml +++ b/.github/workflows/update-translations.yml @@ -18,7 +18,7 @@ jobs: pull-requests: write steps: - name: Harden Runner - uses: step-security/harden-runner@0080882f6c36860b6ba35c610c98ce87d4e2f26f # v2.10.2 + uses: step-security/harden-runner@c95a14d0e5bab51a9f56296a4eb0e416910cd350 # v2.10.3 with: egress-policy: audit diff --git a/README.md b/README.md index 2e0cb543..bd9fec7c 100644 --- a/README.md +++ b/README.md @@ -120,10 +120,10 @@ Stirling-PDF currently supports 38 languages! | Arabic (العربية) (ar_AR) | ![91%](https://geps.dev/progress/91) | | Azerbaijani (Azərbaycan Dili) (az_AZ) | ![89%](https://geps.dev/progress/89) | | Basque (Euskara) (eu_ES) | ![51%](https://geps.dev/progress/51) | -| Bulgarian (Български) (bg_BG) | ![87%](https://geps.dev/progress/87) | +| Bulgarian (Български) (bg_BG) | ![86%](https://geps.dev/progress/86) | | Catalan (Català) (ca_CA) | ![81%](https://geps.dev/progress/81) | | Croatian (Hrvatski) (hr_HR) | ![88%](https://geps.dev/progress/88) | -| Czech (Česky) (cs_CZ) | ![88%](https://geps.dev/progress/88) | +| Czech (Česky) (cs_CZ) | ![87%](https://geps.dev/progress/87) | | Danish (Dansk) (da_DK) | ![87%](https://geps.dev/progress/87) | | Dutch (Nederlands) (nl_NL) | ![86%](https://geps.dev/progress/86) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | @@ -133,7 +133,7 @@ Stirling-PDF currently supports 38 languages! | Greek (Ελληνικά) (el_GR) | ![87%](https://geps.dev/progress/87) | | Hindi (हिंदी) (hi_IN) | ![85%](https://geps.dev/progress/85) | | Hungarian (Magyar) (hu_HU) | ![97%](https://geps.dev/progress/97) | -| Indonesian (Bahasa Indonesia) (id_ID) | ![88%](https://geps.dev/progress/88) | +| Indonesian (Bahasa Indonesia) (id_ID) | ![87%](https://geps.dev/progress/87) | | Irish (Gaeilge) (ga_IE) | ![80%](https://geps.dev/progress/80) | | Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) | | Japanese (日本語) (ja_JP) | ![90%](https://geps.dev/progress/90) | @@ -141,7 +141,7 @@ Stirling-PDF currently supports 38 languages! | Norwegian (Norsk) (no_NB) | ![80%](https://geps.dev/progress/80) | | Persian (فارسی) (fa_IR) | ![95%](https://geps.dev/progress/95) | | Polish (Polski) (pl_PL) | ![87%](https://geps.dev/progress/87) | -| Portuguese (Português) (pt_PT) | ![87%](https://geps.dev/progress/87) | +| Portuguese (Português) (pt_PT) | ![98%](https://geps.dev/progress/98) | | Portuguese Brazilian (Português) (pt_BR) | ![98%](https://geps.dev/progress/98) | | Romanian (Română) (ro_RO) | ![82%](https://geps.dev/progress/82) | | Russian (Русский) (ru_RU) | ![87%](https://geps.dev/progress/87) | diff --git a/build.gradle b/build.gradle index 47411909..76de3bf7 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { id "org.springdoc.openapi-gradle-plugin" version "1.8.0" id "io.swagger.swaggerhub" version "1.3.2" id "edu.sc.seis.launch4j" version "3.0.6" - id "com.diffplug.spotless" version "6.25.0" + id "com.diffplug.spotless" version "7.0.1" id "com.github.jk1.dependency-license-report" version "2.9" //id "nebula.lint" version "19.0.3" id("org.panteleyev.jpackageplugin") version "1.6.0" @@ -27,7 +27,7 @@ ext { } group = "stirling.software" -version = "0.36.6" +version = "0.37.0" java { diff --git a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java index 4648c033..ab504b90 100644 --- a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java +++ b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java @@ -25,7 +25,7 @@ public class EEAppConfig { @Bean(name = "runningEE") public boolean runningEnterpriseEdition() { - return licenseKeyChecker.getEnterpriseEnabledResult(); + return licenseKeyChecker.getEnterpriseEnabledResult(); } @Bean(name = "SSOAutoLogin") diff --git a/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java b/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java index 6bf0f96b..3e1be815 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java @@ -214,6 +214,7 @@ public class WatermarkController { + Math.abs(watermarkHeight * Math.cos(radians))); // Calculating the number of rows and columns. + int watermarkRows = (int) (pageHeight / newWatermarkHeight + 1); int watermarkCols = (int) (pageWidth / newWatermarkWidth + 1); diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 10abbc02..3ef746d3 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=تحويل إلى PDF compress.title=ضغط compress.header=ضغط ملف PDF compress.credit=تستخدم هذه الخدمة qpdf لضغط / تحسين PDF. -compress.selectText.1=الوضع اليدوي - من 1 إلى 4 +compress.selectText.1=الوضع اليدوي - من 1 إلى 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=مستوى التحسين: compress.selectText.3=4 (رهيب للصور النصية) compress.selectText.4=الوضع التلقائي - يضبط الجودة تلقائيًا للحصول على ملف PDF بالحجم المحدد diff --git a/src/main/resources/messages_az_AZ.properties b/src/main/resources/messages_az_AZ.properties index 9f4371d3..dc71aa51 100644 --- a/src/main/resources/messages_az_AZ.properties +++ b/src/main/resources/messages_az_AZ.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDF-ə Çevir compress.title=Sıxışdır compress.header=PDF-i Sıxışdır compress.credit=Bu servis PDF sıxışdırılması/Optimizasiyası üçün Ghostscript istifadə edir. -compress.selectText.1=Manual Mod - 1-dən 4-ə +compress.selectText.1=Manual Mod - 1-dən 5-ə +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimizasiya səviyyəsi: compress.selectText.3=4 (Mətn şəkilləri üçün yaxşı deyil) compress.selectText.4=Avto mod - PDF-in dəqiq ölçüsünü əldə etmək üçün keyfiyyəti avtomatik tənzimləyir diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index 5bfbdf6e..1fbb6966 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Преобразуване към PDF compress.title=Компресиране compress.header=Компресиране на PDF compress.credit=Тази услуга използва qpdf за PDF компресиране/оптимизиране. -compress.selectText.1=Ръчен режим - от 1 до 4 +compress.selectText.1=Ръчен режим - от 1 до 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Ниво на оптимизация: compress.selectText.3=4 (Ужасно за текстови изображения) compress.selectText.4=Автоматичен режим - Автоматично настройва качеството, за да получи PDF с точен размер diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 1c5d8fcc..1e18c3bf 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Converteix a PDF compress.title=Comprimir compress.header=Comprimir PDF compress.credit=Aquest servei utilitza qpdf per a la compressió/optimització de PDF. -compress.selectText.1=Mode manual: de l'1 al 4 +compress.selectText.1=Mode manual: de l'1 al 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Nivell d'optimització: compress.selectText.3=4 (terrible per a imatges de text) compress.selectText.4=Mode automàtic: ajusta automàticament la qualitat perquè el PDF tingui la mida exacta diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties index 50c25df1..47eed833 100644 --- a/src/main/resources/messages_cs_CZ.properties +++ b/src/main/resources/messages_cs_CZ.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Převést na PDF compress.title=Komprese compress.header=Komprimovat PDF compress.credit=Tato služba používá qpdf pro kompresi/optimalizaci PDF. -compress.selectText.1=Ruční režim - Od 1 do 4 +compress.selectText.1=Ruční režim - Od 1 do 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Úroveň optimalizace: compress.selectText.3=4 (Hrozné pro textové obrázky) compress.selectText.4=Automatický režim - Automaticky upravuje kvalitu pro dosažení přesné velikosti PDF diff --git a/src/main/resources/messages_da_DK.properties b/src/main/resources/messages_da_DK.properties index b09679ff..3cd5853d 100644 --- a/src/main/resources/messages_da_DK.properties +++ b/src/main/resources/messages_da_DK.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konvertér til PDF compress.title=Komprimer compress.header=Komprimer PDF compress.credit=Denne tjeneste bruger qpdf til PDF Komprimering/Optimering. -compress.selectText.1=Manuel Tilstand - Fra 1 til 4 +compress.selectText.1=Manuel Tilstand - Fra 1 til 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimeringsniveau: compress.selectText.3=4 (Forfærdelig for tekstbilleder) compress.selectText.4=Auto tilstand - Justerer automatisk kvaliteten for at få PDF'en til en præcis størrelse diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index dd7dd397..f9db0dc2 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -933,7 +933,8 @@ fileToPDF.submit=In PDF konvertieren compress.title=Komprimieren compress.header=PDF komprimieren compress.credit=Dieser Dienst verwendet qpdf für die PDF-Komprimierung/-Optimierung. -compress.selectText.1=Manueller Modus – Von 1 bis 4 +compress.selectText.1=Manueller Modus – Von 1 bis 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimierungsstufe: compress.selectText.3=4 (Schrecklich für Textbilder) compress.selectText.4=Automatischer Modus – Passt die Qualität automatisch an, um das PDF auf die exakte Größe zu bringen diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 92348be4..22314b09 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Μετατροπή σε PDF compress.title=Συμπίεση compress.header=Συμπίεση PDF compress.credit=Αυτή η υπηρεσία χρησιμοποιεί qpdf για PDF Συμπίεση/Βελτιστοποίηση. -compress.selectText.1=Χειροκίνητη Λειτουργία - Από 1 έως 4 +compress.selectText.1=Χειροκίνητη Λειτουργία - Από 1 έως 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Επίπεδο Βελτιστοποίησης: compress.selectText.3=4 (Πολύ κακό για εικόνες κειμένου) compress.selectText.4=Αυτόματη Λειτουργία - Auto mode - Προσαρμόζει αυτόματα την ποιότητα για λήψη PDF στο ακριβές μέγεθος diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index 02dda041..35a0211f 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Convert to PDF compress.title=Compress compress.header=Compress PDF compress.credit=This service uses qpdf for PDF Compress/Optimisation. -compress.selectText.1=Manual Mode - From 1 to 4 +compress.selectText.1=Manual Mode - From 1 to 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimisation level: compress.selectText.3=4 (Terrible for text images) compress.selectText.4=Auto mode - Auto adjusts quality to get PDF to exact size diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index 65746550..07f28fb6 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Convert to PDF compress.title=Compress compress.header=Compress PDF compress.credit=This service uses qpdf for PDF Compress/Optimisation. -compress.selectText.1=Manual Mode - From 1 to 4 +compress.selectText.1=Manual Mode - From 1 to 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimization level: compress.selectText.3=4 (Terrible for text images) compress.selectText.4=Auto mode - Auto adjusts quality to get PDF to exact size diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 73b03a59..ce87f205 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Convertir a PDF compress.title=Comprimir compress.header=Comprimir PDF compress.credit=Este servicio utiliza qpdf para compresión/optimización de PDF -compress.selectText.1=Modo manual - De 1 a 4 +compress.selectText.1=Modo manual - De 1 a 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Nivel de optimización: compress.selectText.3=4 (Terrible para imágenes de texto) compress.selectText.4=Modo automático: ajusta automáticamente la calidad para que el PDF tenga el tamaño exacto diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 4203a4f1..d7ac48d3 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDF bihurtu compress.title=Konprimatu compress.header=PDFa konprimatu compress.credit=Zerbitzu honek qpdf erabiltzen du PDFak komprimatzeko/optimizatzeko -compress.selectText.1=Eskuz 1etik 4ra +compress.selectText.1=Eskuz 1etik 5ra +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimizazio maila: compress.selectText.3=4 (Izugarria testu-irudietarako) compress.selectText.4=Automatikoa: automatikoki egokitzen du kalitatea PDFak tamaina doi-doia izan dezan diff --git a/src/main/resources/messages_fa_IR.properties b/src/main/resources/messages_fa_IR.properties index bf611b90..adb7322e 100644 --- a/src/main/resources/messages_fa_IR.properties +++ b/src/main/resources/messages_fa_IR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=تبدیل به PDF compress.title=فشرده‌سازی compress.header=فشرده‌سازی PDF compress.credit=این سرویس از qpdf برای فشرده‌سازی / بهینه‌سازی PDF استفاده می‌کند. -compress.selectText.1=حالت دستی - از ۱ تا ۴ +compress.selectText.1=حالت دستی - از 1 تا 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=سطح بهینه‌سازی: compress.selectText.3=۴ (خیلی بد برای تصاویر متنی) compress.selectText.4=حالت خودکار - کیفیت را به طور خودکار تنظیم می‌کند تا PDF به اندازه دقیق برسد diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index c60277d8..f63b87c6 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Convertir compress.title=Compresser un PDF compress.header=Compresser un PDF (lorsque c'est possible!) compress.credit=Ce service utilise qpdf pour la compression et l'optimisation des PDF. -compress.selectText.1=Mode manuel – de 1 à 4 +compress.selectText.1=Mode manuel – de 1 à 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Niveau d'optimisation compress.selectText.3=4 (terrible pour les images textuelles) compress.selectText.4=Mode automatique – ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte diff --git a/src/main/resources/messages_ga_IE.properties b/src/main/resources/messages_ga_IE.properties index 6b653b74..1e1f7abe 100644 --- a/src/main/resources/messages_ga_IE.properties +++ b/src/main/resources/messages_ga_IE.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Tiontaigh go PDF compress.title=Comhbhrúigh compress.header=Comhbhrúigh PDF compress.credit=Úsáideann an tseirbhís seo qpdf le haghaidh Comhbhrú/Optimization PDF. -compress.selectText.1=Mód Láimhe - Ó 1 go 4 +compress.selectText.1=Mód Láimhe - Ó 1 go 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Leibhéal optamaithe: compress.selectText.3=4 (Uafásach le haghaidh íomhánna téacs) compress.selectText.4=Mód uathoibríoch - Coigeartaíonn Auto cáilíocht chun PDF a fháil go dtí an méid cruinn diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index fae58315..65d84aab 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -933,7 +933,8 @@ fileToPDF.submit=पीडीएफ़ में बदलें compress.title=संकुचित करें compress.header=PDF को संकुचित करें compress.credit=यह सेवा PDF संकुचन/अनुकूलन के लिए qpdf का उपयोग करती है। -compress.selectText.1=मैनुअल मोड - 1 से 4 तक +compress.selectText.1=मैनुअल मोड - 1 से 5 तक +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=अनुकूलन स्तर: compress.selectText.3=4 (पाठ छवियों के लिए अत्यधिक) compress.selectText.4=स्वत: मोड - निर्धारित आकार पाने के लिए गुणवत्ता को स्वत: समायोजित करता है diff --git a/src/main/resources/messages_hr_HR.properties b/src/main/resources/messages_hr_HR.properties index 5c0c8fb9..b4b2dede 100644 --- a/src/main/resources/messages_hr_HR.properties +++ b/src/main/resources/messages_hr_HR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Pretvori u PDF compress.title=Komprimirajte compress.header=Komprimirajte PDF compress.credit=Ova usluga koristi qpdf za komprimiranje / optimizaciju PDF-a. -compress.selectText.1=Ručni režim - Od 1 do 4 +compress.selectText.1=Ručni režim - Od 1 do 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Nivo optimizacije: compress.selectText.3=4 (Užasno za tekstualne slike) compress.selectText.4=Automatski način - Automatski prilagođava kvalitetu kako bi PDF dobio točnu veličinu diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 88612dbd..996c563a 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konvertálás PDF-be compress.title=Tömörítés compress.header=PDF tömörítése compress.credit=Ez a szolgáltatás a qpdf használatával végzi a PDF tömörítését/optimalizálását. -compress.selectText.1=Kézi mód - 1-től 4-ig +compress.selectText.1=Kézi mód - 1-től 5-ig +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimalizálási szint: compress.selectText.3=4 (Szöveges képeknél nem ajánlott) compress.selectText.4=Automatikus mód - Automatikusan állítja a minőséget a megadott PDF méret eléréséhez diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 2a6908bc..539db21c 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konversi ke PDF compress.title=Kompres compress.header=Kompres PDF compress.credit=Layanan ini menggunakan qpdf untuk Kompresi/Optimalisasi PDF. -compress.selectText.1=Mode Manual - Dari 1 hingga 4 +compress.selectText.1=Mode Manual - Dari 1 hingga 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Tingkat Optimalisasi: compress.selectText.3=4 (Buruk untuk gambar teks) compress.selectText.4=Mode Otomatis - Menyesuaikan kualitas secara otomatis untuk mendapatkan PDF dengan ukuran yang tepat diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index d559fef6..bd55e90a 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Converti in PDF compress.title=Comprimi compress.header=Comprimi PDF compress.credit=Questo servizio utilizza qpdf per la compressione/ottimizzazione dei PDF. -compress.selectText.1=Modalità manuale - Da 1 a 4 +compress.selectText.1=Modalità manuale - Da 1 a 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Livello di ottimizzazione: compress.selectText.3=4 (Terribile per le immagini di testo) compress.selectText.4=Modalità automatica - Regola automaticamente la qualità per ottenere le dimensioni esatte del PDF diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index e72240a2..c7852436 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDFを変換 compress.title=圧縮 compress.header=PDFを圧縮 compress.credit=本サービスはPDFの圧縮/最適化にqpdfを使用しています。 -compress.selectText.1=手動モード - 1 から 4 +compress.selectText.1=手動モード - 1 から 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=品質レベル: compress.selectText.3=4 (テキスト画像は最悪) compress.selectText.4=自動モード - PDFを正確なサイズにするために品質を自動調整する。 diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 19d60143..bc249492 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDF로 변환 compress.title=압축 compress.header=PDF 압축 compress.credit=이 서비스는 PDF 압축 및 최적화를 위해 qpdf를 사용합니다. -compress.selectText.1=수동 모드 - 1에서 4 +compress.selectText.1=수동 모드 - 1에서 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=최적화 수준: compress.selectText.3=4 (텍스트 이미지에 적합하지 않음) compress.selectText.4=자동 - 정확한 크기의 PDF 문서를 얻기 위해 품질 자동 조정 diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 536ee546..a8720d8d 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Omzetten naar PDF compress.title=Comprimeren compress.header=PDF comprimeren compress.credit=Deze functie gebruikt qpdf voor PDF Compressie/Optimalisatie. -compress.selectText.1=Handmatige modus - Van 1 tot 4 +compress.selectText.1=Handmatige modus - Van 1 tot 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimalisatieniveau: compress.selectText.3=4 (Verschrikkelijk voor tekstafbeeldingen) compress.selectText.4=Automatische modus - Past kwaliteit automatisch aan om PDF naar exacte grootte te krijgen diff --git a/src/main/resources/messages_no_NB.properties b/src/main/resources/messages_no_NB.properties index 0e36e10f..11a90bdb 100644 --- a/src/main/resources/messages_no_NB.properties +++ b/src/main/resources/messages_no_NB.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konverter til PDF compress.title=Komprimer compress.header=Komprimer PDF compress.credit=Denne tjenesten bruker qpdf for PDF-komprimering/optimisering. -compress.selectText.1=Manuell modus - Fra 1 til 4 +compress.selectText.1=Manuell modus - Fra 1 til 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimeringsnivå: compress.selectText.3=4 (Dårlig for tekstbilder) compress.selectText.4=Automatisk modus - Justerer automatisk kvaliteten for å få PDF til nøyaktig størrelse diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index 51107738..ef41e4ed 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konwertuj na PDF compress.title=Kompresuj compress.header=Kompresuj PDF compress.credit=Ta usługa używa qpdf do kompresji/optymalizacji PDF. -compress.selectText.1=Tryb ręczny - Od 1 do 4 +compress.selectText.1=Tryb ręczny - Od 1 do 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Poziom optymalizacji: compress.selectText.3=4 (Duże dla obrazów tekstowych) compress.selectText.4=Tryb automatyczny - Automatycznie dostosowuje jakość, aby uzyskać dokładny rozmiar pliku PDF diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 07da4e7a..eacc1659 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Converter para PDF compress.title=Comprimir compress.header=Comprimir compress.credit=Este serviço usa o Qpdf para compressão/otimização de PDF. -compress.selectText.1=Modo Manual - 1 (Menos) a 9 (Mais) +compress.selectText.1=Modo Manual - De 1 a 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Nível de Otimização: compress.selectText.3=4 (Pior para imagens de texto) compress.selectText.4=Modo Automático - Ajusta automaticamente a qualidade para atingir o tamanho exato desejado diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index cfc4589e..9cedca05 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -8,36 +8,36 @@ addPageNumbers.fontName=Nome da Fonte pdfPrompt=Selecione PDF(s) multiPdfPrompt=Selecione PDFs (2+) multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários -imgPrompt=Selecione a(s) imagem(ns) -genericSubmit=Enviar -processTimeWarning=Aviso: esse processo pode levar até um minuto, dependendo do tamanho do ficheiro -pageOrderPrompt=Ordem das páginas (digite uma lista separada por vírgulas de números de página): -pageSelectionPrompt=Seleção de página personalizada (Insira uma lista separada por vírgulas de números de página 1,5,6 ou funções como 2n+1): +imgPrompt=Selecione Imagem(ns) +genericSubmit=Submeter +processTimeWarning=Aviso: Este processo pode demorar até um minuto dependendo do tamanho do ficheiro +pageOrderPrompt=Ordem Personalizada de Páginas (Insira uma lista de números de página separados por vírgulas ou Funções como 2n+1): +pageSelectionPrompt=Seleção Personalizada de Páginas (Insira uma lista de números de página separados por vírgulas 1,5,6 ou Funções como 2n+1): goToPage=Ir true=Verdadeiro false=Falso unknown=Desconhecido -save=Salvar +save=Guardar saveToBrowser=Guardar no Navegador close=Fechar -filesSelected=Ficheiros Selecionados +filesSelected=ficheiros selecionados noFavourites=Nenhum favorito adicionado -downloadComplete=Download Completo -bored=Entediado esperando? +downloadComplete=Download Concluído +bored=Entediado à espera? alphabet=Alfabeto -downloadPdf=Descarregar PDF +downloadPdf=Transferir PDF text=Texto -font=Fonte -selectFillter=-- Selecione -- -pageNum=Número de página +font=Tipo de letra +selectFillter=-- Selecionar -- +pageNum=Número da Página sizes.small=Pequeno sizes.medium=Médio sizes.large=Grande -sizes.x-large=Muito grande -error.pdfPassword=O documento PDF está protegido por senha e a senha não foi fornecida ou está incorreta -delete=Apagar -username=Utilizador -password=Senha +sizes.x-large=Extra Grande +error.pdfPassword=O documento PDF está protegido por palavra-passe e ou não foi fornecida ou está incorreta +delete=Eliminar +username=Nome de utilizador +password=Palavra-passe welcome=Bem-vindo property=Propriedade black=Preto @@ -46,32 +46,32 @@ red=Vermelho green=Verde blue=Azul custom=Personalizar... -WorkInProgess=Trabalho em progresso, pode não funcionar ou apresentar erros. Por favor, relate quaisquer problemas! -poweredBy=Distribuído por +WorkInProgess=Trabalho em progresso, pode não funcionar ou ter erros, Por favor reporte quaisquer problemas! +poweredBy=Desenvolvido por yes=Sim no=Não -changedCredsMessage=Dados alterados! +changedCredsMessage=Credenciais alteradas! notAuthenticatedMessage=Utilizador não autenticado. -userNotFoundMessage=Utilizador inexistente. -incorrectPasswordMessage=Senha incorreta. -usernameExistsMessage=Esse utilizador já existe. -invalidUsernameMessage=Nome de utilizador inválido, o nome de utilizador pode conter apenas letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido. -invalidPasswordMessage=A senha não pode estar vazia e não deve ter espaços no início ou final. -confirmPasswordErrorMessage=Nova Senha e Confirmação de Nova Senha devem corresponder. -deleteCurrentUserMessage=Não pode apagar o utilizador atualmente logado. -deleteUsernameExistsMessage=O nome de utilizador não existe e não pode ser apagado. -downgradeCurrentUserMessage=Não é possível fazer downgrade da função do utilizador atual -disabledCurrentUserMessage=O utilizador actual não pode ser desactivado -downgradeCurrentUserLongMessage=Não é possível fazer downgrade da função do utilizador atual. Portanto, o utilizador atual não será mostrado. -userAlreadyExistsOAuthMessage=O utilizador já existe como um utilizador OAuth2. -userAlreadyExistsWebMessage=O utilizador já existe como um utilizador da web. +userNotFoundMessage=Utilizador não encontrado. +incorrectPasswordMessage=A palavra-passe atual está incorreta. +usernameExistsMessage=O novo nome de utilizador já existe. +invalidUsernameMessage=Nome de utilizador inválido, o nome de utilizador só pode conter letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido. +invalidPasswordMessage=A palavra-passe não pode estar vazia e não deve ter espaços no início ou no fim. +confirmPasswordErrorMessage=A Nova Palavra-passe e Confirmar Nova Palavra-passe devem coincidir. +deleteCurrentUserMessage=Não é possível eliminar o utilizador atualmente autenticado. +deleteUsernameExistsMessage=O nome de utilizador não existe e não pode ser eliminado. +downgradeCurrentUserMessage=Não é possível rebaixar a função do utilizador atual +disabledCurrentUserMessage=O utilizador atual não pode ser desativado +downgradeCurrentUserLongMessage=Não é possível rebaixar a função do utilizador atual. Por isso, o utilizador atual não será mostrado. +userAlreadyExistsOAuthMessage=O utilizador já existe como utilizador OAuth2. +userAlreadyExistsWebMessage=O utilizador já existe como utilizador web. error=Erro -oops=Oops! +oops=Ups! help=Ajuda goHomepage=Ir para a Página Inicial joinDiscord=Junte-se ao nosso servidor Discord -seeDockerHub=Ver o Docker Hub -visitGithub=Visitar Repositório do Github +seeDockerHub=Ver Docker Hub +visitGithub=Visitar Repositório Github donate=Doar color=Cor sponsor=Patrocinar @@ -81,58 +81,58 @@ page=Página pages=Páginas loading=A carregar... addToDoc=Adicionar ao Documento -reset=Reset -apply=Apply +reset=Repor +apply=Aplicar legal.privacy=Política de Privacidade legal.terms=Termos e Condições legal.accessibility=Acessibilidade legal.cookie=Política de Cookies -legal.impressum=Impressão +legal.impressum=Aviso Legal ############### # Pipeline # ############### -pipeline.header=Pipeline Menu (Beta) -pipeline.uploadButton=Carregar personalizado +pipeline.header=Menu Pipeline (Beta) +pipeline.uploadButton=Carregar Personalizado pipeline.configureButton=Configurar -pipeline.defaultOption=Personalizar +pipeline.defaultOption=Personalizado pipeline.submitButton=Submeter -pipeline.help=Pipeline Help -pipeline.scanHelp=Ajuda ao Escaneamento de Pastas -pipeline.deletePrompt=Tem a certeza que quer eliminar o pipeline? +pipeline.help=Ajuda Pipeline +pipeline.scanHelp=Ajuda Digitalização de Pastas +pipeline.deletePrompt=Tem a certeza que pretende eliminar o pipeline? ###################### # Pipeline Options # ###################### -pipelineOptions.header=Pipeline Configuração -pipelineOptions.pipelineNameLabel=Pipeline Nome -pipelineOptions.saveSettings=Guardar configuração da operação -pipelineOptions.pipelineNamePrompt=Introduza o nome da pipeline aqui -pipelineOptions.selectOperation=Escolher acção -pipelineOptions.addOperationButton=Adicionar acção +pipelineOptions.header=Configuração Pipeline +pipelineOptions.pipelineNameLabel=Nome Pipeline +pipelineOptions.saveSettings=Guardar Definições da Operação +pipelineOptions.pipelineNamePrompt=Insira aqui o nome do pipeline +pipelineOptions.selectOperation=Selecionar Operação +pipelineOptions.addOperationButton=Adicionar operação pipelineOptions.pipelineHeader=Pipeline: -pipelineOptions.saveButton=Descarregar +pipelineOptions.saveButton=Transferir pipelineOptions.validateButton=Validar ######################## # ENTERPRISE EDITION # ######################## enterpriseEdition.button=Atualizar para Pro -enterpriseEdition.warning=Esta funcionalidade está disponível apenas para os utilizadores Pro. -enterpriseEdition.yamlAdvert=Stirling PDF Pro suporta ficheiros de configuração YAML e outras funcionalidades SSO. -enterpriseEdition.ssoAdvert=Procuras mais funcionalidades de gestão de utilizadores? Verifica Stirling PDF Pro +enterpriseEdition.warning=Esta funcionalidade está apenas disponível para utilizadores Pro. +enterpriseEdition.yamlAdvert=O Stirling PDF Pro suporta ficheiros de configuração YAML e outras funcionalidades SSO. +enterpriseEdition.ssoAdvert=Procura mais funcionalidades de gestão de utilizadores? Veja o Stirling PDF Pro ################# # Analytics # ################# -analytics.title=Queres tornar o Stirling PDF melhor? -analytics.paragraph1=O Stirling PDF tem análises de entrada voluntária para nos ajudar a melhorar o produto. Não registamos qualquer informação pessoal ou conteúdo dos ficheiros. -analytics.paragraph2=Considera ativar as análises para nos auxiliar no crescimento do Stirling-PDF e na compreensão dos nossos utilizadores melhor. -analytics.enable=Ativar analítico -analytics.disable=Desativar analítico -analytics.settings=Podes mudar as configurações de análises no ficheiro config/settings.yml +analytics.title=Quer tornar o Stirling PDF melhor? +analytics.paragraph1=O Stirling PDF tem análises opcionais para nos ajudar a melhorar o produto. Não rastreamos qualquer informação pessoal ou conteúdo de ficheiros. +analytics.paragraph2=Por favor considere ativar as análises para ajudar o Stirling-PDF a crescer e permitir-nos compreender melhor os nossos utilizadores. +analytics.enable=Ativar análises +analytics.disable=Desativar análises +analytics.settings=Pode alterar as definições para análises no ficheiro config/settings.yml ############# # NAVBAR # @@ -140,308 +140,308 @@ analytics.settings=Podes mudar as configurações de análises no ficheiro confi navbar.favorite=Favoritos navbar.darkmode=Modo Escuro navbar.language=Idiomas -navbar.settings=Configurações +navbar.settings=Definições navbar.allTools=Ferramentas -navbar.multiTool=Multi Tools -navbar.search=Search +navbar.multiTool=Multi Ferramentas +navbar.search=Pesquisar navbar.sections.organize=Organizar navbar.sections.convertTo=Converter para PDF navbar.sections.convertFrom=Converter de PDF -navbar.sections.security=Assinar & Segurança +navbar.sections.security=Assinatura & Segurança navbar.sections.advance=Avançado -navbar.sections.edit=Visualizar & Editar -navbar.sections.popular=Populares +navbar.sections.edit=Ver & Editar +navbar.sections.popular=Popular ############# # SETTINGS # ############# -settings.title=Configurações +settings.title=Definições settings.update=Atualização disponível settings.updateAvailable={0} é a versão atual instalada. Uma nova versão ({1}) está disponível. -settings.appVersion=Versão da aplicação: -settings.downloadOption.title=Escolha a opção de download (para downloads não compactados de ficheiro único): +settings.appVersion=Versão da Aplicação: +settings.downloadOption.title=Escolha a opção de download (Para downloads de ficheiro único não zipado): settings.downloadOption.1=Abrir na mesma janela settings.downloadOption.2=Abrir em nova janela -settings.downloadOption.3=⇬ Fazer download do ficheiro -settings.zipThreshold=Compactar ficheiros quando o número de ficheiros baixados exceder +settings.downloadOption.3=Transferir ficheiro +settings.zipThreshold=Comprimir ficheiros quando o número de ficheiros transferidos exceder settings.signOut=Terminar Sessão -settings.accountSettings=Configuração de Conta -settings.bored.help=Ativa o jogo da páscoa -settings.cacheInputs.name=Guardar entradas do formulário -settings.cacheInputs.help=Ativar para armazenar entradas anteriores do formulário para futuras sessões +settings.accountSettings=Definições de Conta +settings.bored.help=Ativa jogo easter egg +settings.cacheInputs.name=Guardar inputs do formulário +settings.cacheInputs.help=Ativar para guardar inputs previamente usados para futuras utilizações -changeCreds.title=Alterar senha -changeCreds.header=Alterar dados da sua conta -changeCreds.changePassword=Está a usar as credenciais de login predefinidas. Por favor, introduza uma nova senha -changeCreds.newUsername=Novo Utilizador -changeCreds.oldPassword=Senha Atual -changeCreds.newPassword=Nova Senha -changeCreds.confirmNewPassword=Confirmar Nova Senha +changeCreds.title=Alterar Credenciais +changeCreds.header=Atualizar os Detalhes da sua Conta +changeCreds.changePassword=Está a usar credenciais de login padrão. Por favor insira uma nova palavra-passe +changeCreds.newUsername=Novo Nome de Utilizador +changeCreds.oldPassword=Palavra-passe Atual +changeCreds.newPassword=Nova Palavra-passe +changeCreds.confirmNewPassword=Confirmar Nova Palavra-passe changeCreds.submit=Submeter Alterações -account.title=Definições da Conta -account.accountSettings=Definições da Conta -account.adminSettings=Definições de Administrador - Visualizar e Adicionar Utilizadores -account.userControlSettings=Definições de Controlo do Utilizador +account.title=Definições de Conta +account.accountSettings=Definições de Conta +account.adminSettings=Definições de Administrador - Ver e Adicionar Utilizadores +account.userControlSettings=Definições de Controlo de Utilizador account.changeUsername=Alterar Nome de Utilizador account.newUsername=Novo Nome de Utilizador -account.password=Confirmação da Senha -account.oldPassword=Antiga senha -account.newPassword=Nova senha -account.changePassword=Alterar a Senha -account.confirmNewPassword=Confirmar Nova Senha -account.signOut=Sair do Sistema -account.yourApiKey=Sua Chave API -account.syncTitle=sincronizar definições do navegador com a conta -account.settingsCompare=Comparação das Definições: +account.password=Palavra-passe de Confirmação +account.oldPassword=Palavra-passe antiga +account.newPassword=Nova Palavra-passe +account.changePassword=Alterar Palavra-passe +account.confirmNewPassword=Confirmar Nova Palavra-passe +account.signOut=Terminar Sessão +account.yourApiKey=A sua Chave API +account.syncTitle=Sincronizar definições do navegador com Conta +account.settingsCompare=Comparação de Definições: account.property=Propriedade -account.webBrowserSettings=Configurações do Navegador Web +account.webBrowserSettings=Definições do Navegador Web account.syncToBrowser=Sincronizar Conta -> Navegador account.syncToAccount=Sincronizar Conta <- Navegador -adminUserSettings.title=Definições de Controlo do Utilizador -adminUserSettings.header=Definições de Controlo do Utilizador (Admin) -adminUserSettings.admin=Administrador +adminUserSettings.title=Definições de Controlo de Utilizador +adminUserSettings.header=Definições de Controlo de Utilizador Admin +adminUserSettings.admin=Admin adminUserSettings.user=Utilizador adminUserSettings.addUser=Adicionar Novo Utilizador -adminUserSettings.deleteUser=Apagar Utilizador -adminUserSettings.confirmDeleteUser=Deverá o utilizador ser apagado? -adminUserSettings.confirmChangeUserStatus=Deverá a situação do utilizador ser alterada (desativar/ativar)? +adminUserSettings.deleteUser=Eliminar Utilizador +adminUserSettings.confirmDeleteUser=Deve o utilizador ser eliminado? +adminUserSettings.confirmChangeUserStatus=Deve o utilizador ser desativado/ativado? adminUserSettings.usernameInfo=O nome de utilizador só pode conter letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido. -adminUserSettings.roles=Papeis -adminUserSettings.role=Papel +adminUserSettings.roles=Funções +adminUserSettings.role=Função adminUserSettings.actions=Ações adminUserSettings.apiUser=Utilizador API Limitado -adminUserSettings.extraApiUser=Utilizador ADicional API Limitado +adminUserSettings.extraApiUser=Utilizador API Limitado Adicional adminUserSettings.webOnlyUser=Utilizador Apenas Web -adminUserSettings.demoUser=Utilizador Demo (Sem Configurações Personalizadas) +adminUserSettings.demoUser=Utilizador Demo (Sem Definições Personalizadas) adminUserSettings.internalApiUser=Utilizador API Interno -adminUserSettings.forceChange=Forçar utilizador a mudar a senha ao fazer login +adminUserSettings.forceChange=Forçar utilizador a alterar palavra-passe no login adminUserSettings.submit=Guardar Utilizador -adminUserSettings.changeUserRole=Alterar usuário +adminUserSettings.changeUserRole=Alterar Função do Utilizador adminUserSettings.authenticated=Autenticado -adminUserSettings.editOwnProfil=Editar perfil próprio -adminUserSettings.enabledUser=utilizador habilitado -adminUserSettings.disabledUser=utilizador desabilitado -adminUserSettings.activeUsers=Utilizadores Activos: -adminUserSettings.disabledUsers=Utilizadores Desactivados: +adminUserSettings.editOwnProfil=Editar próprio perfil +adminUserSettings.enabledUser=utilizador ativado +adminUserSettings.disabledUser=utilizador desativado +adminUserSettings.activeUsers=Utilizadores Ativos: +adminUserSettings.disabledUsers=Utilizadores Desativados: adminUserSettings.totalUsers=Total de Utilizadores: -adminUserSettings.lastRequest=Última Requisição +adminUserSettings.lastRequest=Último Pedido -database.title=Importação/Exportação de Base de Dados -database.header=Importação/Exportação de Base de Dados +database.title=Importar/Exportar Base de Dados +database.header=Importar/Exportar Base de Dados database.fileName=Nome do Ficheiro database.creationDate=Data de Criação database.fileSize=Tamanho do Ficheiro -database.deleteBackupFile=Apagar Ficheiro de Backup +database.deleteBackupFile=Eliminar Ficheiro de Backup database.importBackupFile=Importar Ficheiro de Backup -database.createBackupFile=Create Backup File -database.downloadBackupFile=Baixar Ficheiro de Backup -database.info_1=Ao importar dados, é crucial assegurar a estrutura correta. Se não estiver seguro do que está a fazer, busque conselhos e apoio de um profissional. Um erro na estrutura pode causar mal funcionamento da aplicação, até mesmo o impossibilitar de executá-la. -database.info_2=O nome do ficheiro não importa ao carregar. Será renomeado posteriormente para seguir o formato backup_user_yyyyMMddHHmm.sql, garantindo uma convenção de nomenclatura consistente. +database.createBackupFile=Criar Ficheiro de Backup +database.downloadBackupFile=Transferir Ficheiro de Backup +database.info_1=Ao importar dados, é crucial assegurar a estrutura correta. Se não tiver certeza do que está a fazer, procure aconselhamento e suporte de um profissional. Um erro na estrutura pode causar mau funcionamento da aplicação, até à completa impossibilidade de executar a aplicação. +database.info_2=O nome do ficheiro não importa ao carregar. Será renomeado depois para seguir o formato backup_user_yyyyMMddHHmm.sql, assegurando uma convenção de nomes consistente. database.submit=Importar Backup -database.importIntoDatabaseSuccessed=Importação no banco de dados concluída com sucesso -database.backupCreated=Database backup successful -database.fileNotFound=File not Found +database.importIntoDatabaseSuccessed=Importação para base de dados bem sucedida +database.backupCreated=Backup da base de dados bem sucedido +database.fileNotFound=Ficheiro não Encontrado database.fileNullOrEmpty=O ficheiro não pode ser nulo ou vazio -database.failedImportFile=Failed Import File -database.notSupported=This function is not available for your database connection. +database.failedImportFile=Falha ao Importar Ficheiro +database.notSupported=Esta função não está disponível para a sua ligação à base de dados. -session.expired=A sessão expirou. Por favor, recarregue a página e tente novamente. -session.refreshPage=Refresh Page +session.expired=A sua sessão expirou. Por favor atualize a página e tente novamente. +session.refreshPage=Atualizar Página ############# # HOME-PAGE # ############# -home.desc=Seu melhor utilitário para suas necessidades de PDF. -home.searchBar=Procurar ferramentas... +home.desc=O seu centro local para todas as suas necessidades de PDF. +home.searchBar=Pesquisar funcionalidades... -home.viewPdf.title=Visualizar PDF -home.viewPdf.desc=Visualizar, adicionar notas, texto ou imagens -viewPdf.tags=visualizat,ler,notas,texto,imagens +home.viewPdf.title=Ver PDF +home.viewPdf.desc=Ver, anotar, adicionar texto ou imagens +viewPdf.tags=ver,ler,anotar,texto,imagem -home.multiTool.title=Multiferramenta de PDF -home.multiTool.desc=Juntar, girar, reorganizar e remover páginas -multiTool.tags=Multi Ferramenta, Operação Múltipla, Interface do Usuário, Clique e Arraste, Front-end, Lado do Cliente +home.multiTool.title=Multi Ferramenta PDF +home.multiTool.desc=Juntar, Rodar, Reorganizar, Dividir e Remover páginas +multiTool.tags=Multi Ferramenta,Multi operação,UI,clicar arrastar,front end,lado cliente,interativo,interagível,mover,eliminar,migrar,dividir home.merge.title=Juntar -home.merge.desc=Juntar facilmente vários PDFs num só. -merge.tags=juntar, Operações de Página, Lado do Servidor +home.merge.desc=Junte facilmente vários PDFs num só. +merge.tags=juntar,Operações de página,Back end,lado servidor home.split.title=Dividir home.split.desc=Dividir PDFs em vários documentos -split.tags=Operações de Página, dividir, Múltiplas Páginas, cortar, Lado do Servidor +split.tags=Operações de página,dividir,Multi Página,cortar,lado servidor -home.rotate.title=Girar -home.rotate.desc=Girar facilmente seus PDFs. -rotate.tags=Lado do Servidor +home.rotate.title=Rodar +home.rotate.desc=Rode facilmente os seus PDFs. +rotate.tags=lado servidor home.imageToPdf.title=Imagem para PDF -home.imageToPdf.desc=Converter uma imagem (PNG, JPEG, GIF) em PDF. -imageToPdf.tags=conversão, img, jpg, imagem, foto +home.imageToPdf.desc=Converter uma imagem (PNG, JPEG, GIF) para PDF. +imageToPdf.tags=conversão,img,jpg,imagem,foto home.pdfToImage.title=PDF para Imagem -home.pdfToImage.desc=Converter um PDF em uma imagem. (PNG, JPG, GIF) -pdfToImage.tags=conversão, img, jpg, imagem, foto +home.pdfToImage.desc=Converter um PDF para uma imagem. (PNG, JPEG, GIF) +pdfToImage.tags=conversão,img,jpg,imagem,foto home.pdfOrganiser.title=Organizar -home.pdfOrganiser.desc=Remover/reorganizar as páginas em qualquer ordem. -pdfOrganiser.tags=duplex, par, ímpar, ordenar, mover +home.pdfOrganiser.desc=Remover/Reorganizar páginas em qualquer ordem +pdfOrganiser.tags=duplex,par,ímpar,ordenar,mover -home.addImage.title=Adicionar Imagem -home.addImage.desc=Adicionar uma imagem em um local definido no PDF (trabalho em andamento) -addImage.tags=img, jpg, imagem, foto +home.addImage.title=Adicionar imagem +home.addImage.desc=Adiciona uma imagem numa localização definida no PDF +addImage.tags=img,jpg,imagem,foto -home.watermark.title=Adicionar Marca d'água -home.watermark.desc=Adicionar uma marca d'água personalizada ao seu documento PDF. -watermark.tags=Texto, repetindo, rótulo, próprio, direitos autorais, marca registrada, img, jpg, imagem, foto +home.watermark.title=Adicionar Marca de Água +home.watermark.desc=Adicionar uma marca de água personalizada ao seu documento PDF. +watermark.tags=Texto,repetindo,etiqueta,próprio,copyright,marca registada,img,jpg,imagem,foto home.permissions.title=Alterar Permissões -home.permissions.desc=Alterar as permissões do seu documento PDF. -permissions.tags=leitura, escrita, edição, impressão +home.permissions.desc=Alterar as permissões do seu documento PDF +permissions.tags=ler,escrever,editar,imprimir home.removePages.title=Remover -home.removePages.desc=Excluir as páginas indesejadas do seu documento PDF. -removePages.tags=Remover páginas, excluir páginas +home.removePages.desc=Eliminar páginas indesejadas do seu documento PDF. +removePages.tags=Remover páginas,eliminar páginas -home.addPassword.title=Adicionar Senha -home.addPassword.desc=Proteger seu documento PDF com uma senha. -addPassword.tags=seguro, segurança +home.addPassword.title=Adicionar Palavra-passe +home.addPassword.desc=Encriptar o seu documento PDF com uma palavra-passe. +addPassword.tags=seguro,segurança -home.removePassword.title=Remover Senha -home.removePassword.desc=Remover a proteção por senha do seu documento PDF. -removePassword.tags=seguro, Descriptografar, segurança, remover senha +home.removePassword.title=Remover Palavra-passe +home.removePassword.desc=Remover proteção por palavra-passe do seu documento PDF. +removePassword.tags=seguro,Desencriptar,segurança,sem palavra-passe,eliminar palavra-passe home.compressPdfs.title=Comprimir -home.compressPdfs.desc=Comprimir PDFs para reduzir o tamanho do ficheiro. -compressPdfs.tags=compactar, pequeno, mínimo +home.compressPdfs.desc=Comprimir PDFs para reduzir o seu tamanho. +compressPdfs.tags=comprimir,pequeno,minúsculo home.changeMetadata.title=Alterar Metadados -home.changeMetadata.desc=Alterar/remover/adicionar metadados de um documento PDF. -changeMetadata.tags=Título, autor, data, criação, hora, editor, produtor, estatísticas +home.changeMetadata.desc=Alterar/Remover/Adicionar metadados de um documento PDF +changeMetadata.tags=Título,autor,data,criação,tempo,editor,produtor,estatísticas home.fileToPDF.title=Converter ficheiro para PDF -home.fileToPDF.desc=Converter praticamente qualquer ficheiro em PDF (DOCX, PNG, XLS, PPT, TXT e mais) -fileToPDF.tags=transformação, formato, documento, imagem, slide, texto, conversão, escritório, documentos, word, excel, powerpoint +home.fileToPDF.desc=Converter quase qualquer ficheiro para PDF (DOCX, PNG, XLS, PPT, TXT e mais) +fileToPDF.tags=transformação,formato,documento,imagem,slide,texto,conversão,escritório,docs,word,excel,powerpoint -home.ocr.title=OCR / Limpeza de Digitalizações -home.ocr.desc=Verifica e detecta texto não seleccionável de um PDF. -ocr.tags=reconhecimento, texto, imagem, digitalização, leitura, identificação, detecção, editável +home.ocr.title=OCR / Limpeza de digitalizações +home.ocr.desc=Limpa digitalizações e deteta texto de imagens dentro de um PDF e readiciona-o como texto. +ocr.tags=reconhecimento,texto,imagem,digitalização,ler,identificar,deteção,editável home.extractImages.title=Extrair Imagens -home.extractImages.desc=Extrair todas as imagens de um PDF e salvá-las em um ficheiro zip. -extractImages.tags=imagem, foto, salvar, ficheiro, zip, captura, coleta +home.extractImages.desc=Extrai todas as imagens de um PDF e guarda-as num zip +extractImages.tags=imagem,foto,guardar,arquivo,zip,capturar,extrair home.pdfToPDFA.title=PDF para PDF/A -home.pdfToPDFA.desc=Converter PDF para o formato PDF/A para armazenamento a longo prazo. -pdfToPDFA.tags=ficheiro, longo prazo, padrão, conversão, armazenamento, preservação +home.pdfToPDFA.desc=Converter PDF para PDF/A para armazenamento a longo prazo +pdfToPDFA.tags=arquivo,longo prazo,padrão,conversão,armazenamento,preservação home.PDFToWord.title=PDF para Word home.PDFToWord.desc=Converter PDF para formatos Word (DOC, DOCX e ODT) -PDFToWord.tags=doc, docx, odt, word, transformação, formato, conversão, escritório, microsoft, ficheiro doc +PDFToWord.tags=doc,docx,odt,word,transformação,formato,conversão,escritório,microsoft,docfile -home.PDFToPresentation.title=PDF para Powerpoint -home.PDFToPresentation.desc=Converter PDF para formatos de apresentação (PPT, PPTX e ODP) -PDFToPresentation.tags=slides, apresentação, escritório, microsoft +home.PDFToPresentation.title=PDF para Apresentação +home.PDFToPresentation.desc=Converter PDF para formatos de Apresentação (PPT, PPTX e ODP) +PDFToPresentation.tags=slides,apresentação,escritório,microsoft -home.PDFToText.title=PDF para Texto/RTF -home.PDFToText.desc=Converter PDF em formato de texto ou RTF -PDFToText.tags=formato rico, formato de texto enriquecido, formato de texto rico +home.PDFToText.title=PDF para RTF (Texto) +home.PDFToText.desc=Converter PDF para formato Texto ou RTF +PDFToText.tags=formato rico,formato texto rico,formato texto rico home.PDFToHTML.title=PDF para HTML -home.PDFToHTML.desc=Converter PDF para o formato HTML -PDFToHTML.tags=conteúdo web, compatível com navegador +home.PDFToHTML.desc=Converter PDF para formato HTML +PDFToHTML.tags=conteúdo web,compatível com navegador home.PDFToXML.title=PDF para XML -home.PDFToXML.desc=Converter PDF para o formato XML -PDFToXML.tags=extração-de-dados,conteúdo-estruturado,interoperabilidade,transformação,converter +home.PDFToXML.desc=Converter PDF para formato XML +PDFToXML.tags=extração-dados,conteúdo-estruturado,interop,transformação,converter -home.ScannerImageSplit.title=Detectar/Dividir Fotos Digitalizadas -home.ScannerImageSplit.desc=Divide várias fotos de dentro de uma imagem/PDF digitalizado -ScannerImageSplit.tags=separar,detecção-automática,digitalizações,foto-múltipla,organizar +home.ScannerImageSplit.title=Detetar/Dividir fotos digitalizadas +home.ScannerImageSplit.desc=Divide múltiplas fotos de dentro de uma foto/PDF +ScannerImageSplit.tags=separar,auto-detetar,digitalizações,multi-foto,organizar home.sign.title=Assinar -home.sign.desc=Adicionar assinatura ao PDF por desenho, texto ou imagem -sign.tags=autorizar,iniciais,assinatura-desenhada,assinatura-de-texto,assinatura-de-imagem +home.sign.desc=Adiciona assinatura ao PDF por desenho, texto ou imagem +sign.tags=autorizar,iniciais,assinatura-desenhada,assinatura-texto,assinatura-imagem home.flatten.title=Achatar -home.flatten.desc=Remover todos os elementos e formulários interativos de um PDF +home.flatten.desc=Remover todos os elementos interativos e formulários de um PDF flatten.tags=estático,desativar,não-interativo,otimizar home.repair.title=Reparar -home.repair.desc=Tentar reparar um PDF corrompido/quebrado +home.repair.desc=Tenta reparar um PDF corrompido/danificado repair.tags=corrigir,restaurar,correção,recuperar home.removeBlanks.title=Remover Páginas em Branco -home.removeBlanks.desc=Detectar e remover páginas em branco de um documento -removeBlanks.tags=limpeza,otimização,sem-conteúdo,organizar +home.removeBlanks.desc=Deteta e remove páginas em branco de um documento +removeBlanks.tags=limpeza,otimizar,sem-conteúdo,organizar -home.removeAnnotations.title=Removee Notas -home.removeAnnotations.desc=Remove todas as notas ou comentário de um PDF. +home.removeAnnotations.title=Remover Anotações +home.removeAnnotations.desc=Remove todos os comentários/anotações de um PDF removeAnnotations.tags=comentários,destaque,notas,marcação,remover home.compare.title=Comparar -home.compare.desc=Comparar e mostrar as diferenças entre 2 documentos PDF -compare.tags=diferenciar,contraste,mudanças,análise +home.compare.desc=Compara e mostra as diferenças entre 2 Documentos PDF +compare.tags=diferenciar,contrastar,alterações,análise home.certSign.title=Assinar com Certificado -home.certSign.desc=Assinar um PDF com um Certificado/Chave (PEM/P12) -certSign.tags=autenticar,PEM,P12,oficial,criptografar +home.certSign.desc=Assina um PDF com um Certificado/Chave (PEM/P12) +certSign.tags=autenticar,PEM,P12,oficial,encriptar -home.removeCertSign.title=Remover Assinatura Certificado -home.removeCertSign.desc=Remova a assinatura do certificado do PDF +home.removeCertSign.title=Remover Assinatura de Certificado +home.removeCertSign.desc=Remove assinatura de certificado do PDF removeCertSign.tags=autenticar,PEM,P12,oficial,desencriptar -home.pageLayout.title=Layout de Múltiplas Páginas -home.pageLayout.desc=Juntar várias páginas de um documento PDF em uma única página +home.pageLayout.title=Layout Multi-Página +home.pageLayout.desc=Juntar múltiplas páginas de um documento PDF numa única página pageLayout.tags=juntar,composto,vista-única,organizar -home.scalePages.title=Ajustar Tamanho/Escala de Página -home.scalePages.desc=Alterar o tamanho/escala da página e/ou seu conteúdo. +home.scalePages.title=Ajustar tamanho/escala de página +home.scalePages.desc=Alterar o tamanho/escala de uma página e/ou os seus conteúdos. scalePages.tags=redimensionar,modificar,dimensão,adaptar -home.pipeline.title=Pipeline (Avançado) -home.pipeline.desc=Executar várias ações em PDFs definindo scripts de pipeline -pipeline.tags=automatizar,sequência,scriptado,processo-em-lote +home.pipeline.title=Pipeline +home.pipeline.desc=Executar múltiplas ações em PDFs definindo scripts pipeline +pipeline.tags=automatizar,sequência,script,processamento-lote home.add-page-numbers.title=Adicionar Números de Página -home.add-page-numbers.desc=Adicionar números de página em todo o documento em um local definido -add-page-numbers.tags=paginar,rotular,organizar,índice +home.add-page-numbers.desc=Adicionar números de página ao longo de um documento numa localização definida +add-page-numbers.tags=paginar,etiqueta,organizar,índice -home.auto-rename.title=Renomear Automaticamente o ficheiro PDF -home.auto-rename.desc=Renomeia automaticamente um ficheiro PDF com base no cabeçalho detectado -auto-rename.tags=detecção-automática,baseado-em-cabeçalho,organizar,relabel +home.auto-rename.title=Renomear Automaticamente Ficheiro PDF +home.auto-rename.desc=Renomeia automaticamente um ficheiro PDF baseado no cabeçalho detetado +auto-rename.tags=auto-deteção,baseado-cabeçalho,organizar,reetiquetar home.adjust-contrast.title=Ajustar Cores/Contraste home.adjust-contrast.desc=Ajustar Contraste, Saturação e Brilho de um PDF -adjust-contrast.tags=correção-de-cor,ajustar,modificar,realçar +adjust-contrast.tags=correção-cor,afinar,modificar,melhorar -home.crop.title=Cortar PDF -home.crop.desc=Cortar um PDF para reduzir o tamanho (mantém o texto!) -crop.tags=aparar,encolher,editar,formato +home.crop.title=Recortar PDF +home.crop.desc=Recortar um PDF para reduzir o seu tamanho (mantém o texto!) +crop.tags=aparar,encolher,editar,forma home.autoSplitPDF.title=Divisão Automática de Páginas -home.autoSplitPDF.desc=Dividir automaticamente um PDF digitalizado com separador de páginas físicas QR Code -autoSplitPDF.tags=baseado-em-QR,separar,segmento-de-digitalização,organizar +home.autoSplitPDF.desc=Dividir automaticamente PDF digitalizado com separador de páginas físico com Código QR +autoSplitPDF.tags=baseado-QR,separar,segmento-digitalização,organizar home.sanitizePdf.title=Sanitizar home.sanitizePdf.desc=Remover scripts e outros elementos de ficheiros PDF -sanitizePdf.tags=limpar,seguro,protegido,remover-ameaças +sanitizePdf.tags=limpar,seguro,segurança,remover-ameaças -home.URLToPDF.title=Converter Site para PDF -home.URLToPDF.desc=Converte qualquer página da internet para um ficheiro PDF -URLToPDF.tags=captura-de-web,salvar-página,web-para-doc,arquivar +home.URLToPDF.title=URL/Website Para PDF +home.URLToPDF.desc=Converte qualquer URL http(s) para PDF +URLToPDF.tags=captura-web,guardar-página,web-para-doc,arquivo home.HTMLToPDF.title=HTML para PDF home.HTMLToPDF.desc=Converte qualquer ficheiro HTML ou zip para PDF @@ -453,94 +453,94 @@ home.MarkdownToPDF.desc=Converte qualquer ficheiro Markdown para PDF MarkdownToPDF.tags=marcação,conteúdo-web,transformação,converter -home.getPdfInfo.title=Obter TODAS as Informações de um PDF -home.getPdfInfo.desc=Obtém todas as informações possíveis de um PDF -getPdfInfo.tags=informações,dados,estatísticas +home.getPdfInfo.title=Obter TODA Informação sobre PDF +home.getPdfInfo.desc=Obtém qualquer e toda informação possível sobre PDFs +getPdfInfo.tags=informação,dados,estatísticas,estatísticas -home.extractPage.title=Extrair Página(s) -home.extractPage.desc=Extrai páginas selecionadas de um PDF +home.extractPage.title=Extrair página(s) +home.extractPage.desc=Extrai páginas selecionadas do PDF extractPage.tags=extrair -home.PdfToSinglePage.title=PDF para Página Única Grande -home.PdfToSinglePage.desc=Combina todas as páginas de um PDF em uma única página grande +home.PdfToSinglePage.title=Página Única Grande +home.PdfToSinglePage.desc=Junta todas as páginas do PDF numa única página grande PdfToSinglePage.tags=página única home.showJS.title=Mostrar Javascript -home.showJS.desc=Procura e exibe qualquer JavaScript injetado em um PDF -showJS.tags=JavaScript +home.showJS.desc=Procura e mostra qualquer JS injetado num PDF +showJS.tags=JS -home.autoRedact.title=Edição automática -home.autoRedact.desc=Edição automática (marca a preto) baseada numa expressão indicada de um PDF. -autoRedact.tags=Esconder,censurar,marcador,tampado,máscara,oculto +home.autoRedact.title=Redação Automática +home.autoRedact.desc=Redação Automática (Oculta) texto num PDF baseado em texto de entrada +autoRedact.tags=Redação,Ocultar,ocultar,preto,marcador,oculto -home.redact.title=Manual Redaction -home.redact.desc=Redacts a PDF based on selected text, drawn shapes and/or selected page(s) -redact.tags=Redact,Hide,black out,black,marker,hidden,manual +home.redact.title=Redação Manual +home.redact.desc=Redacta um PDF baseado em texto selecionado, formas desenhadas e/ou página(s) selecionada(s) +redact.tags=Redação,Ocultar,ocultar,preto,marcador,oculto,manual home.tableExtraxt.title=PDF para CSV -home.tableExtraxt.desc=Extrai tabelas de um PDF convertendo em um CSV -tableExtraxt.tags=CSV,Tabelas Extracção,extracção,conversão +home.tableExtraxt.desc=Extrai Tabelas de um PDF convertendo para CSV +tableExtraxt.tags=CSV,Extração de Tabela,extrair,converter -home.autoSizeSplitPDF.title=Dividir automaticamente por Tamanho/Páginas -home.autoSizeSplitPDF.desc=Divide um PDF em diversos documentos com base no tamanho ou número de páginas +home.autoSizeSplitPDF.title=Divisão Automática por Tamanho/Contagem +home.autoSizeSplitPDF.desc=Dividir um único PDF em múltiplos documentos baseado em tamanho, contagem de páginas, ou contagem de documentos autoSizeSplitPDF.tags=pdf,dividir,documento,organização home.overlay-pdfs.title=Sobrepor PDFs -home.overlay-pdfs.desc=Sobrepor um PDF em cima de outro PDF +home.overlay-pdfs.desc=Sobrepõe PDFs em cima de outro PDF overlay-pdfs.tags=Sobrepor home.split-by-sections.title=Dividir PDF por Secções -home.split-by-sections.desc=Divide cada páginas de um PDF em secções horizontais ou verticais mais pequenas -split-by-sections.tags=Dividir secções, Dividir, Personalizar +home.split-by-sections.desc=Divide cada página de um PDF em secções horizontais e verticais mais pequenas +split-by-sections.tags=Dividir Secção, Dividir, Personalizar -home.AddStampRequest.title=Adicionar carimbo em um PDF -home.AddStampRequest.desc=Adicionar um carimbo de texto ou imagem -AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca d'água, PDF, Embebido, Personalizado +home.AddStampRequest.title=Adicionar Carimbo a PDF +home.AddStampRequest.desc=Adicionar carimbos de texto ou adicionar carimbos de imagem em localizações definidas +AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca de água, PDF, Incorporar, Personalizar home.PDFToBook.title=PDF para Livro -home.PDFToBook.desc=Converte PDF em formatos de livro/comic utilizando o Calibre -PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle +home.PDFToBook.desc=Converte PDF para formatos Livro/Banda Desenhada usando calibre +PDFToBook.tags=Livro,Banda Desenhada,Calibre,Converter,manga,amazon,kindle home.BookToPDF.title=Livro para PDF -home.BookToPDF.desc=Converte formatos de livros/comics em PDF utilizando o Calibre -BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle +home.BookToPDF.desc=Converte formatos de Livros/Bandas Desenhadas para PDF usando calibre +BookToPDF.tags=Livro,Banda Desenhada,Calibre,Converter,manga,amazon,kindle home.removeImagePdf.title=Remover imagem -home.removeImagePdf.desc=Remova imagem do PDF para reduzir o tamanho do ficheiro -removeImagePdf.tags=Remover Imagem,operações de página,lado de servidor +home.removeImagePdf.desc=Remover imagem do PDF para reduzir tamanho do ficheiro +removeImagePdf.tags=Remover Imagem,operações de página,lado servidor home.splitPdfByChapters.title=Dividir PDF por Capítulos -home.splitPdfByChapters.desc=Divida um PDF em vários arquivos com base na estrutura dos capítulos. +home.splitPdfByChapters.desc=Dividir um PDF em múltiplos ficheiros baseado na sua estrutura de capítulos. splitPdfByChapters.tags=dividir,capítulos,marcadores,organizar -home.validateSignature.title=Validate PDF Signature -home.validateSignature.desc=Verify digital signatures and certificates in PDF documents -validateSignature.tags=signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate +home.validateSignature.title=Validar Assinatura PDF +home.validateSignature.desc=Verificar assinaturas digitais e certificados em documentos PDF +validateSignature.tags=assinatura,verificar,validar,pdf,certificado,assinatura digital,Validar Assinatura,Validar certificado #replace-invert-color -replace-color.title=Replace-Invert-Color -replace-color.header=Substituir-Inverter Cor do PDF -home.replaceColorPdf.title=Replace and Invert Color -home.replaceColorPdf.desc=Substituir cor pelo texto e fundo em PDF e inverter toda a cor do PDF para reduzir o tamanho do ficheiro -replaceColorPdf.tags=Substituição de Cor, Operações de Página, Back End, lado do servidor -replace-color.selectText.1=Opções de Substituição ou Inversão de Cor -replace-color.selectText.2=Padrão (Cor de contraste alto padrão) -replace-color.selectText.3=Personalizado ( cores personalizadas) -replace-color.selectText.4=Inversão Total (inverter todas as cores) -replace-color.selectText.5=Opções de cor de contraste alto -replace-color.selectText.6=Texto branco sobre fundo preto -replace-color.selectText.7=Texto preto sobre fundo branco -replace-color.selectText.8=Texto amarelo sobre fundo preto -replace-color.selectText.9=Texto verde sobre fundo preto +replace-color.title=Substituir-Inverter-Cor +replace-color.header=Substituir-Inverter Cor PDF +home.replaceColorPdf.title=Substituir e Inverter Cor +home.replaceColorPdf.desc=Substituir cor para texto e fundo em PDF e inverter cor completa do pdf para reduzir tamanho do ficheiro +replaceColorPdf.tags=Substituir Cor,operações de página,Back end,lado servidor +replace-color.selectText.1=Opções de Substituir ou Inverter cor +replace-color.selectText.2=Predefinição(Cores de alto contraste predefinidas) +replace-color.selectText.3=Personalizado(Cores personalizadas) +replace-color.selectText.4=Inversão Total(Inverter todas as cores) +replace-color.selectText.5=Opções de cor de alto contraste +replace-color.selectText.6=texto branco em fundo preto +replace-color.selectText.7=Texto preto em fundo branco +replace-color.selectText.8=Texto amarelo em fundo preto +replace-color.selectText.9=Texto verde em fundo preto replace-color.selectText.10=Escolher cor do texto -replace-color.selectText.11=Escolher cor de fundo +replace-color.selectText.11=Escolher cor do fundo replace-color.submit=Substituir @@ -551,177 +551,177 @@ replace-color.submit=Substituir # # ########################### #login -login.title=Aceder -login.header=Aceder -login.signin=Aceder -login.rememberme=Lembrar dados -login.invalid=Utilizador ou senha inválidos. +login.title=Iniciar sessão +login.header=Iniciar sessão +login.signin=Iniciar sessão +login.rememberme=Lembrar-me +login.invalid=Nome de utilizador ou palavra-passe inválidos. login.locked=A sua conta foi bloqueada. -login.signinTitle=Introduza os seus dados de acesso -login.ssoSignIn=Iniciar sessão através de início de sessão único -login.oauth2AutoCreateDisabled=OAUTH2 Criação Automática de Utilizador Desativada -login.oauth2AdminBlockedUser=A registo ou login de utilizadores não-registados está atualmente bloqueado. Por favor, contacte o administrador. -login.oauth2RequestNotFound=Solicitação de autorização não encontrada -login.oauth2InvalidUserInfoResponse=Resposta de informações do utilizador inválida -login.oauth2invalidRequest=Requisito inválido -login.oauth2AccessDenied=Acesso negado -login.oauth2InvalidTokenResponse=Resposta de token inválida -login.oauth2InvalidIdToken=Token de identificação inválido -login.relyingPartyRegistrationNotFound=No relying party registration found -login.userIsDisabled=O utilizador foi desativado, o login está atualmente bloqueado com esta conta. Por favor, contacte o administrador. -login.alreadyLoggedIn=Já está logado em -login.alreadyLoggedIn2=dispositivos. Por favor, faça logout nos dispositivos e tente novamente. -login.toManySessions=Tem sessões ativas demais +login.signinTitle=Por favor inicie sessão +login.ssoSignIn=Login via Single Sign-on +login.oauth2AutoCreateDisabled=Criação Automática de Utilizador OAUTH2 Desativada +login.oauth2AdminBlockedUser=O registo ou login de utilizadores não registados está atualmente bloqueado. Por favor contacte o administrador. +login.oauth2RequestNotFound=Pedido de autorização não encontrado +login.oauth2InvalidUserInfoResponse=Resposta de Informação de Utilizador Inválida +login.oauth2invalidRequest=Pedido Inválido +login.oauth2AccessDenied=Acesso Negado +login.oauth2InvalidTokenResponse=Resposta de Token Inválida +login.oauth2InvalidIdToken=Token de Id Inválido +login.relyingPartyRegistrationNotFound=Nenhum registo de relying party encontrado +login.userIsDisabled=O utilizador está desativado, o login está atualmente bloqueado com este nome de utilizador. Por favor contacte o administrador. +login.alreadyLoggedIn=Já tem sessão iniciada em +login.alreadyLoggedIn2=dispositivos. Por favor termine sessão nesses dispositivos e tente novamente. +login.toManySessions=Tem demasiadas sessões ativas #auto-redact -autoRedact.title=Edição Automática -autoRedact.header=Edição Automática +autoRedact.title=Redação Automática +autoRedact.header=Redação Automática autoRedact.colorLabel=Cor -autoRedact.textsToRedactLabel=Texto para editar (separado por linhas) -autoRedact.textsToRedactPlaceholder=e.g. \nConfidencial \nTop-Secret +autoRedact.textsToRedactLabel=Texto a redactar (separado por linhas) +autoRedact.textsToRedactPlaceholder=ex. \nConfidencial \nTop-Secret autoRedact.useRegexLabel=Usar Regex -autoRedact.wholeWordSearchLabel=Pesquisa de palavras inteiras -autoRedact.customPaddingLabel=Preenchimento extra personalizado -autoRedact.convertPDFToImageLabel=Converter PDF em imagem (usado para remover texto atrás de caixas) +autoRedact.wholeWordSearchLabel=Pesquisa de Palavra Completa +autoRedact.customPaddingLabel=Preenchimento Extra Personalizado +autoRedact.convertPDFToImageLabel=Converter PDF para PDF-Imagem (Usado para remover texto por trás da caixa) autoRedact.submitButton=Submeter #redact -redact.title=Manual Redaction -redact.header=Manual Redaction -redact.submit=Redact -redact.textBasedRedaction=Text based Redaction -redact.pageBasedRedaction=Page-based Redaction -redact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) -redact.pageRedactionNumbers.title=Pages -redact.pageRedactionNumbers.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) -redact.redactionColor.title=Redaction Color -redact.export=Export -redact.upload=Upload -redact.boxRedaction=Box draw redaction +redact.title=Redação Manual +redact.header=Redação Manual +redact.submit=Redactar +redact.textBasedRedaction=Redação baseada em Texto +redact.pageBasedRedaction=Redação baseada em Página +redact.convertPDFToImageLabel=Converter PDF para PDF-Imagem (Usado para remover texto por trás da caixa) +redact.pageRedactionNumbers.title=Páginas +redact.pageRedactionNumbers.placeholder=(ex. 1,2,8 ou 4,7,12-16 ou 2n-1) +redact.redactionColor.title=Cor de Redação +redact.export=Exportar +redact.upload=Carregar +redact.boxRedaction=Redação por desenho de caixa redact.zoom=Zoom -redact.zoomIn=Zoom in -redact.zoomOut=Zoom out -redact.nextPage=Next Page -redact.previousPage=Previous Page -redact.toggleSidebar=Toggle Sidebar -redact.showThumbnails=Show Thumbnails -redact.showDocumentOutline=Show Document Outline (double-click to expand/collapse all items) -redact.showAttatchments=Show Attachments -redact.showLayers=Show Layers (double-click to reset all layers to the default state) -redact.colourPicker=Colour Picker -redact.findCurrentOutlineItem=Find current outline item +redact.zoomIn=Aumentar zoom +redact.zoomOut=Diminuir zoom +redact.nextPage=Próxima Página +redact.previousPage=Página Anterior +redact.toggleSidebar=Alternar Barra Lateral +redact.showThumbnails=Mostrar Miniaturas +redact.showDocumentOutline=Mostrar Esquema do Documento (duplo clique para expandir/colapsar todos os itens) +redact.showAttatchments=Mostrar Anexos +redact.showLayers=Mostrar Camadas (duplo clique para repor todas as camadas para o estado predefinido) +redact.colourPicker=Seletor de Cor +redact.findCurrentOutlineItem=Encontrar item atual do esquema #showJS -showJS.title=Exibir JavaScript -showJS.header=Exibir JavaScript -showJS.downloadJS=Download do JavaScript -showJS.submit=Exibir +showJS.title=Mostrar Javascript +showJS.header=Mostrar Javascript +showJS.downloadJS=Transferir Javascript +showJS.submit=Mostrar #pdfToSinglePage -pdfToSinglePage.title=PDF para Página Única -pdfToSinglePage.header=PDF para Página Única -pdfToSinglePage.submit=Converter para Página Única +pdfToSinglePage.title=PDF Para Página Única +pdfToSinglePage.header=PDF Para Página Única +pdfToSinglePage.submit=Converter Para Página Única #pageExtracter pageExtracter.title=Extrair Páginas pageExtracter.header=Extrair Páginas pageExtracter.submit=Extrair -pageExtracter.placeholder=(ex: 1,2,8 ou 4,7,12-16 ou 2n-1) +pageExtracter.placeholder=(ex. 1,2,8 ou 4,7,12-16 ou 2n-1) #getPdfInfo -getPdfInfo.title=Obter Informações do PDF -getPdfInfo.header=Obter Informações do PDF -getPdfInfo.submit=Obter Informações -getPdfInfo.downloadJson=Download JSON +getPdfInfo.title=Obter Informação do PDF +getPdfInfo.header=Obter Informação do PDF +getPdfInfo.submit=Obter Informação +getPdfInfo.downloadJson=Transferir JSON #markdown-to-pdf -MarkdownToPDF.title=Markdown para PDF -MarkdownToPDF.header=Markdown para PDF +MarkdownToPDF.title=Markdown Para PDF +MarkdownToPDF.header=Markdown Para PDF MarkdownToPDF.submit=Converter -MarkdownToPDF.help=Trabalho em andamento -MarkdownToPDF.credit=Usa o WeasyPrint +MarkdownToPDF.help=Trabalho em progresso +MarkdownToPDF.credit=Usa WeasyPrint #url-to-pdf -URLToPDF.title=URL para PDF -URLToPDF.header=URL para PDF +URLToPDF.title=URL Para PDF +URLToPDF.header=URL Para PDF URLToPDF.submit=Converter -URLToPDF.credit=Usa o WeasyPrint +URLToPDF.credit=Usa WeasyPrint #html-to-pdf -HTMLToPDF.title=HTML para PDF -HTMLToPDF.header=HTML para PDF +HTMLToPDF.title=HTML Para PDF +HTMLToPDF.header=HTML Para PDF HTMLToPDF.help=Aceita ficheiros HTML e ZIPs contendo html/css/imagens etc necessários HTMLToPDF.submit=Converter -HTMLToPDF.credit=Usa o WeasyPrint -HTMLToPDF.zoom=Nível de zoom para exibição do site. -HTMLToPDF.pageWidth=Largura da página em centímetros. (Vazio para padrão) -HTMLToPDF.pageHeight=Altura da página em centímetros. (BVazio para padrão) -HTMLToPDF.marginTop=Margem superior da página em milímetros. (Vazio para padrão) -HTMLToPDF.marginBottom=Margem inferior da página em milímetros. (Vazio para padrão) -HTMLToPDF.marginLeft=Margem esquerda da página em milímetros. (Vazio para padrão) -HTMLToPDF.marginRight=Margem direita da página em milímetros. (Vazio para padrão) -HTMLToPDF.printBackground=Renderize o plano de fundo dos wesites. -HTMLToPDF.defaultHeader=Habilitar cabeçalho padrão (Nome e número de página) -HTMLToPDF.cssMediaType=Alterar o CSS da página. +HTMLToPDF.credit=Usa WeasyPrint +HTMLToPDF.zoom=Nível de zoom para mostrar o website. +HTMLToPDF.pageWidth=Largura da página em centímetros. (Em branco para predefinição) +HTMLToPDF.pageHeight=Altura da página em centímetros. (Em branco para predefinição) +HTMLToPDF.marginTop=Margem superior da página em milímetros. (Em branco para predefinição) +HTMLToPDF.marginBottom=Margem inferior da página em milímetros. (Em branco para predefinição) +HTMLToPDF.marginLeft=Margem esquerda da página em milímetros. (Em branco para predefinição) +HTMLToPDF.marginRight=Margem direita da página em milímetros. (Em branco para predefinição) +HTMLToPDF.printBackground=Renderizar o fundo dos websites. +HTMLToPDF.defaultHeader=Ativar Cabeçalho Predefinido (Nome e número de página) +HTMLToPDF.cssMediaType=Alterar o tipo de media CSS da página. HTMLToPDF.none=Nenhum HTMLToPDF.print=Imprimir HTMLToPDF.screen=Ecrã #AddStampRequest -AddStampRequest.header=Carimbo PDF -AddStampRequest.title=Carimbo PDF -AddStampRequest.stampType=Tipo do Carimbo +AddStampRequest.header=Carimbar PDF +AddStampRequest.title=Carimbar PDF +AddStampRequest.stampType=Tipo de Carimbo AddStampRequest.stampText=Texto do Carimbo AddStampRequest.stampImage=Imagem do Carimbo AddStampRequest.alphabet=Alfabeto -AddStampRequest.fontSize=Tamanho do(a) Tipo de Letra/Imagem +AddStampRequest.fontSize=Tamanho da Fonte/Imagem AddStampRequest.rotation=Rotação AddStampRequest.opacity=Opacidade AddStampRequest.position=Posição -AddStampRequest.overrideX=Substituir a Coordenada X -AddStampRequest.overrideY=Substituir a Coordenada Y -AddStampRequest.customMargin=Personalizar a Margem -AddStampRequest.customColor=Personalizar a cor do texto +AddStampRequest.overrideX=Sobrepor Coordenada X +AddStampRequest.overrideY=Sobrepor Coordenada Y +AddStampRequest.customMargin=Margem Personalizada +AddStampRequest.customColor=Cor de Texto Personalizada AddStampRequest.submit=Submeter #sanitizePDF sanitizePDF.title=Sanitizar PDF sanitizePDF.header=Sanitizar um ficheiro PDF -sanitizePDF.selectText.1=Remover acções de JavaScript -sanitizePDF.selectText.2=Remover ficheiros embutidos +sanitizePDF.selectText.1=Remover ações JavaScript +sanitizePDF.selectText.2=Remover ficheiros incorporados sanitizePDF.selectText.3=Remover metadados -sanitizePDF.selectText.4=Remover links -sanitizePDF.selectText.5=Remover fontes +sanitizePDF.selectText.4=Remover ligações +sanitizePDF.selectText.5=Remover tipos de letra sanitizePDF.submit=Sanitizar PDF #addPageNumbers addPageNumbers.title=Adicionar Números de Página addPageNumbers.header=Adicionar Números de Página -addPageNumbers.selectText.1=Seleccionar ficheiro PDF: +addPageNumbers.selectText.1=Selecionar ficheiro PDF: addPageNumbers.selectText.2=Tamanho da Margem addPageNumbers.selectText.3=Posição addPageNumbers.selectText.4=Número Inicial addPageNumbers.selectText.5=Páginas a Numerar addPageNumbers.selectText.6=Texto Personalizado -addPageNumbers.customTextDesc=Texto personalizado -addPageNumbers.numberPagesDesc=Quais as páginas a numerar. (padrão 'todas', ex: 1-5 ou 2,5,9 etc) -addPageNumbers.customNumberDesc=O padrão é {n}, também aceita 'Pagina {n} de {total}', 'Texto-{n}', '{filename}-{n} +addPageNumbers.customTextDesc=Texto Personalizado +addPageNumbers.numberPagesDesc=Quais páginas a numerar, predefinição 'todas', também aceita 1-5 ou 2,5,9 etc +addPageNumbers.customNumberDesc=Predefinição {n}, também aceita 'Página {n} de {total}', 'Texto-{n}', '{filename}-{n} addPageNumbers.submit=Adicionar Números de Página #auto-rename auto-rename.title=Renomear Automático -auto-rename.header=Renomear Automático de PDF +auto-rename.header=Renomear PDF Automaticamente auto-rename.submit=Renomear Automático @@ -731,28 +731,28 @@ adjustContrast.header=Ajustar Contraste adjustContrast.contrast=Contraste: adjustContrast.brightness=Brilho: adjustContrast.saturation=Saturação: -adjustContrast.download=Download +adjustContrast.download=Transferir #crop -crop.title=Cortar -crop.header=Cortar PDF -crop.submit=Enviar +crop.title=Recortar +crop.header=Recortar PDF +crop.submit=Submeter #autoSplitPDF autoSplitPDF.title=Divisão Automática de PDF autoSplitPDF.header=Divisão Automática de PDF -autoSplitPDF.description=Imprima, insira, digitalize, faça o upload e deixe que o sistema divida seus documentos automaticamente. Nenhuma classificação manual necessária. -autoSplitPDF.selectText.1=Imprima algumas folhas divisórias abaixo. -autoSplitPDF.selectText.2=Digitalize todos os seus documentos de uma vez, inserindo a folha divisória entre eles. -autoSplitPDF.selectText.3=Faça o upload do único ficheiro PDF grande digitalizado e os sistema faz o restante trabalho. -autoSplitPDF.selectText.4=As páginas divisórias são detectadas e removidas automaticamente, garantindo um documento final organizado. -autoSplitPDF.formPrompt=Enviar PDF contendo folhas divisórias: +autoSplitPDF.description=Imprima, Insira, Digitalize, carregue, e deixe-nos separar automaticamente os seus documentos. Sem necessidade de organização manual. +autoSplitPDF.selectText.1=Imprima algumas folhas separadoras abaixo (Preto e branco é suficiente). +autoSplitPDF.selectText.2=Digitalize todos os seus documentos de uma vez inserindo a folha separadora entre eles. +autoSplitPDF.selectText.3=Carregue o único ficheiro PDF digitalizado grande e deixe o Stirling PDF tratar do resto. +autoSplitPDF.selectText.4=As páginas separadoras são automaticamente detetadas e removidas, garantindo um documento final organizado. +autoSplitPDF.formPrompt=Submeter PDF contendo separadores de página Stirling-PDF: autoSplitPDF.duplexMode=Modo Duplex (Digitalização frente e verso) -autoSplitPDF.dividerDownload1=Download 'Folha Divisória Automática (mínima).pdf' -autoSplitPDF.dividerDownload2=Download 'Folha Divisória Automática (com instruções).pdf' -autoSplitPDF.submit=Enviar +autoSplitPDF.dividerDownload1=Transferir 'Separador de Divisão Automática (minimal).pdf' +autoSplitPDF.dividerDownload2=Transferir 'Separador de Divisão Automática (com instruções).pdf' +autoSplitPDF.submit=Submeter #pipeline @@ -760,44 +760,44 @@ pipeline.title=Pipeline #pageLayout -pageLayout.title=Layout de Múltiplas Páginas -pageLayout.header=Layout de Múltiplas Páginas +pageLayout.title=Layout Multi-Página +pageLayout.header=Layout Multi-Página pageLayout.pagesPerSheet=Páginas por folha: -pageLayout.addBorder=Adicionar Contorno -pageLayout.submit=Enviar +pageLayout.addBorder=Adicionar Bordas +pageLayout.submit=Submeter #scalePages -scalePages.title=Ajustar Tamanho/Escala da Página -scalePages.header=Ajustar Tamanho/Escala da Página +scalePages.title=Ajustar escala de página +scalePages.header=Ajustar escala de página scalePages.pageSize=Tamanho de uma página do documento. -scalePages.keepPageSize=Tamanho original -scalePages.scaleFactor=Fator de zoom (corte) de uma página. -scalePages.submit=Enviar +scalePages.keepPageSize=Tamanho Original +scalePages.scaleFactor=Nível de zoom (recorte) de uma página. +scalePages.submit=Submeter #certSign -certSign.title=Assinatura com Certificado -certSign.header=Assine um PDF com o seu certificado (Em desenvolvimento) -certSign.selectPDF=Selecione um ficheiro PDF para assinatura: -certSign.jksNote=Nota: Se o seu tipo de certificado não estiver listado abaixo, converta-o em um arquivo Java Keystore (.jks) usando a ferramenta de linha de comando keytool. Em seguida, escolha a opção de arquivo .jks abaixo. -certSign.selectKey=Selecione o seu ficheiro de chave privada (formato PKCS#8, pode ser .pem ou .der): -certSign.selectCert=Selecione o seu ficheiro de certificado (formato X.509, pode ser .pem ou .der): -certSign.selectP12=Selecione o seu ficheiro de armazenamento de chave PKCS#12 (.p12 ou .pfx) (opcional, se fornecido, deve conter a sua chave privada e certificado): -certSign.selectJKS=Selecione o seu Arquivo de Java Keystore (.jks ou .keystore): +certSign.title=Assinatura de Certificado +certSign.header=Assinar um PDF com o seu certificado (Trabalho em progresso) +certSign.selectPDF=Selecione um Ficheiro PDF para Assinar: +certSign.jksNote=Nota: Se o seu tipo de certificado não estiver listado abaixo, por favor converta-o para um ficheiro Java Keystore (.jks) usando a ferramenta de linha de comando keytool. Depois, escolha a opção de ficheiro .jks abaixo. +certSign.selectKey=Selecione o Seu Ficheiro de Chave Privada (formato PKCS#8, pode ser .pem ou .der): +certSign.selectCert=Selecione o Seu Ficheiro de Certificado (formato X.509, pode ser .pem ou .der): +certSign.selectP12=Selecione o Seu Ficheiro Keystore PKCS#12 (.p12 ou .pfx) (Opcional, Se fornecido, deve conter a sua chave privada e certificado): +certSign.selectJKS=Selecione o Seu Ficheiro Java Keystore (.jks ou .keystore): certSign.certType=Tipo de Certificado -certSign.password=Digite a senha do seu armazenamento de chave ou chave privada (se aplicável): +certSign.password=Introduza a Sua Palavra-passe de Keystore ou Chave Privada (Se Existir): certSign.showSig=Mostrar Assinatura certSign.reason=Razão certSign.location=Localização certSign.name=Nome -certSign.showLogo=Mostrar Logotipo +certSign.showLogo=Mostrar Logo certSign.submit=Assinar PDF #removeCertSign -removeCertSign.title=Remover Assinatura Digital -removeCertSign.header=Remova a assinatura digital do PDF +removeCertSign.title=Remover Assinatura de Certificado +removeCertSign.header=Remover o certificado digital do PDF removeCertSign.selectPDF=Selecione um ficheiro PDF: removeCertSign.submit=Remover Assinatura @@ -805,16 +805,16 @@ removeCertSign.submit=Remover Assinatura #removeBlanks removeBlanks.title=Remover Páginas em Branco removeBlanks.header=Remover Páginas em Branco -removeBlanks.threshold=Limiar: -removeBlanks.thresholdDesc=Limiar para determinar o quão branco um pixel branco deve ser -removeBlanks.whitePercent=Porcentagem de Branco (%): -removeBlanks.whitePercentDesc=Porcentagem da página que deve ser branca para ser removida +removeBlanks.threshold=Limiar de Brancura de Pixel: +removeBlanks.thresholdDesc=Limiar para determinar quão branco um pixel branco deve ser para ser classificado como 'Branco'. 0 = Preto, 255 branco puro. +removeBlanks.whitePercent=Percentagem de Branco (%): +removeBlanks.whitePercentDesc=Percentagem da página que deve ser pixels 'brancos' para ser removida removeBlanks.submit=Remover Páginas em Branco #removeAnnotations -removeAnnotations.title=Remover Notas -removeAnnotations.header=Remover Notas +removeAnnotations.title=Remover Anotações +removeAnnotations.header=Remover Anotações removeAnnotations.submit=Remover @@ -826,43 +826,43 @@ compare.highlightColor.2=Cor de Destaque 2: compare.document.1=Documento 1 compare.document.2=Documento 2 compare.submit=Comparar -compare.complex.message=Um ou ambos os documentos fornecidos são arquivos grandes, a precisão da comparação pode ser reduzida -compare.large.file.message=Um ou ambos os documentos fornecidos são muito grandes para processar -compare.no.text.message=Um ou ambos os PDFs seleccionados não têm conteúdo textual. Por favor, seleccione PDFs com texto para comparação. +compare.complex.message=Um ou ambos os documentos fornecidos são ficheiros grandes, a precisão da comparação pode ser reduzida +compare.large.file.message=Um ou ambos os documentos fornecidos são demasiado grandes para processar +compare.no.text.message=Um ou ambos os PDFs selecionados não têm conteúdo de texto. Por favor escolha PDFs com texto para comparação. #BookToPDF -BookToPDF.title=Livros e Quadrinhos para PDF +BookToPDF.title=Livros e Bandas Desenhadas para PDF BookToPDF.header=Livro para PDF -BookToPDF.credit=Utiliza Calibre +BookToPDF.credit=Usa Calibre BookToPDF.submit=Converter #PDFToBook PDFToBook.title=PDF para Livro PDFToBook.header=PDF para Livro -PDFToBook.selectText.1=Formatação -PDFToBook.credit=Utiliza Calibre +PDFToBook.selectText.1=Formato +PDFToBook.credit=Usa Calibre PDFToBook.submit=Converter #sign sign.title=Assinar sign.header=Assinar PDFs -sign.upload=Enviar Imagem +sign.upload=Carregar Imagem sign.draw=Desenhar Assinatura -sign.text=Inserir Texto +sign.text=Entrada de Texto sign.clear=Limpar sign.add=Adicionar sign.saved=Assinaturas Guardadas sign.save=Guardar Assinatura sign.personalSigs=Assinaturas Pessoais -sign.sharedSigs=Assinaturas Compartilhadas +sign.sharedSigs=Assinaturas Partilhadas sign.noSavedSigs=Nenhuma assinatura guardada encontrada -sign.addToAll=Add to all pages -sign.delete=Delete -sign.first=First page -sign.last=Last page -sign.next=Next page -sign.previous=Previous page -sign.maintainRatio=Toggle maintain aspect ratio +sign.addToAll=Adicionar a todas as páginas +sign.delete=Eliminar +sign.first=Primeira página +sign.last=Última página +sign.next=Próxima página +sign.previous=Página anterior +sign.maintainRatio=Alternar manter proporção #repair @@ -874,40 +874,40 @@ repair.submit=Reparar #flatten flatten.title=Achatar flatten.header=Achatar PDFs -flatten.flattenOnlyForms=Apenas formularios aplanados +flatten.flattenOnlyForms=Achatar apenas formulários flatten.submit=Achatar #ScannerImageSplit -ScannerImageSplit.selectText.1=Limite de Ângulo: -ScannerImageSplit.selectText.2=Define o ângulo absoluto mínimo necessário para que a imagem seja girada (padrão: 10). +ScannerImageSplit.selectText.1=Limiar de Ângulo: +ScannerImageSplit.selectText.2=Define o ângulo absoluto mínimo necessário para a imagem ser rodada (predefinição: 10). ScannerImageSplit.selectText.3=Tolerância: -ScannerImageSplit.selectText.4=Determina o intervalo de variação de cor em torno da cor de fundo estimada (padrão: 30). +ScannerImageSplit.selectText.4=Determina o intervalo de variação de cor em torno da cor de fundo estimada (predefinição: 30). ScannerImageSplit.selectText.5=Área Mínima: -ScannerImageSplit.selectText.6=Define o limite mínimo de área para uma foto (padrão: 10000). -ScannerImageSplit.selectText.7=Área mínima de contorno: -ScannerImageSplit.selectText.8=Define o limite mínimo da área de contorno para uma foto -ScannerImageSplit.selectText.9=Tamanho do contorno: -ScannerImageSplit.selectText.10=Define o tamanho do contorno adicionado e removido para evitar contornos brancos na saída (padrão: 1). -ScannerImageSplit.info=O Python não está instalado. É necessário para execução. +ScannerImageSplit.selectText.6=Define o limiar de área mínima para uma foto (predefinição: 10000). +ScannerImageSplit.selectText.7=Área Mínima de Contorno: +ScannerImageSplit.selectText.8=Define o limiar de área mínima de contorno para uma foto +ScannerImageSplit.selectText.9=Tamanho da Borda: +ScannerImageSplit.selectText.10=Define o tamanho da borda adicionada e removida para prevenir bordas brancas na saída (predefinição: 1). +ScannerImageSplit.info=Python não está instalado. É necessário para executar. #OCR -ocr.title=OCR / Limpeza de Digitalização -ocr.header=OCR / Limpeza de Digitalização (Reconhecimento Óptico de Caracteres) -ocr.selectText.1=Selecione os idiomas a serem detectados no PDF (os listados são os atualmente detectados): -ocr.selectText.2=Criar um ficheiro de texto contendo o texto OCR ao lado do PDF com OCR -ocr.selectText.3=Páginas corretamente digitalizadas em um ângulo inclinado, gire-as de volta à posição original -ocr.selectText.4=Limpar a página para reduzir a probabilidade de o OCR encontrar texto no ruído de fundo (sem alteração na saída) -ocr.selectText.5=Limpar a página para reduzir a probabilidade de o OCR encontrar texto no ruído de fundo, mantendo a limpeza na saída. -ocr.selectText.6=Ignorar páginas com texto interativo, processar apenas as páginas de OCR que são imagens -ocr.selectText.7=Forçar OCR, executar OCR em todas as páginas, removendo todos os elementos de texto originais -ocr.selectText.8=Normal (gerará um erro se o PDF já contiver texto) -ocr.selectText.9=Configurações adicionais +ocr.title=OCR / Limpeza de digitalizações +ocr.header=Limpeza de Digitalizações / OCR (Reconhecimento Ótico de Caracteres) +ocr.selectText.1=Selecione idiomas que devem ser detetados dentro do PDF (Os listados são os atualmente detetados): +ocr.selectText.2=Produzir ficheiro de texto contendo texto OCR junto com o PDF processado com OCR +ocr.selectText.3=Corrigir páginas que foram digitalizadas num ângulo inclinado rodando-as de volta ao lugar +ocr.selectText.4=Limpar página para que seja menos provável que o OCR encontre texto em ruído de fundo. (Sem alteração na saída) +ocr.selectText.5=Limpar página para que seja menos provável que o OCR encontre texto em ruído de fundo, mantém a limpeza na saída. +ocr.selectText.6=Ignora páginas que têm texto interativo, apenas processa OCR em páginas que são imagens +ocr.selectText.7=Forçar OCR, irá processar OCR em Cada página removendo todos os elementos de texto originais +ocr.selectText.8=Normal (Irá dar erro se o PDF contiver texto) +ocr.selectText.9=Definições Adicionais ocr.selectText.10=Modo OCR -ocr.selectText.11=Remover imagens após o OCR (remove TODAS as imagens, útil apenas como parte do processo de conversão) -ocr.selectText.12=Tipo de renderização (avançado) -ocr.help=Por favor, leia a documentação sobre como usar isso para outros idiomas e/ou fora do ambiente Docker +ocr.selectText.11=Remover imagens após OCR (Remove TODAS as imagens, apenas útil se parte do passo de conversão) +ocr.selectText.12=Tipo de Renderização (Avançado) +ocr.help=Por favor leia esta documentação sobre como usar isto para outros idiomas e/ou usar fora do docker ocr.credit=Este serviço usa qpdf e Tesseract para OCR. ocr.submit=Processar PDF com OCR @@ -915,46 +915,47 @@ ocr.submit=Processar PDF com OCR #extractImages extractImages.title=Extrair Imagens extractImages.header=Extrair Imagens -extractImages.selectText=Selecione o formato de imagem para converter as imagens extraídas +extractImages.selectText=Selecione formato de imagem para converter imagens extraídas extractImages.allowDuplicates=Guardar imagens duplicadas extractImages.submit=Extrair #File to PDF fileToPDF.title=Ficheiro para PDF -fileToPDF.header=Converter Qualquer ficheiro para PDF -fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros. -fileToPDF.supportedFileTypesInfo=Tipos de ficheiros suportados -fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice. +fileToPDF.header=Converter qualquer ficheiro para PDF +fileToPDF.credit=Este serviço usa LibreOffice e Unoconv para conversão de ficheiros. +fileToPDF.supportedFileTypesInfo=Tipos de Ficheiro Suportados +fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os abaixo, no entanto para uma lista completa atualizada de formatos suportados, por favor consulte a documentação do LibreOffice fileToPDF.submit=Converter para PDF #compress compress.title=Comprimir compress.header=Comprimir PDF -compress.credit=Este serviço usa o qpdf para compressão/otimização de PDF. -compress.selectText.1=Modo Manual - De 1 a 4 -compress.selectText.2=Nível de Otimização: -compress.selectText.3=4 (Pior para imagens de texto) -compress.selectText.4=Modo Automático - Ajusta automaticamente a qualidade para atingir o tamanho exato do PDF -compress.selectText.5=Tamanho Esperado do PDF (por exemplo, 25 MB, 10,8 MB, 25 KB) +compress.credit=Este serviço usa qpdf para Compressão/Otimização de PDF. +compress.selectText.1=Modo Manual - De 1 a 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.2=Nível de otimização: +compress.selectText.3=4 (Terrível para imagens de texto) +compress.selectText.4=Modo automático - Ajusta automaticamente a qualidade para obter o PDF com o tamanho exato +compress.selectText.5=Tamanho esperado do PDF (ex. 25MB, 10.8MB, 25KB) compress.submit=Comprimir #Add image addImage.title=Adicionar Imagem -addImage.header=Adicionar Imagem ao PDF -addImage.everyPage=Para cada página? -addImage.upload=Enviar Imagem -addImage.submit=Adicionar Imagem +addImage.header=Adicionar imagem ao PDF +addImage.everyPage=Todas as Páginas? +addImage.upload=Adicionar imagem +addImage.submit=Adicionar imagem #merge merge.title=Juntar -merge.header=Juntar Vários PDFs (2+) +merge.header=Juntar múltiplos PDFs (2+) merge.sortByName=Ordenar por nome merge.sortByDate=Ordenar por data -merge.removeCertSign=Remover assinatura digital no ficheiro combinado? +merge.removeCertSign=Remover assinatura digital no ficheiro junto? merge.submit=Juntar @@ -963,158 +964,158 @@ pdfOrganiser.title=Organizador de Páginas pdfOrganiser.header=Organizador de Páginas PDF pdfOrganiser.submit=Reorganizar Páginas pdfOrganiser.mode=Modo -pdfOrganiser.mode.1=Ordenação Personalizada de Páginas +pdfOrganiser.mode.1=Ordem de Página Personalizada pdfOrganiser.mode.2=Ordem Inversa pdfOrganiser.mode.3=Ordenação Duplex -pdfOrganiser.mode.4=Ordernação em Panfleto -pdfOrganiser.mode.5=Ordenação em Panfleto com Costura de Lateral -pdfOrganiser.mode.6=Divisão Ímpar-Par -pdfOrganiser.mode.7=Remover Primeira Página -pdfOrganiser.mode.8=Remover última Página -pdfOrganiser.mode.9=Remover Primeira e Última Página -pdfOrganiser.mode.10=Mergulho Ímpar-Par -pdfOrganiser.placeholder=(ex: 1,3,2 ou 4-8,2,10-12 ou 2n-1) +pdfOrganiser.mode.4=Ordenação em Livro +pdfOrganiser.mode.5=Ordenação em Livro com Costura Lateral +pdfOrganiser.mode.6=Divisão Par-Ímpar +pdfOrganiser.mode.7=Remover Primeira +pdfOrganiser.mode.8=Remover Última +pdfOrganiser.mode.9=Remover Primeira e Última +pdfOrganiser.mode.10=Junção Par-Ímpar +pdfOrganiser.placeholder=(ex. 1,3,2 ou 4-8,2,10-12 ou 2n-1) #multiTool -multiTool.title=Multiferramenta de PDF -multiTool.header=Multiferramenta de PDF -multiTool.uploadPrompts=Nome do Arquivo -multiTool.selectAll=Select All -multiTool.deselectAll=Deselect All -multiTool.selectPages=Page Select -multiTool.selectedPages=Selected Pages -multiTool.page=Page -multiTool.deleteSelected=Delete Selected -multiTool.downloadAll=Export -multiTool.downloadSelected=Export Selected +multiTool.title=Multi Ferramenta PDF +multiTool.header=Multi Ferramenta PDF +multiTool.uploadPrompts=Nome do Ficheiro +multiTool.selectAll=Selecionar Tudo +multiTool.deselectAll=Desselecionar Tudo +multiTool.selectPages=Selecionar Página +multiTool.selectedPages=Páginas Selecionadas +multiTool.page=Página +multiTool.deleteSelected=Eliminar Selecionadas +multiTool.downloadAll=Exportar +multiTool.downloadSelected=Exportar Selecionadas -multiTool.insertPageBreak=Insert Page Break -multiTool.addFile=Add File -multiTool.rotateLeft=Rotate Left -multiTool.rotateRight=Rotate Right -multiTool.split=Split -multiTool.moveLeft=Move Left -multiTool.moveRight=Move Right -multiTool.delete=Delete -multiTool.dragDropMessage=Page(s) Selected -multiTool.undo=Undo -multiTool.redo=Redo +multiTool.insertPageBreak=Inserir Quebra de Página +multiTool.addFile=Adicionar Ficheiro +multiTool.rotateLeft=Rodar à Esquerda +multiTool.rotateRight=Rodar à Direita +multiTool.split=Dividir +multiTool.moveLeft=Mover à Esquerda +multiTool.moveRight=Mover à Direita +multiTool.delete=Eliminar +multiTool.dragDropMessage=Página(s) Selecionada(s) +multiTool.undo=Desfazer +multiTool.redo=Refazer #decrypt -decrypt.passwordPrompt=This file is password-protected. Please enter the password: -decrypt.cancelled=Operation cancelled for PDF: {0} -decrypt.noPassword=No password provided for encrypted PDF: {0} -decrypt.invalidPassword=Please try again with the correct password. -decrypt.invalidPasswordHeader=Incorrect password or unsupported encryption for PDF: {0} -decrypt.unexpectedError=There was an error processing the file. Please try again. -decrypt.serverError=Server error while decrypting: {0} -decrypt.success=File decrypted successfully. +decrypt.passwordPrompt=Este ficheiro está protegido por palavra-passe. Por favor introduza a palavra-passe: +decrypt.cancelled=Operação cancelada para PDF: {0} +decrypt.noPassword=Nenhuma palavra-passe fornecida para PDF encriptado: {0} +decrypt.invalidPassword=Por favor tente novamente com a palavra-passe correta. +decrypt.invalidPasswordHeader=Palavra-passe incorreta ou encriptação não suportada para PDF: {0} +decrypt.unexpectedError=Ocorreu um erro ao processar o ficheiro. Por favor tente novamente. +decrypt.serverError=Erro do servidor ao desencriptar: {0} +decrypt.success=Ficheiro desencriptado com sucesso. #multiTool-advert -multiTool-advert.message=This feature is also available in our multi-tool page. Check it out for enhanced page-by-page UI and additional features! +multiTool-advert.message=Esta funcionalidade também está disponível na nossa página multi-ferramenta. Experimente para uma interface melhorada página a página e funcionalidades adicionais! #view pdf -viewPdf.title=Visualizar PDF -viewPdf.header=Visualizar PDF +viewPdf.title=Ver PDF +viewPdf.header=Ver PDF #pageRemover -pageRemover.title=Remover Página -pageRemover.header=Remover Páginas do PDF -pageRemover.pagesToDelete=Páginas a serem excluídas (insira uma lista separada por vírgulas de números de página): -pageRemover.submit=Excluir Páginas -pageRemover.placeholder=(ex: 1,2,6 ou 1-10,15-30) +pageRemover.title=Removedor de Página +pageRemover.header=Removedor de Página PDF +pageRemover.pagesToDelete=Páginas a eliminar (Introduza uma lista de números de página separados por vírgulas): +pageRemover.submit=Eliminar Páginas +pageRemover.placeholder=(ex. 1,2,6 ou 1-10,15-30) #rotate -rotate.title=Girar PDF -rotate.header=Girar PDF -rotate.selectAngle=Seleccione o ângulo de rotação (múltiplos de 90 graus): -rotate.submit=Girar +rotate.title=Rodar PDF +rotate.header=Rodar PDF +rotate.selectAngle=Selecione ângulo de rotação (em múltiplos de 90 graus): +rotate.submit=Rodar #split-pdfs split.title=Dividir PDF split.header=Dividir PDF -split.desc.1=Os números seleccionados correspondem às páginas onde você deseja fazer a divisão. -split.desc.2=Por exemplo, seleccionar 1,3,7-9 dividirá um documento de 10 páginas em 6 PDFs separados da seguinte forma: -split.desc.3=Documento Nº1: Página 1 -split.desc.4=Documento Nº2: Páginas 2 e 3 -split.desc.5=Documento Nº3: Páginas 4, 5, 6 e 7 -split.desc.6=Documento Nº4: Página 8 -split.desc.7=Documento Nº5: Página 9 -split.desc.8=Documento Nº6: Páginas 10 -split.splitPages=Digite as páginas para a divisão: +split.desc.1=Os números que seleciona são o número da página onde deseja fazer uma divisão +split.desc.2=Como tal, selecionar 1,3,7-9 iria dividir um documento de 10 páginas em 6 PDFs separados com: +split.desc.3=Documento #1: Página 1 +split.desc.4=Documento #2: Páginas 2 e 3 +split.desc.5=Documento #3: Páginas 4, 5, 6, 7 +split.desc.6=Documento #4: Página 8 +split.desc.7=Documento #5: Página 9 +split.desc.8=Documento #6: Página 10 +split.splitPages=Introduza páginas para dividir: split.submit=Dividir #merge imageToPDF.title=Imagem para PDF -imageToPDF.header=Converter Imagem para PDF +imageToPDF.header=Imagem para PDF imageToPDF.submit=Converter -imageToPDF.selectLabel=Opções de ajuste de imagem -imageToPDF.fillPage=Preencher página -imageToPDF.fitDocumentToImage=Ajustar página à imagem -imageToPDF.maintainAspectRatio=Manter proporções -imageToPDF.selectText.2=Girar Automaticamente -imageToPDF.selectText.3=Lógica de Vários ficheiros (Ativada apenas ao trabalhar com várias imagens) -imageToPDF.selectText.4=Juntar em um Único PDF -imageToPDF.selectText.5=Converter em PDFs Separados +imageToPDF.selectLabel=Opções de Ajuste de Imagem +imageToPDF.fillPage=Preencher Página +imageToPDF.fitDocumentToImage=Ajustar Página à Imagem +imageToPDF.maintainAspectRatio=Manter Proporções +imageToPDF.selectText.2=Rodar PDF automaticamente +imageToPDF.selectText.3=Lógica de múltiplos ficheiros (Apenas ativada se trabalhar com múltiplas imagens) +imageToPDF.selectText.4=Juntar num único PDF +imageToPDF.selectText.5=Converter para PDFs separados #pdfToImage pdfToImage.title=PDF para Imagem -pdfToImage.header=Converter PDF para Imagem +pdfToImage.header=PDF para Imagem pdfToImage.selectText=Formato de Imagem -pdfToImage.singleOrMultiple=Tipo de Resultado de Imagem +pdfToImage.singleOrMultiple=Tipo de resultado da imagem pdfToImage.single=Única Imagem Grande pdfToImage.multi=Múltiplas Imagens -pdfToImage.colorType=Tipo de Cor -pdfToImage.color=Colorida +pdfToImage.colorType=Tipo de cor +pdfToImage.color=Cor pdfToImage.grey=Escala de Cinza -pdfToImage.blackwhite=Preto e Branco (pode resultar em perda de dados!) +pdfToImage.blackwhite=Preto e Branco (Pode perder dados!) pdfToImage.submit=Converter -pdfToImage.info=O Python não está instalado. Necessário para a conversão de WebP. -pdfToImage.placeholder=(ex: 1,2,8 ou 4,7,12-16 ou 2n-1) +pdfToImage.info=Python não está instalado. Necessário para conversão WebP. +pdfToImage.placeholder=(ex. 1,2,8 ou 4,7,12-16 ou 2n-1) #addPassword -addPassword.title=Adicionar Senha -addPassword.header=Adicionar Senha (Proteger) -addPassword.selectText.1=Selecione o PDF para Proteger -addPassword.selectText.2=Senha -addPassword.selectText.3=Tamanho da Chave de Criptografia -addPassword.selectText.4=Valores mais altos são mais seguros, mas valores mais baixos são mais compatíveis. -addPassword.selectText.5=Permissões para Definir -addPassword.selectText.6=Impedir Montagem do Documento -addPassword.selectText.7=Impedir Extracção de Conteúdo -addPassword.selectText.8=Impedir Extracção para Acessibilidade -addPassword.selectText.9=Impedir Preenchimento de Formulário -addPassword.selectText.10=Impedir Modificação -addPassword.selectText.11=Impedir Modificação de Anotação -addPassword.selectText.12=Impedir Impressão -addPassword.selectText.13=Impedir Impressão de Formatos Diferentes -addPassword.selectText.14=Senha do Proprietário -addPassword.selectText.15=Restringe o que pode ser feito com o documento após a abertura (nem todos os leitores dão suporte a isso) +addPassword.title=Adicionar Palavra-passe +addPassword.header=Adicionar palavra-passe (Encriptar) +addPassword.selectText.1=Selecione PDF para encriptar +addPassword.selectText.2=Palavra-passe de Utilizador +addPassword.selectText.3=Comprimento da Chave de Encriptação +addPassword.selectText.4=Valores mais altos são mais fortes, mas valores mais baixos têm melhor compatibilidade. +addPassword.selectText.5=Permissões a definir (Recomendado usar junto com palavra-passe de Proprietário) +addPassword.selectText.6=Impedir montagem do documento +addPassword.selectText.7=Impedir extração de conteúdo +addPassword.selectText.8=Impedir extração para acessibilidade +addPassword.selectText.9=Impedir preenchimento de formulário +addPassword.selectText.10=Impedir modificação +addPassword.selectText.11=Impedir modificação de anotação +addPassword.selectText.12=Impedir impressão +addPassword.selectText.13=Impedir impressão em diferentes formatos +addPassword.selectText.14=Palavra-passe de Proprietário +addPassword.selectText.15=Restringe o que pode ser feito com o documento uma vez aberto (Não suportado por todos os leitores) addPassword.selectText.16=Restringe a abertura do próprio documento -addPassword.submit=Proteger +addPassword.submit=Encriptar #watermark -watermark.title=Adicionar Marca d'Água -watermark.header=Adicionar Marca d'Água -watermark.customColor=Personalizar a cor do texto -watermark.selectText.1=Seleccione o PDF para Adicionar a Marca d'Água -watermark.selectText.2=Texto da Marca d'Água -watermark.selectText.3=Tamanho da Fonte -watermark.selectText.4=Rotação (0-360) -watermark.selectText.5=Espaçamento Horizontal (Width Spacer) -watermark.selectText.6=Espaçamento Vertical (Height Spacer) -watermark.selectText.7=Opacidade (0% - 100%) -watermark.selectText.8=Tipo de Marca d'Água -watermark.selectText.9=Imagem da Marca d'Água -watermark.selectText.10=Converter PDF em Imagem -watermark.submit=Adicionar Marca d'Água +watermark.title=Adicionar Marca de Água +watermark.header=Adicionar Marca de Água +watermark.customColor=Cor de Texto Personalizada +watermark.selectText.1=Selecione PDF para adicionar marca de água: +watermark.selectText.2=Texto da Marca de Água: +watermark.selectText.3=Tamanho da Fonte: +watermark.selectText.4=Rotação (0-360): +watermark.selectText.5=Espaçador de Largura (Espaço entre cada marca de água horizontalmente): +watermark.selectText.6=Espaçador de Altura (Espaço entre cada marca de água verticalmente): +watermark.selectText.7=Opacidade (0% - 100%): +watermark.selectText.8=Tipo de Marca de Água: +watermark.selectText.9=Imagem da Marca de Água: +watermark.selectText.10=Converter PDF para PDF-Imagem +watermark.submit=Adicionar Marca de Água watermark.type.1=Texto watermark.type.2=Imagem @@ -1122,34 +1123,34 @@ watermark.type.2=Imagem #Change permissions permissions.title=Alterar Permissões permissions.header=Alterar Permissões -permissions.warning=Nota: Para tornar essas permissões inalteráveis, é recomendável defini-las com uma senha através da página "Adicionar Senha". -permissions.selectText.1=Seleccione o PDF para Alterar as Permissões -permissions.selectText.2=Permissões para Definir -permissions.selectText.3=Impedir Montagem do Documento -permissions.selectText.4=Impedir Extração de Conteúdo -permissions.selectText.5=Impedir Extração para Acessibilidade -permissions.selectText.6=Impedir Preenchimento de Formulário -permissions.selectText.7=Impedir Modificações -permissions.selectText.8=Impedir Modificação de Anotação -permissions.selectText.9=Impedir Impressão -permissions.selectText.10=Impedir Impressão de Formatos Diferentes +permissions.warning=Aviso para tornar estas permissões inalteráveis é recomendado defini-las com uma palavra-passe através da página adicionar-palavra-passe +permissions.selectText.1=Selecione PDF para alterar permissões +permissions.selectText.2=Permissões a definir +permissions.selectText.3=Impedir montagem do documento +permissions.selectText.4=Impedir extração de conteúdo +permissions.selectText.5=Impedir extração para acessibilidade +permissions.selectText.6=Impedir preenchimento de formulário +permissions.selectText.7=Impedir modificação +permissions.selectText.8=Impedir modificação de anotação +permissions.selectText.9=Impedir impressão +permissions.selectText.10=Impedir impressão em diferentes formatos permissions.submit=Alterar #remove password -removePassword.title=Remover Senha -removePassword.header=Remover Senha (Desproteger) -removePassword.selectText.1=Selecione o PDF para Desproteger -removePassword.selectText.2=Senha +removePassword.title=Remover palavra-passe +removePassword.header=Remover palavra-passe (Desencriptar) +removePassword.selectText.1=Selecione PDF para Desencriptar +removePassword.selectText.2=Palavra-passe removePassword.submit=Remover #changeMetadata changeMetadata.title=Título: changeMetadata.header=Alterar Metadados -changeMetadata.selectText.1=Edite as Variáveis que Deseja Alterar -changeMetadata.selectText.2=Excluir Todos os Metadados -changeMetadata.selectText.3=Mostrar Metadados Personalizados +changeMetadata.selectText.1=Por favor edite as variáveis que deseja alterar +changeMetadata.selectText.2=Eliminar todos os metadados +changeMetadata.selectText.3=Mostrar Metadados Personalizados: changeMetadata.author=Autor: changeMetadata.creationDate=Data de Criação (aaaa/MM/dd HH:mm:ss): changeMetadata.creator=Criador: @@ -1157,144 +1158,144 @@ changeMetadata.keywords=Palavras-chave: changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss): changeMetadata.producer=Produtor: changeMetadata.subject=Assunto: -changeMetadata.trapped=Encalhado: -changeMetadata.selectText.4=Outros Metadados -changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados -changeMetadata.submit=Mudar +changeMetadata.trapped=Capturado: +changeMetadata.selectText.4=Outros Metadados: +changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizada +changeMetadata.submit=Alterar #pdfToPDFA -pdfToPDFA.title=PDF para PDF/A -pdfToPDFA.header=PDF para PDF/A -pdfToPDFA.credit=Este serviço usa qpdf para Conversão de PDF/A +pdfToPDFA.title=PDF Para PDF/A +pdfToPDFA.header=PDF Para PDF/A +pdfToPDFA.credit=Este serviço usa qpdf para conversão PDF/A pdfToPDFA.submit=Converter -pdfToPDFA.tip=Actualmente não funciona para múltiplos inputs de uma só vez +pdfToPDFA.tip=Atualmente não funciona para múltiplas entradas de uma só vez pdfToPDFA.outputFormat=Formato de saída -pdfToPDFA.pdfWithDigitalSignature=O PDF contém um selo digital. Isto será removido no próximo passo. +pdfToPDFA.pdfWithDigitalSignature=O PDF contém uma assinatura digital. Esta será removida no próximo passo. #PDFToWord PDFToWord.title=PDF para Word PDFToWord.header=PDF para Word -PDFToWord.selectText.1=Formato do ficheiro de Saída -PDFToWord.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. +PDFToWord.selectText.1=Formato do ficheiro de saída +PDFToWord.credit=Este serviço usa LibreOffice para conversão de ficheiros. PDFToWord.submit=Converter #PDFToPresentation PDFToPresentation.title=PDF para Apresentação PDFToPresentation.header=PDF para Apresentação -PDFToPresentation.selectText.1=Formato do ficheiro de Saída -PDFToPresentation.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. +PDFToPresentation.selectText.1=Formato do ficheiro de saída +PDFToPresentation.credit=Este serviço usa LibreOffice para conversão de ficheiros. PDFToPresentation.submit=Converter #PDFToText -PDFToText.title=PDF para Texto/RTF -PDFToText.header=PDF para Texto/RTF -PDFToText.selectText.1=Formato do ficheiro de Saída -PDFToText.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. +PDFToText.title=PDF para RTF (Texto) +PDFToText.header=PDF para RTF (Texto) +PDFToText.selectText.1=Formato do ficheiro de saída +PDFToText.credit=Este serviço usa LibreOffice para conversão de ficheiros. PDFToText.submit=Converter #PDFToHTML PDFToHTML.title=PDF para HTML PDFToHTML.header=PDF para HTML -PDFToHTML.credit=Este serviço usa o pdftohtml para Conversão de ficheiros. +PDFToHTML.credit=Este serviço usa pdftohtml para conversão de ficheiros. PDFToHTML.submit=Converter #PDFToXML PDFToXML.title=PDF para XML PDFToXML.header=PDF para XML -PDFToXML.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. +PDFToXML.credit=Este serviço usa LibreOffice para conversão de ficheiros. PDFToXML.submit=Converter #PDFToCSV PDFToCSV.title=PDF para CSV PDFToCSV.header=PDF para CSV -PDFToCSV.prompt=Escolha a página para extrair a tabela -PDFToCSV.submit=Eztenna +PDFToCSV.prompt=Escolha a página para extrair tabela +PDFToCSV.submit=Extrair #split-by-size-or-count -split-by-size-or-count.title=Dividir o PDF por tamanho, número de páginas ou número de documentos -split-by-size-or-count.header=Dividir o PDF por tamanho, número de páginas ou número de documentos -split-by-size-or-count.type.label=Seleccione o tipo de divisão +split-by-size-or-count.title=Dividir PDF por Tamanho ou Contagem +split-by-size-or-count.header=Dividir PDF por Tamanho ou Contagem +split-by-size-or-count.type.label=Selecione Tipo de Divisão split-by-size-or-count.type.size=Por Tamanho -split-by-size-or-count.type.pageCount=Por Número de Páginas -split-by-size-or-count.type.docCount=Por Número de Documentos -split-by-size-or-count.value.label=Introduzir valor -split-by-size-or-count.value.placeholder=Introduzir tamanho (ex: 2MB or 3KB) or página (ex: 5) +split-by-size-or-count.type.pageCount=Por Contagem de Páginas +split-by-size-or-count.type.docCount=Por Contagem de Documentos +split-by-size-or-count.value.label=Introduzir Valor +split-by-size-or-count.value.placeholder=Introduza tamanho (ex., 2MB ou 3KB) ou contagem (ex., 5) split-by-size-or-count.submit=Submeter #overlay-pdfs -overlay-pdfs.header=Sobrepor arquivos PDF -overlay-pdfs.baseFile.label=Selecione o arquivo PDF base -overlay-pdfs.overlayFiles.label=Selecione o arquivo PDF para sobrepor -overlay-pdfs.mode.label=Selecione o modo de sobreposição -overlay-pdfs.mode.sequential=Sobreposição sequencial -overlay-pdfs.mode.interleaved=Sobreposição intercalada -overlay-pdfs.mode.fixedRepeat=Sobreposição de repetição fixa -overlay-pdfs.counts.label=Contagens de sobreposição (para modo de repetição fixa) -overlay-pdfs.counts.placeholder=Insira páginas separadas por vírgula (ex: 2,3,1) -overlay-pdfs.position.label=Selecione a posição de sobreposição -overlay-pdfs.position.foreground=Primeiro plano -overlay-pdfs.position.background=Plano de fundo +overlay-pdfs.header=Sobrepor Ficheiros PDF +overlay-pdfs.baseFile.label=Selecione Ficheiro PDF Base +overlay-pdfs.overlayFiles.label=Selecione Ficheiros PDF de Sobreposição +overlay-pdfs.mode.label=Selecione Modo de Sobreposição +overlay-pdfs.mode.sequential=Sobreposição Sequencial +overlay-pdfs.mode.interleaved=Sobreposição Intercalada +overlay-pdfs.mode.fixedRepeat=Sobreposição de Repetição Fixa +overlay-pdfs.counts.label=Contagens de Sobreposição (para Modo de Repetição Fixa) +overlay-pdfs.counts.placeholder=Introduza contagens separadas por vírgulas (ex., 2,3,1) +overlay-pdfs.position.label=Selecione Posição de Sobreposição +overlay-pdfs.position.foreground=Primeiro Plano +overlay-pdfs.position.background=Plano de Fundo overlay-pdfs.submit=Submeter #split-by-sections split-by-sections.title=Dividir PDF por Secções -split-by-sections.header=Divida o PDF em Secções +split-by-sections.header=Dividir PDF em Secções split-by-sections.horizontal.label=Divisões Horizontais split-by-sections.vertical.label=Divisões Verticais -split-by-sections.horizontal.placeholder=Introduza o número de divisões horizontais -split-by-sections.vertical.placeholder=Introduza o número de divisões verticais +split-by-sections.horizontal.placeholder=Introduza número de divisões horizontais +split-by-sections.vertical.placeholder=Introduza número de divisões verticais split-by-sections.submit=Dividir PDF -split-by-sections.merge=Fundir em Um único PDF +split-by-sections.merge=Juntar Num Único PDF #printFile printFile.title=Imprimir Ficheiro -printFile.header=Imprimir ficheiro na impressora -printFile.selectText.1=Selecione o ficheiro a imprimir -printFile.selectText.2=Introduza o nome da impressora +printFile.header=Imprimir Ficheiro para Impressora +printFile.selectText.1=Selecione Ficheiro para Imprimir +printFile.selectText.2=Introduza Nome da Impressora printFile.submit=Imprimir #licenses licenses.nav=Licenças -licenses.title=Licenças de terceiros -licenses.header=Licenças de terceiros -licenses.module=Modulos +licenses.title=Licenças de Terceiros +licenses.header=Licenças de Terceiros +licenses.module=Módulo licenses.version=Versão licenses.license=Licença #survey survey.nav=Inquérito -survey.title=Inquérito ao Stirling-PDF -survey.description=O Stirling-PDF não tem rastreio, por isso queremos ouvir os nossos utilizadores para melhorar o Stirling-PDF! -survey.changes=O Stirling-PDF mudou desde a última avaliação! Para mais informações, verifique o nosso post no blog aqui: -survey.changes2=Com estas mudanças estamos a obter suporte comercial pago e financiamento -survey.please=Please consider taking our survey! -survey.disabled=(A caixa de inquérito será desativada nas próximas actualizações mas estará disponível na parte inferior da página) -survey.button=Levar o Inquérito +survey.title=Inquérito Stirling-PDF +survey.description=O Stirling-PDF não tem rastreamento por isso queremos ouvir os nossos utilizadores para melhorar o Stirling-PDF! +survey.changes=O Stirling-PDF mudou desde o último inquérito! Para saber mais por favor veja a nossa publicação no blog aqui: +survey.changes2=Com estas mudanças estamos a receber suporte empresarial pago e financiamento +survey.please=Por favor considere participar no nosso inquérito! +survey.disabled=(A janela pop-up do inquérito será desativada nas atualizações seguintes mas estará disponível no rodapé da página) +survey.button=Participar no Inquérito survey.dontShowAgain=Não mostrar novamente #error -error.sorry=Desculpe pelo inconveniente! +error.sorry=Pedimos desculpa pelo inconveniente! error.needHelp=Precisa de ajuda / Encontrou um problema? -error.contactTip=Se ainda estiver a ter problemas, não hesite em entrar em contacto connosco para obter ajuda. Pode submeter um ticket na nossa página do GitHub ou contactar-nos através do Discord: -error.404.head=404 - Página Não Encontrada | Oops, tropeçámos no código! -error.404.1=Não podemos parecer encontrar a página que está a procurar. -error.404.2=Ocorreu um erro -error.github=Submeta um ticket na GitHub -error.showStack=Mostrar Stack Trace -error.copyStack=Copiar Stack Trace -error.githubSubmit=GitHub - Submeter um Ticket -error.discordSubmit=Discord - Submeter um Post de Suporte +error.contactTip=Se ainda estiver com problemas, não hesite em contactar-nos para obter ajuda. Pode submeter um ticket na nossa página GitHub ou contactar-nos através do Discord: +error.404.head=404 - Página Não Encontrada | Ups, tropeçámos no código! +error.404.1=Não conseguimos encontrar a página que procura. +error.404.2=Algo correu mal +error.github=Submeter um ticket no GitHub +error.showStack=Mostrar Rastreamento da Pilha +error.copyStack=Copiar Rastreamento da Pilha +error.githubSubmit=GitHub - Submeter um ticket +error.discordSubmit=Discord - Submeter Publicação de Suporte #remove-image @@ -1304,63 +1305,63 @@ removeImage.removeImage=Remover imagem removeImage.submit=Remover imagem -splitByChapters.title=Dividir o PDF por Capítulos -splitByChapters.header=Dividir o PDF por Capítulos -splitByChapters.bookmarkLevel=Nível de Anotações +splitByChapters.title=Dividir PDF por Capítulos +splitByChapters.header=Dividir PDF por Capítulos +splitByChapters.bookmarkLevel=Nível de Marcador splitByChapters.includeMetadata=Incluir Metadados -splitByChapters.allowDuplicates=Permitir Duplicações -splitByChapters.desc.1=Esta ferramenta divide um ficheiro PDF em vários PDFs com base na estrutura dos seus capítulos. -splitByChapters.desc.2=Nível de Anotações: Escolha o nível das anotações a usar para a divisão (0 para topo, 1 para segundo nível, etc.). -splitByChapters.desc.3=Inclua Metadados: Se marcado, os metadados originais do PDF serão incluídos em cada PDF dividido. -splitByChapters.desc.4=Permitir Duplicatas: Se marcado, permite a criação de vários bookmarks na mesma página para criar separadamente vários PDFs. -splitByChapters.submit=Dividir o PDF +splitByChapters.allowDuplicates=Permitir Duplicados +splitByChapters.desc.1=Esta ferramenta divide um ficheiro PDF em múltiplos PDFs baseado na sua estrutura de capítulos. +splitByChapters.desc.2=Nível de Marcador: Escolha o nível de marcadores a usar para dividir (0 para nível superior, 1 para segundo nível, etc.). +splitByChapters.desc.3=Incluir Metadados: Se selecionado, os metadados do PDF original serão incluídos em cada PDF dividido. +splitByChapters.desc.4=Permitir Duplicados: Se selecionado, permite que múltiplos marcadores na mesma página criem PDFs separados. +splitByChapters.submit=Dividir PDF #File Chooser -fileChooser.click=Click -fileChooser.or=or -fileChooser.dragAndDrop=Drag & Drop -fileChooser.dragAndDropPDF=Drag & Drop PDF file -fileChooser.dragAndDropImage=Drag & Drop Image file -fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here +fileChooser.click=Clicar +fileChooser.or=ou +fileChooser.dragAndDrop=Arrastar e Largar +fileChooser.dragAndDropPDF=Arrastar e Largar ficheiro PDF +fileChooser.dragAndDropImage=Arrastar e Largar ficheiro de Imagem +fileChooser.hoveredDragAndDrop=Arrastar e Largar ficheiro(s) aqui #release notes -releases.footer=Releases -releases.title=Release Notes -releases.header=Release Notes -releases.current.version=Current Release -releases.note=Release notes are only available in English +releases.footer=Lançamentos +releases.title=Notas de Lançamento +releases.header=Notas de Lançamento +releases.current.version=Lançamento Atual +releases.note=Notas de lançamento apenas disponíveis em Inglês #Validate Signature -validateSignature.title=Validate PDF Signatures -validateSignature.header=Validate Digital Signatures -validateSignature.selectPDF=Select signed PDF file -validateSignature.submit=Validate Signatures -validateSignature.results=Validation Results -validateSignature.status=Status -validateSignature.signer=Signer -validateSignature.date=Date -validateSignature.reason=Reason -validateSignature.location=Location -validateSignature.noSignatures=No digital signatures found in this document -validateSignature.status.valid=Valid -validateSignature.status.invalid=Invalid -validateSignature.chain.invalid=Certificate chain validation failed - cannot verify signer's identity -validateSignature.trust.invalid=Certificate not in trust store - source cannot be verified -validateSignature.cert.expired=Certificate has expired -validateSignature.cert.revoked=Certificate has been revoked -validateSignature.signature.info=Signature Information -validateSignature.signature=Signature -validateSignature.signature.mathValid=Signature is mathematically valid BUT: -validateSignature.selectCustomCert=Custom Certificate File X.509 (Optional) -validateSignature.cert.info=Certificate Details -validateSignature.cert.issuer=Issuer -validateSignature.cert.subject=Subject -validateSignature.cert.serialNumber=Serial Number -validateSignature.cert.validFrom=Valid From -validateSignature.cert.validUntil=Valid Until -validateSignature.cert.algorithm=Algorithm -validateSignature.cert.keySize=Key Size -validateSignature.cert.version=Version -validateSignature.cert.keyUsage=Key Usage -validateSignature.cert.selfSigned=Self-Signed +validateSignature.title=Validar Assinaturas PDF +validateSignature.header=Validar Assinaturas Digitais +validateSignature.selectPDF=Selecionar ficheiro PDF assinado +validateSignature.submit=Validar Assinaturas +validateSignature.results=Resultados da Validação +validateSignature.status=Estado +validateSignature.signer=Assinante +validateSignature.date=Data +validateSignature.reason=Razão +validateSignature.location=Localização +validateSignature.noSignatures=Nenhuma assinatura digital encontrada neste documento +validateSignature.status.valid=Válida +validateSignature.status.invalid=Inválida +validateSignature.chain.invalid=Falha na validação da cadeia de certificados - não é possível verificar a identidade do assinante +validateSignature.trust.invalid=Certificado não está na loja de confiança - a fonte não pode ser verificada +validateSignature.cert.expired=O certificado expirou +validateSignature.cert.revoked=O certificado foi revogado +validateSignature.signature.info=Informação da Assinatura +validateSignature.signature=Assinatura +validateSignature.signature.mathValid=A assinatura é matematicamente válida MAS: +validateSignature.selectCustomCert=Ficheiro de Certificado Personalizado X.509 (Opcional) +validateSignature.cert.info=Detalhes do Certificado +validateSignature.cert.issuer=Emissor +validateSignature.cert.subject=Assunto +validateSignature.cert.serialNumber=Número de Série +validateSignature.cert.validFrom=Válido Desde +validateSignature.cert.validUntil=Válido Até +validateSignature.cert.algorithm=Algoritmo +validateSignature.cert.keySize=Tamanho da Chave +validateSignature.cert.version=Versão +validateSignature.cert.keyUsage=Utilização da Chave +validateSignature.cert.selfSigned=Auto-Assinado validateSignature.cert.bits=bits diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index b2d0db82..b2818c8a 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -933,11 +933,12 @@ fileToPDF.submit=Convertiți în PDF compress.title=Comprimare compress.header=Comprimare PDF compress.credit=Acest serviciu utilizează qpdf pentru comprimarea/optimizarea PDF-urilor. -compress.selectText.1=Nivel de optimizare: -compress.selectText.2=0 (Fără optimizare) -compress.selectText.3=1 (Implicit, optimizare fără pierdere) -compress.selectText.4=2 (Optimizare cu pierdere) -compress.selectText.5=3 (Optimizare cu pierdere, mai agresivă) +compress.selectText.1=Modul manual - de la 1 la 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. +compress.selectText.2=Nivel de optimizare: +compress.selectText.3=4 (Îngrozitor pentru imaginile text) +compress.selectText.4=Mod automat - ajustează automat calitatea pentru a aduce PDF-ul la dimensiunea exactă +compress.selectText.5=Dimensiunea PDF așteptată (de ex. 25MB, 10.8MB, 25KB) compress.submit=Comprimare diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index bc91282a..623ecac9 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Преобразовать в PDF compress.title=Сжать compress.header=Сжать PDF compress.credit=Эта служба использует qpdf для сжатия/оптимизации PDF. -compress.selectText.1=Ручной режим - от 1 до 4 +compress.selectText.1=Ручной режим - от 1 до 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Уровень оптимизации: compress.selectText.3=4 (Ужасно для текстовых изображений) compress.selectText.4=Автоматический режим - автоматически настраивает качество для получения PDF точного размера diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties index a26aff8a..c9f790ad 100644 --- a/src/main/resources/messages_sk_SK.properties +++ b/src/main/resources/messages_sk_SK.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konvertovať do PDF compress.title=Komprimovať compress.header=Komprimovať PDF compress.credit=Táto služba používa qpdf pre kompresiu/optimalizáciu PDF. -compress.selectText.1=Manuálny režim - Od 1 do 4 +compress.selectText.1=Manuálny režim - Od 1 do 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Úroveň optimalizácie: compress.selectText.3=4 (Hrozné pre textové obrázky) compress.selectText.4=Automatický režim - Automaticky upravuje kvalitu, aby sa PDF dostalo na presnú veľkosť diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index bcd7b9f8..0bfe51c7 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konvertuj u PDF compress.title=Kompresija compress.header=Kompresuj PDF compress.credit=Ova usluga koristi qpdf za kompresiju / optimizaciju PDF-a. -compress.selectText.1=Ručni režim - Od 1 do 4 +compress.selectText.1=Ručni režim - Od 1 do 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Nivo optimizacije: compress.selectText.3=4 (Užasno za tekstualne slike) compress.selectText.4=Automatski režim - Automatski prilagođava kvalitet kako bi PDF bio tačne veličine diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 2f65b3aa..6fb074cf 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Konvertera till PDF compress.title=Komprimera compress.header=Komprimera PDF compress.credit=Denna tjänst använder qpdf för PDF-komprimering/optimering. -compress.selectText.1=Manuellt läge - Från 1 till 4 +compress.selectText.1=Manuellt läge - Från 1 till 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimeringsnivå: compress.selectText.3=4 (Fruktansvärt för textbilder) compress.selectText.4=Autoläge - Autojusterar kvaliteten för att få PDF till exakt storlek diff --git a/src/main/resources/messages_th_TH.properties b/src/main/resources/messages_th_TH.properties index 54779f3c..a5f062f8 100644 --- a/src/main/resources/messages_th_TH.properties +++ b/src/main/resources/messages_th_TH.properties @@ -933,7 +933,8 @@ fileToPDF.submit=แปลงเป็น PDF compress.title=บีบอัด compress.header=บีบอัด PDF compress.credit=บริการนี้ใช้ qpdf สำหรับการบีบอัด/การเพิ่มประสิทธิภาพ PDF -compress.selectText.1=โหมดแมนนวล - จาก 1 ถึง 4 +compress.selectText.1=โหมดแมนนวล - จาก 1 ถึง 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=ระดับการเพิ่มประสิทธิภาพ: compress.selectText.3=4 (ไม่ดีสำหรับภาพข้อความ) compress.selectText.4=โหมดอัตโนมัติ - ปรับคุณภาพอัตโนมัติเพื่อให้ PDF ตรงกับขนาดที่ต้องการ diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 4c2866d9..d383ee93 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDF'e Dönüştür compress.title=Sıkıştır compress.header=PDF'i Sıkıştır compress.credit=Bu hizmet PDF Sıkıştırma/Optimizasyonu için qpdf kullanır. -compress.selectText.1=Manuel Mod - 1'den 4'e +compress.selectText.1=Manuel Mod - 1'den 5'e +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimizasyon seviyesi: compress.selectText.3=4 (Metin resimleri için hiç uygun değil) compress.selectText.4=Otomatik mod - PDF'in tam boyutuna ulaşmak için kaliteyi otomatik ayarlar diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index 25084ce5..00845c74 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Перетворити у PDF compress.title=Стиснути compress.header=Стиснути PDF compress.credit=Ця служба використовує qpdf для стиснення/оптимізації PDF. -compress.selectText.1=Ручний режим - від 1 до 4 +compress.selectText.1=Ручний режим - від 1 до 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Рівень оптимізації: compress.selectText.3=4 (Жахливо для текстових зображень) compress.selectText.4=Автоматичний режим - автоматично налаштовує якість для отримання PDF точного розміру diff --git a/src/main/resources/messages_vi_VN.properties b/src/main/resources/messages_vi_VN.properties index 34189730..1f5f3a0b 100644 --- a/src/main/resources/messages_vi_VN.properties +++ b/src/main/resources/messages_vi_VN.properties @@ -933,7 +933,8 @@ fileToPDF.submit=Chuyển đổi sang PDF compress.title=Nén compress.header=Nén PDF compress.credit=Dịch vụ này sử dụng qpdf để Nén/Tối ưu hóa PDF. -compress.selectText.1=Chế độ thủ công - Từ 1 đến 4 +compress.selectText.1=Chế độ thủ công - Từ 1 đến 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Mức độ tối ưu hóa: compress.selectText.3=4 (Tệ cho hình ảnh văn bản) compress.selectText.4=Chế độ tự động - Tự động điều chỉnh chất lượng để đạt được kích thước PDF chính xác diff --git a/src/main/resources/messages_zh_BO.properties b/src/main/resources/messages_zh_BO.properties index 39b34bd3..af0ff428 100644 --- a/src/main/resources/messages_zh_BO.properties +++ b/src/main/resources/messages_zh_BO.properties @@ -933,7 +933,8 @@ fileToPDF.submit=PDF ལ་བསྒྱུར་བ། compress.title=སྡུད་སྒྲིལ། compress.header=PDF སྡུད་སྒྲིལ། compress.credit=ཞབས་ཞུ་འདིས་ PDF སྡུད་སྒྲིལ་/ཡར་རྒྱས་གཏོང་བའི་ཆེད་དུ་ qpdf བེད་སྤྱོད་བྱེད་པ། -compress.selectText.1=ལག་བཟོས་��ྣམ་པ། - 1 ནས་ 4 བར། +compress.selectText.1=Manual Mode - From 1 to 4 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=Optimisation level: compress.selectText.3=4 (Terrible for text images) compress.selectText.4=རང་འགུལ་རྣམ་པ། - PDF ཏག་ཏག་ཆེ་ཆུང་ཚད་ལ་འཁྲིད་པའི་ཆེད་དུ་སྤུས་ཚད་རང་འགུལ་གྱིས་སྙོམ་སྒྲིག་བྱེད་པ། diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 3440ced4..837b8c6e 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -933,7 +933,8 @@ fileToPDF.submit=转换为 PDF compress.title=压缩 compress.header=压缩 PDF compress.credit=此服务使用qpdf进行 PDF 压缩/优化。 -compress.selectText.1=手动模式 - 从 1 到 4 +compress.selectText.1=手动模式 - 从 1 到 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=优化级别: compress.selectText.3=4(文本图像很糟糕) compress.selectText.4=自动模式 - 自动调整质量以获得精确大小的PDF diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index f351c23b..a49d3513 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -933,7 +933,8 @@ fileToPDF.submit=轉換為 PDF compress.title=壓縮 compress.header=壓縮 PDF compress.credit=此服務使用 qpdf 進行 PDF 壓縮/最佳化。 -compress.selectText.1=手動模式 - 從 1 到 4 +compress.selectText.1=手動模式 - 從 1 到 5 +compress.selectText.1.1=In optimization levels 6 to 9, in addition to general PDF compression, image resolution is scaled down to further reduce file size. Higher levels result in stronger image compression (up to 50% of the original size), achieving greater size reduction but with potential quality loss in images. compress.selectText.2=最佳化等級: compress.selectText.3=4(對於含有文字的影像來說結果很糟) compress.selectText.4=自動模式 - 自動調整品質使 PDF 達到指定的檔案大小 diff --git a/src/main/resources/templates/misc/compress-pdf.html b/src/main/resources/templates/misc/compress-pdf.html index e22d1ef4..54d6e61c 100644 --- a/src/main/resources/templates/misc/compress-pdf.html +++ b/src/main/resources/templates/misc/compress-pdf.html @@ -26,6 +26,7 @@

+