Compare commits

..

No commits in common. "main" and "v0.45.1" have entirely different histories.

109 changed files with 707 additions and 2699 deletions

View File

@ -49,7 +49,7 @@
"java.configuration.updateBuildConfiguration": "interactive", "java.configuration.updateBuildConfiguration": "interactive",
"java.format.enabled": true, "java.format.enabled": true,
"java.format.settings.profile": "GoogleStyle", "java.format.settings.profile": "GoogleStyle",
"java.format.settings.google.version": "1.26.0", "java.format.settings.google.version": "1.25.2",
"java.format.settings.google.extra": "--aosp --skip-sorting-imports --skip-javadoc-formatting", "java.format.settings.google.extra": "--aosp --skip-sorting-imports --skip-javadoc-formatting",
"java.saveActions.cleanup": true, "java.saveActions.cleanup": true,
"java.cleanup.actions": [ "java.cleanup.actions": [

View File

@ -6,15 +6,13 @@ on:
permissions: permissions:
contents: read contents: read
issues: write # Required for adding reactions to comments
pull-requests: read # Required for reading PR information
jobs: jobs:
check-comment: check-comment:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
issues: write
pull-requests: read pull-requests: read
issues: read
if: | if: |
github.event.issue.pull_request && github.event.issue.pull_request &&
( (
@ -36,8 +34,6 @@ jobs:
pr_number: ${{ steps.get-pr.outputs.pr_number }} pr_number: ${{ steps.get-pr.outputs.pr_number }}
pr_repository: ${{ steps.get-pr-info.outputs.repository }} pr_repository: ${{ steps.get-pr-info.outputs.repository }}
pr_ref: ${{ steps.get-pr-info.outputs.ref }} pr_ref: ${{ steps.get-pr-info.outputs.ref }}
comment_id: ${{ github.event.comment.id }}
enable_security: ${{ steps.check-security-flag.outputs.enable_security }}
steps: steps:
- name: Harden Runner - name: Harden Runner
@ -45,14 +41,6 @@ jobs:
with: with:
egress-policy: audit egress-policy: audit
# Generate GitHub App token
- name: Generate GitHub App Token
id: generate-token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app-id: ${{ secrets.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- name: Get PR data - name: Get PR data
id: get-pr id: get-pr
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
@ -85,46 +73,11 @@ jobs:
core.setOutput('repository', repository); core.setOutput('repository', repository);
core.setOutput('ref', pr.head.ref); core.setOutput('ref', pr.head.ref);
- name: Check for security/login flag
id: check-security-flag
env:
COMMENT_BODY: ${{ github.event.comment.body }}
run: |
if [[ "$COMMENT_BODY" == *"security"* ]] || [[ "$COMMENT_BODY" == *"login"* ]]; then
echo "Security flags detected in comment"
echo "enable_security=true" >> $GITHUB_OUTPUT
else
echo "No security flags detected in comment"
echo "enable_security=false" >> $GITHUB_OUTPUT
fi
- name: Add 'in_progress' reaction to comment
id: add-eyes-reaction
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
console.log(`Adding eyes reaction to comment ID: ${context.payload.comment.id}`);
try {
const { data: reaction } = await github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: context.payload.comment.id,
content: 'eyes'
});
console.log(`Added reaction with ID: ${reaction.id}`);
return { success: true, id: reaction.id };
} catch (error) {
console.error(`Failed to add reaction: ${error.message}`);
console.error(error);
return { success: false, error: error.message };
}
deploy-pr: deploy-pr:
needs: check-comment needs: check-comment
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read pull-requests: write
issues: write issues: write
steps: steps:
@ -133,13 +86,6 @@ jobs:
with: with:
egress-policy: audit egress-policy: audit
- name: Generate GitHub App Token
id: generate-token
uses: actions/create-github-app-token@3ff1caaa28b64c9cc276ce0a02e2ff584f3900c5 # v2.0.2
with:
app-id: ${{ secrets.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
- name: Checkout PR - name: Checkout PR
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
@ -148,20 +94,15 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "temurin" distribution: "temurin"
- name: Run Gradle Command - name: Run Gradle Command
run: | run: ./gradlew clean build
if [ "${{ needs.check-comment.outputs.enable_security }}" == "true" ]; then
export DOCKER_ENABLE_SECURITY=true
else
export DOCKER_ENABLE_SECURITY=false
fi
./gradlew clean build
env: env:
DOCKER_ENABLE_SECURITY: false
STIRLING_PDF_DESKTOP_UI: false STIRLING_PDF_DESKTOP_UI: false
- name: Set up Docker Buildx - name: Set up Docker Buildx
@ -186,7 +127,7 @@ jobs:
file: ./Dockerfile file: ./Dockerfile
push: true push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/test:pr-${{ needs.check-comment.outputs.pr_number }} tags: ${{ secrets.DOCKER_HUB_USERNAME }}/test:pr-${{ needs.check-comment.outputs.pr_number }}
build-args: VERSION_TAG=alpha build-args: VERSION_TAG=${{ steps.versionNumber.outputs.versionNumber }}
platforms: linux/amd64 platforms: linux/amd64
- name: Set up SSH - name: Set up SSH
@ -196,21 +137,9 @@ jobs:
sudo chmod 600 ../private.key sudo chmod 600 ../private.key
- name: Deploy to VPS - name: Deploy to VPS
id: deploy
run: | run: |
# Set security settings based on flags
if [ "${{ needs.check-comment.outputs.enable_security }}" == "true" ]; then
DOCKER_SECURITY="true"
LOGIN_SECURITY="true"
SECURITY_STATUS="🔒 Security Enabled"
else
DOCKER_SECURITY="false"
LOGIN_SECURITY="false"
SECURITY_STATUS="Security Disabled"
fi
# First create the docker-compose content locally # First create the docker-compose content locally
cat > docker-compose.yml << EOF cat > docker-compose.yml << 'EOF'
version: '3.3' version: '3.3'
services: services:
stirling-pdf: stirling-pdf:
@ -223,8 +152,8 @@ jobs:
- /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/config:/configs:rw - /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/config:/configs:rw
- /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/logs:/logs:rw - /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/logs:/logs:rw
environment: environment:
DOCKER_ENABLE_SECURITY: "${DOCKER_SECURITY}" DOCKER_ENABLE_SECURITY: "false"
SECURITY_ENABLELOGIN: "${LOGIN_SECURITY}" SECURITY_ENABLELOGIN: "false"
SYSTEM_DEFAULTLOCALE: en-GB SYSTEM_DEFAULTLOCALE: en-GB
UI_APPNAME: "Stirling-PDF PR#${{ needs.check-comment.outputs.pr_number }}" UI_APPNAME: "Stirling-PDF PR#${{ needs.check-comment.outputs.pr_number }}"
UI_HOMEDESCRIPTION: "PR#${{ needs.check-comment.outputs.pr_number }} for Stirling-PDF Latest" UI_HOMEDESCRIPTION: "PR#${{ needs.check-comment.outputs.pr_number }} for Stirling-PDF Latest"
@ -238,7 +167,7 @@ jobs:
# Then copy the file and execute commands # Then copy the file and execute commands
scp -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null docker-compose.yml ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }}:/tmp/docker-compose.yml 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 -T ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} << ENDSSH ssh -i ../private.key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -T ${{ secrets.VPS_USERNAME }}@${{ secrets.VPS_HOST }} << 'ENDSSH'
# Create PR-specific directories # Create PR-specific directories
mkdir -p /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/{data,config,logs} mkdir -p /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/{data,config,logs}
@ -251,65 +180,19 @@ jobs:
docker-compose up -d docker-compose up -d
ENDSSH ENDSSH
# Set output for use in PR comment
echo "security_status=${SECURITY_STATUS}" >> $GITHUB_ENV
- name: Add success reaction to comment
if: success()
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
console.log(`Adding rocket reaction to comment ID: ${{ needs.check-comment.outputs.comment_id }}`);
try {
const { data: reaction } = await github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: ${{ needs.check-comment.outputs.comment_id }},
content: 'rocket'
});
console.log(`Added rocket reaction with ID: ${reaction.id}`);
} catch (error) {
console.error(`Failed to add reaction: ${error.message}`);
console.error(error);
}
- name: Add failure reaction to comment
if: failure()
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
console.log(`Adding -1 reaction to comment ID: ${{ needs.check-comment.outputs.comment_id }}`);
try {
const { data: reaction } = await github.rest.reactions.createForIssueComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: ${{ needs.check-comment.outputs.comment_id }},
content: '-1'
});
console.log(`Added -1 reaction with ID: ${reaction.id}`);
} catch (error) {
console.error(`Failed to add reaction: ${error.message}`);
console.error(error);
}
- name: Post deployment URL to PR - name: Post deployment URL to PR
if: success() if: success()
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with: with:
github-token: ${{ steps.generate-token.outputs.token }}
script: | script: |
const { GITHUB_REPOSITORY } = process.env; const { GITHUB_REPOSITORY } = process.env;
const [repoOwner, repoName] = GITHUB_REPOSITORY.split('/'); const [repoOwner, repoName] = GITHUB_REPOSITORY.split('/');
const prNumber = ${{ needs.check-comment.outputs.pr_number }}; const prNumber = ${{ needs.check-comment.outputs.pr_number }};
const securityStatus = process.env.security_status || "Security Disabled";
const deploymentUrl = `http://${{ secrets.VPS_HOST }}:${prNumber}`; const deploymentUrl = `http://${{ secrets.VPS_HOST }}:${prNumber}`;
const commentBody = `## 🚀 PR Test Deployment\n\n` + const commentBody = `## 🚀 PR Test Deployment\n\n` +
`Your PR has been deployed for testing!\n\n` + `Your PR has been deployed for testing!\n\n` +
`🔗 **Test URL:** [${deploymentUrl}](${deploymentUrl})\n` + `🔗 **Test URL:** [${deploymentUrl}](${deploymentUrl})\n\n` +
`${securityStatus}\n\n` +
`This deployment will be automatically cleaned up when the PR is closed.\n\n`; `This deployment will be automatically cleaned up when the PR is closed.\n\n`;
await github.rest.issues.createComment({ await github.rest.issues.createComment({

View File

@ -32,7 +32,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK ${{ matrix.jdk-version }} - name: Set up JDK ${{ matrix.jdk-version }}
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: ${{ matrix.jdk-version }} java-version: ${{ matrix.jdk-version }}
distribution: "temurin" distribution: "temurin"
@ -70,7 +70,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "adopt" distribution: "adopt"
@ -114,7 +114,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Java 17 - name: Set up Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "adopt" distribution: "adopt"
@ -141,5 +141,4 @@ jobs:
run: | run: |
chmod +x ./testing/test_webpages.sh chmod +x ./testing/test_webpages.sh
chmod +x ./testing/test.sh chmod +x ./testing/test.sh
chmod +x ./testing/test_disabledEndpoints.sh
./testing/test.sh ./testing/test.sh

View File

@ -33,7 +33,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "adopt" distribution: "adopt"

View File

@ -2,11 +2,6 @@ name: Test Installers Build
on: on:
workflow_dispatch: workflow_dispatch:
inputs:
test_mode:
description: "Run in test mode (skip release step)"
required: false
default: "false"
release: release:
types: [created] types: [created]
@ -63,7 +58,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 21 - name: Set up JDK 21
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "21" java-version: "21"
distribution: "temurin" distribution: "temurin"
@ -151,7 +146,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 21 - name: Set up JDK 21
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "21" java-version: "21"
distribution: "temurin" distribution: "temurin"
@ -175,35 +170,17 @@ jobs:
STIRLING_PDF_DESKTOP_UI: true STIRLING_PDF_DESKTOP_UI: true
BROWSER_OPEN: true BROWSER_OPEN: true
- name: Set up JDK (x86_64)
if: matrix.os == 'macos-latest'
run: |
curl -L -o jdk.tar.gz https://cdn.azul.com/zulu/bin/zulu17.56.15-ca-jdk17.0.14-macosx_x64.tar.gz
mkdir -p zulu17
tar -xzf jdk.tar.gz -C zulu17 --strip-components=1
echo "JAVA_HOME=$PWD/zulu17" >> $GITHUB_ENV
echo "$PWD/zulu17/bin" >> $GITHUB_PATH
- name: Verify JDK architecture
if: matrix.os == 'macos-latest'
run: file $JAVA_HOME/bin/java
- name: Build project and run jpackage (x86_64)
if: matrix.os == 'macos-latest'
run: arch -x86_64 ./gradlew jpackageMacX64
# Rename and collect artifacts based on OS # Rename and collect artifacts based on OS
- name: Prepare artifacts - name: Prepare artifacts
id: prepare id: prepare
shell: bash shell: bash
run: | run: |
ls -lah ./build/jpackage/
mkdir ./binaries mkdir ./binaries
if [ "${{ matrix.os }}" = "windows-latest" ]; then if [ "${{ matrix.os }}" = "windows-latest" ]; then
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe" mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe"
elif [ "${{ matrix.os }}" = "macos-latest" ]; then elif [ "${{ matrix.os }}" = "macos-latest" ]; then
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg" mv "./build/jpackage/Stirling-PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
mv "./build/jpackage/x86_64/Stirling PDF (x86_64)-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg" mv "./build/jpackage/Stirling-PDF-x86_64-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg"
else else
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb" mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb"
fi fi
@ -286,11 +263,9 @@ jobs:
name: ${{ matrix.platform }}signed name: ${{ matrix.platform }}signed
path: | path: |
./Stirling-PDF-${{ matrix.platform }}installer.* ./Stirling-PDF-${{ matrix.platform }}installer.*
./Stirling-PDF-${{ matrix.platform }}x86_64-installer.*
!cosign.* !cosign.*
create-release: create-release:
if: github.event_name != 'workflow_dispatch' || github.event.inputs.test_mode != 'true'
needs: [read_versions, sign_verify, sign_verify-portable] needs: [read_versions, sign_verify, sign_verify-portable]
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:

View File

@ -25,7 +25,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "temurin" distribution: "temurin"

View File

@ -30,7 +30,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "temurin" distribution: "temurin"

View File

@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 17 - name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: "17" java-version: "17"
distribution: "temurin" distribution: "temurin"

View File

@ -20,7 +20,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with: with:
java-version: '17' java-version: '17'
distribution: 'temurin' distribution: 'temurin'

View File

@ -1,6 +1,6 @@
repos: repos:
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.6 rev: v0.9.10
hooks: hooks:
- id: ruff - id: ruff
args: args:
@ -22,7 +22,7 @@ repos:
files: \.(html|css|js|py|md)$ files: \.(html|css|js|py|md)$
exclude: (.vscode|.devcontainer|src/main/resources|Dockerfile|.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js) exclude: (.vscode|.devcontainer|src/main/resources|Dockerfile|.*/pdfjs.*|.*/thirdParty.*|bootstrap.*|.*\.min\..*|.*diff\.js)
- repo: https://github.com/gitleaks/gitleaks - repo: https://github.com/gitleaks/gitleaks
rev: v8.24.3 rev: v8.24.0
hooks: hooks:
- id: gitleaks - id: gitleaks
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks

View File

@ -10,7 +10,7 @@
"java.configuration.updateBuildConfiguration": "interactive", "java.configuration.updateBuildConfiguration": "interactive",
"java.format.enabled": true, "java.format.enabled": true,
"java.format.settings.profile": "GoogleStyle", "java.format.settings.profile": "GoogleStyle",
"java.format.settings.google.version": "1.26.0", "java.format.settings.google.version": "1.25.2",
"java.format.settings.google.extra": "--aosp --skip-sorting-imports --skip-javadoc-formatting", "java.format.settings.google.extra": "--aosp --skip-sorting-imports --skip-javadoc-formatting",
// (DE) Aktiviert Kommentare im Java-Format. // (DE) Aktiviert Kommentare im Java-Format.
// (EN) Enables comments in Java formatting. // (EN) Enables comments in Java formatting.

View File

@ -153,7 +153,6 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5
``` ```

View File

@ -116,46 +116,46 @@ Stirling-PDF currently supports 39 languages!
| Language | Progress | | Language | Progress |
| -------------------------------------------- | -------------------------------------- | | -------------------------------------------- | -------------------------------------- |
| Arabic (العربية) (ar_AR) | ![84%](https://geps.dev/progress/84) | | Arabic (العربية) (ar_AR) | ![86%](https://geps.dev/progress/86) |
| Azerbaijani (Azərbaycan Dili) (az_AZ) | ![83%](https://geps.dev/progress/83) | | Azerbaijani (Azərbaycan Dili) (az_AZ) | ![85%](https://geps.dev/progress/85) |
| Basque (Euskara) (eu_ES) | ![48%](https://geps.dev/progress/48) | | Basque (Euskara) (eu_ES) | ![49%](https://geps.dev/progress/49) |
| Bulgarian (Български) (bg_BG) | ![93%](https://geps.dev/progress/93) | | Bulgarian (Български) (bg_BG) | ![95%](https://geps.dev/progress/95) |
| Catalan (Català) (ca_CA) | ![90%](https://geps.dev/progress/90) | | Catalan (Català) (ca_CA) | ![92%](https://geps.dev/progress/92) |
| Croatian (Hrvatski) (hr_HR) | ![81%](https://geps.dev/progress/81) | | Croatian (Hrvatski) (hr_HR) | ![83%](https://geps.dev/progress/83) |
| Czech (Česky) (cs_CZ) | ![92%](https://geps.dev/progress/92) | | Czech (Česky) (cs_CZ) | ![94%](https://geps.dev/progress/94) |
| Danish (Dansk) (da_DK) | ![80%](https://geps.dev/progress/80) | | Danish (Dansk) (da_DK) | ![82%](https://geps.dev/progress/82) |
| Dutch (Nederlands) (nl_NL) | ![79%](https://geps.dev/progress/79) | | Dutch (Nederlands) (nl_NL) | ![81%](https://geps.dev/progress/81) |
| English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) |
| English (US) (en_US) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) |
| French (Français) (fr_FR) | ![92%](https://geps.dev/progress/92) | | French (Français) (fr_FR) | ![94%](https://geps.dev/progress/94) |
| German (Deutsch) (de_DE) | ![94%](https://geps.dev/progress/94) | | German (Deutsch) (de_DE) | ![96%](https://geps.dev/progress/96) |
| Greek (Ελληνικά) (el_GR) | ![91%](https://geps.dev/progress/91) | | Greek (Ελληνικά) (el_GR) | ![93%](https://geps.dev/progress/93) |
| Hindi (हिंदी) (hi_IN) | ![92%](https://geps.dev/progress/92) | | Hindi (हिंदी) (hi_IN) | ![94%](https://geps.dev/progress/94) |
| Hungarian (Magyar) (hu_HU) | ![89%](https://geps.dev/progress/89) | | Hungarian (Magyar) (hu_HU) | ![91%](https://geps.dev/progress/91) |
| Indonesian (Bahasa Indonesia) (id_ID) | ![81%](https://geps.dev/progress/81) | | Indonesian (Bahasa Indonesia) (id_ID) | ![83%](https://geps.dev/progress/83) |
| Irish (Gaeilge) (ga_IE) | ![92%](https://geps.dev/progress/92) | | Irish (Gaeilge) (ga_IE) | ![94%](https://geps.dev/progress/94) |
| Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) | | Italian (Italiano) (it_IT) | ![98%](https://geps.dev/progress/98) |
| Japanese (日本語) (ja_JP) | ![89%](https://geps.dev/progress/89) | | Japanese (日本語) (ja_JP) | ![91%](https://geps.dev/progress/91) |
| Korean (한국어) (ko_KR) | ![92%](https://geps.dev/progress/92) | | Korean (한국어) (ko_KR) | ![94%](https://geps.dev/progress/94) |
| Norwegian (Norsk) (no_NB) | ![86%](https://geps.dev/progress/86) | | Norwegian (Norsk) (no_NB) | ![88%](https://geps.dev/progress/88) |
| Persian (فارسی) (fa_IR) | ![88%](https://geps.dev/progress/88) | | Persian (فارسی) (fa_IR) | ![90%](https://geps.dev/progress/90) |
| Polish (Polski) (pl_PL) | ![96%](https://geps.dev/progress/96) | | Polish (Polski) (pl_PL) | ![98%](https://geps.dev/progress/98) |
| Portuguese (Português) (pt_PT) | ![91%](https://geps.dev/progress/91) | | Portuguese (Português) (pt_PT) | ![93%](https://geps.dev/progress/93) |
| Portuguese Brazilian (Português) (pt_BR) | ![98%](https://geps.dev/progress/98) | | Portuguese Brazilian (Português) (pt_BR) | ![96%](https://geps.dev/progress/96) |
| Romanian (Română) (ro_RO) | ![75%](https://geps.dev/progress/75) | | Romanian (Română) (ro_RO) | ![77%](https://geps.dev/progress/77) |
| Russian (Русский) (ru_RU) | ![94%](https://geps.dev/progress/94) | | Russian (Русский) (ru_RU) | ![96%](https://geps.dev/progress/96) |
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![60%](https://geps.dev/progress/60) | | Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![62%](https://geps.dev/progress/62) |
| Simplified Chinese (简体中文) (zh_CN) | ![93%](https://geps.dev/progress/93) | | Simplified Chinese (简体中文) (zh_CN) | ![95%](https://geps.dev/progress/95) |
| Slovakian (Slovensky) (sk_SK) | ![69%](https://geps.dev/progress/69) | | Slovakian (Slovensky) (sk_SK) | ![71%](https://geps.dev/progress/71) |
| Slovenian (Slovenščina) (sl_SI) | ![95%](https://geps.dev/progress/95) | | Slovenian (Slovenščina) (sl_SI) | ![93%](https://geps.dev/progress/93) |
| Spanish (Español) (es_ES) | ![93%](https://geps.dev/progress/93) | | Spanish (Español) (es_ES) | ![96%](https://geps.dev/progress/96) |
| Swedish (Svenska) (sv_SE) | ![87%](https://geps.dev/progress/87) | | Swedish (Svenska) (sv_SE) | ![89%](https://geps.dev/progress/89) |
| Thai (ไทย) (th_TH) | ![80%](https://geps.dev/progress/80) | | Thai (ไทย) (th_TH) | ![82%](https://geps.dev/progress/82) |
| Tibetan (བོད་ཡིག་) (zh_BO) | ![89%](https://geps.dev/progress/89) | | Tibetan (བོད་ཡིག་) (zh_BO) | ![91%](https://geps.dev/progress/91) |
| Traditional Chinese (繁體中文) (zh_TW) | ![99%](https://geps.dev/progress/99) | | Traditional Chinese (繁體中文) (zh_TW) | ![97%](https://geps.dev/progress/97) |
| Turkish (Türkçe) (tr_TR) | ![98%](https://geps.dev/progress/98) | | Turkish (Türkçe) (tr_TR) | ![79%](https://geps.dev/progress/79) |
| Ukrainian (Українська) (uk_UA) | ![97%](https://geps.dev/progress/97) | | Ukrainian (Українська) (uk_UA) | ![99%](https://geps.dev/progress/99) |
| Vietnamese (Tiếng Việt) (vi_VN) | ![74%](https://geps.dev/progress/74) | | Vietnamese (Tiếng Việt) (vi_VN) | ![76%](https://geps.dev/progress/76) |
## Stirling PDF Enterprise ## Stirling PDF Enterprise

View File

@ -5,7 +5,7 @@ plugins {
id "org.springdoc.openapi-gradle-plugin" version "1.9.0" id "org.springdoc.openapi-gradle-plugin" version "1.9.0"
id "io.swagger.swaggerhub" version "1.3.2" id "io.swagger.swaggerhub" version "1.3.2"
id "edu.sc.seis.launch4j" version "3.0.6" id "edu.sc.seis.launch4j" version "3.0.6"
id "com.diffplug.spotless" version "7.0.3" id "com.diffplug.spotless" version "7.0.2"
id "com.github.jk1.dependency-license-report" version "2.9" id "com.github.jk1.dependency-license-report" version "2.9"
//id "nebula.lint" version "19.0.3" //id "nebula.lint" version "19.0.3"
id("org.panteleyev.jpackageplugin") version "1.6.1" id("org.panteleyev.jpackageplugin") version "1.6.1"
@ -29,7 +29,7 @@ ext {
} }
group = "stirling.software" group = "stirling.software"
version = "0.45.6" version = "0.45.1"
java { java {
// 17 is lowest but we support and recommend 21 // 17 is lowest but we support and recommend 21
@ -116,10 +116,10 @@ jpackage {
input = "build/libs" input = "build/libs"
destination = "${projectDir}/build/jpackage" destination = "${projectDir}/build/jpackage"
mainJar = "Stirling-PDF-${project.version}.jar" mainJar = "Stirling-PDF-${project.version}.jar"
appName = "Stirling PDF" appName = "Stirling-PDF"
appVersion = project.version appVersion = project.version
// appVersion = "2005.45.1" // appVersion = "2005.45.1"
vendor = "Stirling PDF Inc" vendor = "Stirling-Software"
appDescription = "Stirling PDF - Your Local PDF Editor" appDescription = "Stirling PDF - Your Local PDF Editor"
icon = "src/main/resources/static/favicon.ico" icon = "src/main/resources/static/favicon.ico"
verbose = true verbose = true
@ -151,7 +151,7 @@ jpackage {
winShortcutPrompt = true // Lets user choose whether to create shortcuts winShortcutPrompt = true // Lets user choose whether to create shortcuts
winDirChooser = true // Allows users to choose installation directory winDirChooser = true // Allows users to choose installation directory
winPerUserInstall = false winPerUserInstall = false
winMenuGroup = "Stirling PDF" winMenuGroup = "Stirling Software"
winUpgradeUuid = "2a43ed0c-b8c2-40cf-89e1-751129b87641" // Unique identifier for updates winUpgradeUuid = "2a43ed0c-b8c2-40cf-89e1-751129b87641" // Unique identifier for updates
winHelpUrl = "https://github.com/Stirling-Tools/Stirling-PDF" winHelpUrl = "https://github.com/Stirling-Tools/Stirling-PDF"
winUpdateUrl = "https://github.com/Stirling-Tools/Stirling-PDF/releases" winUpdateUrl = "https://github.com/Stirling-Tools/Stirling-PDF/releases"
@ -164,12 +164,14 @@ jpackage {
appVersion = getMacVersion(project.version.toString()) appVersion = getMacVersion(project.version.toString())
icon = "src/main/resources/static/favicon.icns" icon = "src/main/resources/static/favicon.icns"
type = "dmg" type = "dmg"
macPackageIdentifier = "Stirling PDF" macPackageIdentifier = "com.stirling.software.pdf"
macPackageName = "Stirling PDF" macPackageName = "Stirling-PDF_aarch64"
macAppCategory = "public.app-category.productivity" macAppCategory = "public.app-category.productivity"
macSign = false // Enable signing macSign = false // Enable signing
macAppStore = false // Not targeting App Store initially macAppStore = false // Not targeting App Store initially
//
// //installDir = "Applications"
//
// // Add license and other documentation to DMG // // Add license and other documentation to DMG
// /*macDmgContent = [ // /*macDmgContent = [
// "README.md", // "README.md",
@ -228,8 +230,6 @@ tasks.register('jpackageMacX64') {
group = 'distribution' group = 'distribution'
description = 'Packages app for MacOS x86_64' description = 'Packages app for MacOS x86_64'
println "Running jpackageMacX64 task"
if (OperatingSystem.current().isMacOsX()) { if (OperatingSystem.current().isMacOsX()) {
println "MacOS detected. Downloading temp JRE." println "MacOS detected. Downloading temp JRE."
dependsOn("downloadTempJre") dependsOn("downloadTempJre")
@ -250,31 +250,17 @@ tasks.register('jpackageMacX64') {
def result = exec { def result = exec {
commandLine 'jpackage', commandLine 'jpackage',
'--type', 'dmg', '--type', 'dmg',
'--name', 'Stirling PDF (x86_64)', '--name', 'Stirling-PDF-x86_64',
'--input', 'build/libs', '--input', 'build/libs',
'--main-jar', "Stirling-PDF-${project.version}.jar", '--main-jar', "Stirling-PDF-${project.version}.jar",
'--main-class', 'org.springframework.boot.loader.launch.JarLauncher', '--main-class', 'stirling.software.SPDF.SPDFApplication',
'--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"), '--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"),
'--dest', 'build/jpackage/x86_64', '--dest', 'build/jpackage',
'--icon', 'src/main/resources/static/favicon.icns', '--icon', 'src/main/resources/static/favicon.icns',
'--app-version', getMacVersion(project.version.toString()), '--app-version', getMacVersion(project.version.toString()),
'--mac-package-name', 'Stirling PDF (x86_64)', '--mac-package-name', 'Stirling-PDF',
'--mac-package-identifier', 'Stirling PDF (x86_64)', '--mac-package-identifier', 'com.stirling.software.pdf',
'--mac-app-category', 'public.app-category.productivity', '--mac-app-category', 'public.app-category.productivity'
// Java options
'--java-options', '-DBROWSER_OPEN=true',
'--java-options', '-DSTIRLING_PDF_DESKTOP_UI=true',
'--java-options', '-Djava.awt.headless=false',
'--java-options', '-Dapple.awt.UIElement=true',
'--java-options', '--add-opens=java.base/java.lang=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/java.awt.event=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/sun.awt=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/sun.awt.windows=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/sun.lwawt=ALL-UNNAMED',
'--java-options', '--add-opens=java.desktop/sun.lwawt.macosx=ALL-UNNAMED'
standardOutput = outputStream standardOutput = outputStream
errorOutput = errorStream errorOutput = errorStream
ignoreExitValue = true ignoreExitValue = true
@ -284,16 +270,16 @@ tasks.register('jpackageMacX64') {
def stderr = errorStream.toString("UTF-8") def stderr = errorStream.toString("UTF-8")
if (!stdout.isBlank()) { if (!stdout.isBlank()) {
println "jpackage stdout:\n$stdout" println "📝 jpackage stdout:\n$stdout"
} }
if (result.exitValue != 0) { if (result.exitValue != 0) {
throw new GradleException("jpackage failed with exit code ${result.exitValue}.\n\n$stderr") throw new GradleException("jpackage failed with exit code ${result.exitValue}.\n\n$stderr")
} }
} }
} }
//jpackage.finalizedBy(jpackageMacX64) jpackage.finalizedBy(jpackageMacX64)
tasks.register('downloadTempJre') { tasks.register('downloadTempJre') {
group = 'distribution' group = 'distribution'
@ -336,7 +322,7 @@ tasks.register('cleanTempJre') {
def path = project.ext.tempJrePath def path = project.ext.tempJrePath
if (path && new File("$path").exists()) { if (path && new File("$path").exists()) {
println "Cleaning up temporary JRE: $path" println "🧹 Cleaning up temporary JRE: $path"
new File("$path").parentFile.deleteDir() new File("$path").parentFile.deleteDir()
} }
} }
@ -379,7 +365,7 @@ spotless {
java { java {
target project.fileTree('src').include('**/*.java') target project.fileTree('src').include('**/*.java')
googleJavaFormat("1.26.0").aosp().reorderImports(false) googleJavaFormat("1.25.2").aosp().reorderImports(false)
importOrder("java", "javax", "org", "com", "net", "io", "jakarta", "lombok", "me", "stirling") importOrder("java", "javax", "org", "com", "net", "io", "jakarta", "lombok", "me", "stirling")
toggleOffOn() toggleOffOn()
@ -437,7 +423,7 @@ dependencies {
} }
//security updates //security updates
implementation "org.springframework:spring-webmvc:6.2.6" implementation "org.springframework:spring-webmvc:6.2.5"
implementation("io.github.pixee:java-security-toolkit:1.2.1") implementation("io.github.pixee:java-security-toolkit:1.2.1")
@ -461,7 +447,7 @@ dependencies {
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion" implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion"
implementation "org.springframework.session:spring-session-core:3.4.2" implementation "org.springframework.session:spring-session-core:3.4.2"
implementation "org.springframework:spring-jdbc:6.2.6" implementation "org.springframework:spring-jdbc:6.2.5"
implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5' implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5'
// Don't upgrade h2database // Don't upgrade h2database
@ -505,7 +491,7 @@ dependencies {
// Image metadata extractor // Image metadata extractor
implementation "com.drewnoakes:metadata-extractor:2.19.0" implementation "com.drewnoakes:metadata-extractor:2.19.0"
implementation "commons-io:commons-io:2.19.0" implementation "commons-io:commons-io:2.18.0"
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0" implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0"
//general PDF //general PDF
@ -530,14 +516,14 @@ dependencies {
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion" implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion" implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion"
implementation "io.micrometer:micrometer-core:1.14.6" implementation "io.micrometer:micrometer-core:1.14.5"
implementation group: "com.google.zxing", name: "core", version: "3.5.3" implementation group: "com.google.zxing", name: "core", version: "3.5.3"
// https://mvnrepository.com/artifact/org.commonmark/commonmark // https://mvnrepository.com/artifact/org.commonmark/commonmark
implementation "org.commonmark:commonmark:0.24.0" implementation "org.commonmark:commonmark:0.24.0"
implementation "org.commonmark:commonmark-ext-gfm-tables:0.24.0" implementation "org.commonmark:commonmark-ext-gfm-tables:0.24.0"
// https://mvnrepository.com/artifact/com.bucket4j/bucket4j_jdk17 // https://mvnrepository.com/artifact/com.bucket4j/bucket4j_jdk17
implementation "com.bucket4j:bucket4j_jdk17-core:8.14.0" implementation "com.bucket4j:bucket4j_jdk17-core:8.14.0"
implementation "com.fathzer:javaluator:3.0.6" implementation "com.fathzer:javaluator:3.0.5"
implementation 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8' implementation 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8'
@ -557,22 +543,12 @@ compileJava {
} }
task writeVersion { task writeVersion {
def propsFile = file("$projectDir/src/main/resources/version.properties") def propsFile = file("src/main/resources/version.properties")
def propsDir = propsFile.parentFile
doLast {
if (!propsDir.exists()) {
propsDir.mkdirs()
}
def props = new Properties() def props = new Properties()
props.setProperty("version", version) props.setProperty("version", version)
props.store(propsFile.newWriter(), null) props.store(propsFile.newWriter(), null)
}
} }
processResources.dependsOn(writeVersion)
swaggerhubUpload { swaggerhubUpload {
// dependsOn = generateOpenApiDocs // Depends on your task generating Swagger docs // dependsOn = generateOpenApiDocs // Depends on your task generating Swagger docs
api = "Stirling-PDF" // The name of your API on SwaggerHub api = "Stirling-PDF" // The name of your API on SwaggerHub

View File

@ -1,36 +0,0 @@
services:
stirling-pdf:
container_name: Stirling-PDF-Fat-Disable-Endpoints
image: docker.stirlingpdf.com/stirlingtools/stirling-pdf:latest-fat
deploy:
resources:
limits:
memory: 4G
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP'"]
interval: 5s
timeout: 10s
retries: 16
ports:
- 8080:8080
volumes:
- ./stirling/latest/data:/usr/share/tessdata:rw
- ./stirling/latest/config:/configs:rw
- ./stirling/latest/logs:/logs:rw
- ../testing/allEndpointsRemovedSettings.yml:/configs/settings.yml:rw
environment:
DOCKER_ENABLE_SECURITY: "true"
SECURITY_ENABLELOGIN: "false"
PUID: 1002
PGID: 1002
UMASK: "022"
SYSTEM_DEFAULTLOCALE: en-US
UI_APPNAME: Stirling-PDF
UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest-fat with all Endpoints Disabled
UI_APPNAMENAVBAR: Stirling-PDF Latest-fat
SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5

View File

@ -36,7 +36,6 @@ services:
SYSTEM_DATASOURCE_CUSTOMDATABASEURL: "jdbc:postgresql://db:5432/stirling_pdf" SYSTEM_DATASOURCE_CUSTOMDATABASEURL: "jdbc:postgresql://db:5432/stirling_pdf"
SYSTEM_DATASOURCE_USERNAME: "admin" SYSTEM_DATASOURCE_USERNAME: "admin"
SYSTEM_DATASOURCE_PASSWORD: "stirling" SYSTEM_DATASOURCE_PASSWORD: "stirling"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5
db: db:

View File

@ -30,5 +30,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -38,5 +38,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -30,5 +30,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -27,5 +27,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -26,5 +26,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -28,5 +28,4 @@ services:
SYSTEM_MAXFILESIZE: "100" SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true" METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true" SYSTEM_GOOGLEVISIBILITY: "true"
SHOW_SURVEY: "true"
restart: on-failure:5 restart: on-failure:5

View File

@ -53,37 +53,24 @@ public class KeygenLicenseVerifier {
} }
public License verifyLicense(String licenseKeyOrCert) { public License verifyLicense(String licenseKeyOrCert) {
License license;
if (isCertificateLicense(licenseKeyOrCert)) { if (isCertificateLicense(licenseKeyOrCert)) {
log.info("Detected certificate-based license. Processing..."); log.info("Detected certificate-based license. Processing...");
boolean isValid = verifyCertificateLicense(licenseKeyOrCert); return resultToEnum(verifyCertificateLicense(licenseKeyOrCert), License.ENTERPRISE);
if (isValid) {
license = isEnterpriseLicense ? License.ENTERPRISE : License.PRO;
} else {
license = License.NORMAL;
}
} else if (isJWTLicense(licenseKeyOrCert)) { } else if (isJWTLicense(licenseKeyOrCert)) {
log.info("Detected JWT-style license key. Processing..."); log.info("Detected JWT-style license key. Processing...");
boolean isValid = verifyJWTLicense(licenseKeyOrCert); return resultToEnum(verifyJWTLicense(licenseKeyOrCert), License.ENTERPRISE);
if (isValid) {
license = isEnterpriseLicense ? License.ENTERPRISE : License.PRO;
} else {
license = License.NORMAL;
}
} else { } else {
log.info("Detected standard license key. Processing..."); log.info("Detected standard license key. Processing...");
boolean isValid = verifyStandardLicense(licenseKeyOrCert); return resultToEnum(verifyStandardLicense(licenseKeyOrCert), License.PRO);
if (isValid) {
license = isEnterpriseLicense ? License.ENTERPRISE : License.PRO;
} else {
license = License.NORMAL;
} }
} }
return license;
}
private boolean isEnterpriseLicense = false; private License resultToEnum(boolean result, License option) {
if (result) {
return option;
}
return License.NORMAL;
}
private boolean isCertificateLicense(String license) { private boolean isCertificateLicense(String license) {
return license != null && license.trim().startsWith(CERT_PREFIX); return license != null && license.trim().startsWith(CERT_PREFIX);
@ -95,6 +82,8 @@ public class KeygenLicenseVerifier {
private boolean verifyCertificateLicense(String licenseFile) { private boolean verifyCertificateLicense(String licenseFile) {
try { try {
log.info("Verifying certificate-based license");
String encodedPayload = licenseFile; String encodedPayload = licenseFile;
// Remove the header // Remove the header
encodedPayload = encodedPayload.replace(CERT_PREFIX, ""); encodedPayload = encodedPayload.replace(CERT_PREFIX, "");
@ -117,6 +106,8 @@ public class KeygenLicenseVerifier {
encryptedData = (String) attrs.get("enc"); encryptedData = (String) attrs.get("enc");
encodedSignature = (String) attrs.get("sig"); encodedSignature = (String) attrs.get("sig");
algorithm = (String) attrs.get("alg"); algorithm = (String) attrs.get("alg");
log.info("Certificate algorithm: {}", algorithm);
} catch (JSONException e) { } catch (JSONException e) {
log.error("Failed to parse license file: {}", e.getMessage()); log.error("Failed to parse license file: {}", e.getMessage());
return false; return false;
@ -160,6 +151,7 @@ public class KeygenLicenseVerifier {
private boolean verifyEd25519Signature(String encryptedData, String encodedSignature) { private boolean verifyEd25519Signature(String encryptedData, String encodedSignature) {
try { try {
log.info("Signature to verify: {}", encodedSignature); log.info("Signature to verify: {}", encodedSignature);
log.info("Public key being used: {}", PUBLIC_KEY);
byte[] signatureBytes = Base64.getDecoder().decode(encodedSignature); byte[] signatureBytes = Base64.getDecoder().decode(encodedSignature);
@ -193,7 +185,7 @@ public class KeygenLicenseVerifier {
private boolean processCertificateData(String certData) { private boolean processCertificateData(String certData) {
try { try {
log.info("Processing certificate data: {}", certData);
JSONObject licenseData = new JSONObject(certData); JSONObject licenseData = new JSONObject(certData);
JSONObject metaObj = licenseData.optJSONObject("meta"); JSONObject metaObj = licenseData.optJSONObject("meta");
@ -242,9 +234,18 @@ public class KeygenLicenseVerifier {
applicationProperties.getPremium().setMaxUsers(users); applicationProperties.getPremium().setMaxUsers(users);
log.info("License allows for {} users", users); log.info("License allows for {} users", users);
} }
isEnterpriseLicense = metadataObj.optBoolean("isEnterprise", false);
} }
// Check maxUsers directly in attributes if present from policy definition
// if (attributesObj.has("maxUsers")) {
// int maxUsers = attributesObj.optInt("maxUsers", 0);
// if (maxUsers > 0) {
// applicationProperties.getPremium().setMaxUsers(maxUsers);
// log.info("License directly specifies {} max users",
// maxUsers);
// }
// }
// Check license status if available // Check license status if available
String status = attributesObj.optString("status", null); String status = attributesObj.optString("status", null);
if (status != null if (status != null
@ -387,10 +388,9 @@ public class KeygenLicenseVerifier {
String policyId = policyObj.optString("id", "unknown"); String policyId = policyObj.optString("id", "unknown");
log.info("License uses policy: {}", policyId); log.info("License uses policy: {}", policyId);
// Extract max users and isEnterprise from policy or metadata // Extract max users from policy if available (customize based on your policy
// structure)
int users = policyObj.optInt("users", 0); int users = policyObj.optInt("users", 0);
isEnterpriseLicense = policyObj.optBoolean("isEnterprise", false);
if (users > 0) { if (users > 0) {
applicationProperties.getPremium().setMaxUsers(users); applicationProperties.getPremium().setMaxUsers(users);
log.info("License allows for {} users", users); log.info("License allows for {} users", users);
@ -402,16 +402,12 @@ public class KeygenLicenseVerifier {
users = metadata.optInt("users", 1); users = metadata.optInt("users", 1);
applicationProperties.getPremium().setMaxUsers(users); applicationProperties.getPremium().setMaxUsers(users);
log.info("License allows for {} users (from metadata)", users); log.info("License allows for {} users (from metadata)", users);
// Check for isEnterprise flag in metadata
isEnterpriseLicense = metadata.optBoolean("isEnterprise", false);
} else { } else {
// Default value // Default value
applicationProperties.getPremium().setMaxUsers(1); applicationProperties.getPremium().setMaxUsers(1);
log.info("Using default of 1 user for license"); log.info("Using default of 1 user for license");
} }
} }
} }
return true; return true;
@ -498,7 +494,6 @@ public class KeygenLicenseVerifier {
log.info("Validation detail: " + detail); log.info("Validation detail: " + detail);
log.info("Validation code: " + code); log.info("Validation code: " + code);
// Extract user count
int users = int users =
jsonResponse jsonResponse
.path("data") .path("data")
@ -507,16 +502,6 @@ public class KeygenLicenseVerifier {
.path("users") .path("users")
.asInt(0); .asInt(0);
applicationProperties.getPremium().setMaxUsers(users); applicationProperties.getPremium().setMaxUsers(users);
// Extract isEnterprise flag
isEnterpriseLicense =
jsonResponse
.path("data")
.path("attributes")
.path("metadata")
.path("isEnterprise")
.asBoolean(false);
log.info(applicationProperties.toString()); log.info(applicationProperties.toString());
} else { } else {

View File

@ -20,8 +20,6 @@ import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader; import org.springframework.core.io.ResourceLoader;
import org.thymeleaf.spring6.SpringTemplateEngine; import org.thymeleaf.spring6.SpringTemplateEngine;
import com.posthog.java.shaded.kotlin.text.Regex;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.ApplicationProperties;

View File

@ -45,10 +45,6 @@ public class EndpointConfiguration {
} }
} }
public Map<String, Boolean> getEndpointStatuses() {
return endpointStatuses;
}
public boolean isEndpointEnabled(String endpoint) { public boolean isEndpointEnabled(String endpoint) {
if (endpoint.startsWith("/")) { if (endpoint.startsWith("/")) {
endpoint = endpoint.substring(1); endpoint = endpoint.substring(1);

View File

@ -23,29 +23,7 @@ public class EndpointInterceptor implements HandlerInterceptor {
HttpServletRequest request, HttpServletResponse response, Object handler) HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception { throws Exception {
String requestURI = request.getRequestURI(); String requestURI = request.getRequestURI();
boolean isEnabled; if (!endpointConfiguration.isEndpointEnabled(requestURI)) {
// Extract the specific endpoint name (e.g: /api/v1/general/remove-pages -> remove-pages)
if (requestURI.contains("/api/v1") && requestURI.split("/").length > 4) {
String[] requestURIParts = requestURI.split("/");
String requestEndpoint;
// Endpoint: /api/v1/convert/pdf/img becomes pdf-to-img
if ("convert".equals(requestURIParts[3]) && requestURIParts.length > 5) {
requestEndpoint = requestURIParts[4] + "-to-" + requestURIParts[5];
} else {
requestEndpoint = requestURIParts[4];
}
log.debug("Request endpoint: {}", requestEndpoint);
isEnabled = endpointConfiguration.isEndpointEnabled(requestEndpoint);
log.debug("Is endpoint enabled: {}", isEnabled);
} else {
isEnabled = endpointConfiguration.isEndpointEnabled(requestURI);
}
if (!isEnabled) {
response.sendError(HttpServletResponse.SC_FORBIDDEN, "This endpoint is disabled"); response.sendError(HttpServletResponse.SC_FORBIDDEN, "This endpoint is disabled");
return false; return false;
} }

View File

@ -423,8 +423,6 @@ public class UserService implements UserServiceInterface {
if (principal instanceof UserDetails detailsUser) { if (principal instanceof UserDetails detailsUser) {
return detailsUser.getUsername(); return detailsUser.getUsername();
} else if (principal instanceof stirling.software.SPDF.model.User domainUser) {
return domainUser.getUsername();
} else if (principal instanceof OAuth2User oAuth2User) { } else if (principal instanceof OAuth2User oAuth2User) {
return oAuth2User.getAttribute( return oAuth2User.getAttribute(
applicationProperties.getSecurity().getOauth2().getUseAsUsername()); applicationProperties.getSecurity().getOauth2().getUseAsUsername());
@ -477,12 +475,6 @@ public class UserService implements UserServiceInterface {
@Override @Override
public long getTotalUsersCount() { public long getTotalUsersCount() {
// Count all users in the database return userRepository.count();
long userCount = userRepository.count();
// Exclude the internal API user from the count
if (findByUsernameIgnoreCase(Role.INTERNAL_API_USER.getRoleId()).isPresent()) {
userCount -= 1;
}
return userCount;
} }
} }

View File

@ -1,12 +1,10 @@
package stirling.software.SPDF.controller.api; package stirling.software.SPDF.controller.api;
import java.io.IOException; import java.io.IOException;
import java.util.Map;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -14,7 +12,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.config.EndpointConfiguration;
import stirling.software.SPDF.config.InstallationPathConfig; import stirling.software.SPDF.config.InstallationPathConfig;
import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.ApplicationProperties;
import stirling.software.SPDF.utils.GeneralUtils; import stirling.software.SPDF.utils.GeneralUtils;
@ -26,13 +23,9 @@ import stirling.software.SPDF.utils.GeneralUtils;
public class SettingsController { public class SettingsController {
private final ApplicationProperties applicationProperties; private final ApplicationProperties applicationProperties;
private final EndpointConfiguration endpointConfiguration;
public SettingsController( public SettingsController(ApplicationProperties applicationProperties) {
ApplicationProperties applicationProperties,
EndpointConfiguration endpointConfiguration) {
this.applicationProperties = applicationProperties; this.applicationProperties = applicationProperties;
this.endpointConfiguration = endpointConfiguration;
} }
@PostMapping("/update-enable-analytics") @PostMapping("/update-enable-analytics")
@ -48,10 +41,4 @@ public class SettingsController {
applicationProperties.getSystem().setEnableAnalytics(enabled); applicationProperties.getSystem().setEnableAnalytics(enabled);
return ResponseEntity.ok("Updated"); return ResponseEntity.ok("Updated");
} }
@GetMapping("/get-endpoints-status")
@Hidden
public ResponseEntity<Map<String, Boolean>> getDisabledEndpoints() {
return ResponseEntity.ok(endpointConfiguration.getEndpointStatuses());
}
} }

View File

@ -208,8 +208,7 @@ public class PipelineDirectoryProcessor {
// Check against allowed extensions // Check against allowed extensions
boolean isAllowed = boolean isAllowed =
allowAllFiles allowAllFiles
|| inputExtensions.contains( || inputExtensions.contains(extension);
extension.toLowerCase());
if (!isAllowed) { if (!isAllowed) {
log.info( log.info(
"Skipping file with unsupported extension: {} ({})", "Skipping file with unsupported extension: {} ({})",

View File

@ -112,8 +112,7 @@ public class PipelineProcessor {
for (Resource file : outputFiles) { for (Resource file : outputFiles) {
boolean hasInputFileType = false; boolean hasInputFileType = false;
for (String extension : inputFileTypes) { for (String extension : inputFileTypes) {
if ("ALL".equals(extension) if ("ALL".equals(extension) || file.getFilename().endsWith(extension)) {
|| file.getFilename().toLowerCase().endsWith(extension)) {
hasInputFileType = true; hasInputFileType = true;
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>(); MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
body.add("fileInput", file); body.add("fileInput", file);
@ -167,9 +166,7 @@ public class PipelineProcessor {
.filter( .filter(
file -> file ->
finalinputFileTypes.stream() finalinputFileTypes.stream()
.anyMatch( .anyMatch(file.getFilename()::endsWith))
file.getFilename().toLowerCase()
::endsWith))
.toList(); .toList();
} }
// Check if there are matching files // Check if there are matching files

View File

@ -67,9 +67,6 @@ public class HomeWebController {
@GetMapping("/") @GetMapping("/")
public String home(Model model) { public String home(Model model) {
model.addAttribute("currentPage", "home"); model.addAttribute("currentPage", "home");
String showSurvey = System.getenv("SHOW_SURVEY");
boolean showSurveyValue = showSurvey == null || "true".equalsIgnoreCase(showSurvey);
model.addAttribute("showSurveyFromDocker", showSurveyValue);
return "home"; return "home";
} }

View File

@ -1,55 +0,0 @@
package stirling.software.SPDF.controller.web;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import stirling.software.SPDF.model.ApplicationProperties;
import java.util.regex.Pattern;
@Service
@Slf4j
public class UploadLimitService {
@Autowired
private ApplicationProperties applicationProperties;
public long getUploadLimit() {
String maxUploadSize =
applicationProperties.getSystem().getFileUploadLimit() != null
? applicationProperties.getSystem().getFileUploadLimit()
: "";
if (maxUploadSize.isEmpty()) {
return 0;
} else if (!Pattern.compile("^[1-9][0-9]{0,2}[KMGkmg][Bb]$").matcher(maxUploadSize).matches()) {
log.error(
"Invalid maxUploadSize format. Expected format: [1-9][0-9]{0,2}[KMGkmg][Bb], but got: {}",
maxUploadSize);
return 0;
} else {
String unit = maxUploadSize.replaceAll("[1-9][0-9]{0,2}", "").toUpperCase();
String number = maxUploadSize.replaceAll("[KMGkmg][Bb]", "");
long size = Long.parseLong(number);
return switch (unit) {
case "KB" -> size * 1024;
case "MB" -> size * 1024 * 1024;
case "GB" -> size * 1024 * 1024 * 1024;
default -> 0;
};
}
}
//TODO: why do this server side not client?
public String getReadableUploadLimit() {
return humanReadableByteCount(getUploadLimit());
}
private String humanReadableByteCount(long bytes) {
if (bytes < 1024) return bytes + " B";
int exp = (int) (Math.log(bytes) / Math.log(1024));
String pre = "KMGTPE".charAt(exp - 1) + "B";
return String.format("%.1f %s", bytes / Math.pow(1024, exp), pre);
}
}

View File

@ -290,7 +290,6 @@ public class ApplicationProperties {
private Boolean disableSanitize; private Boolean disableSanitize;
private Boolean enableUrlToPDF; private Boolean enableUrlToPDF;
private CustomPaths customPaths = new CustomPaths(); private CustomPaths customPaths = new CustomPaths();
private String fileUploadLimit;
public boolean isAnalyticsEnabled() { public boolean isAnalyticsEnabled() {
return this.getEnableAnalytics() != null && this.getEnableAnalytics(); return this.getEnableAnalytics() != null && this.getEnableAnalytics();

View File

@ -63,8 +63,6 @@ public class PostHogService {
if (!applicationProperties.getSystem().isAnalyticsEnabled()) { if (!applicationProperties.getSystem().isAnalyticsEnabled()) {
return; return;
} }
properties.put("app_version", appVersion);
postHog.capture(uniqueId, eventName, properties); postHog.capture(uniqueId, eventName, properties);
} }

View File

@ -10,9 +10,6 @@ multiPdfPrompt=اختر ملفات PDF (2+)
multiPdfDropPrompt=حدد (أو اسحب وأفلت) جميع ملفات PDF التي تحتاجها multiPdfDropPrompt=حدد (أو اسحب وأفلت) جميع ملفات PDF التي تحتاجها
imgPrompt=اختر صورة imgPrompt=اختر صورة
genericSubmit=إرسال genericSubmit=إرسال
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=تحذير: يمكن أن تستغرق هذه العملية ما يصل إلى دقيقة حسب حجم الملف processTimeWarning=تحذير: يمكن أن تستغرق هذه العملية ما يصل إلى دقيقة حسب حجم الملف
pageOrderPrompt=ترتيب الصفحات (أدخل قائمة بأرقام الصفحات مفصولة بفواصل): pageOrderPrompt=ترتيب الصفحات (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):
pageSelectionPrompt=اختيار الصفحات المخصص (أدخل قائمة بأرقام الصفحات مفصولة بفواصل 1،5،6 أو دوال مثل 2n+1): pageSelectionPrompt=اختيار الصفحات المخصص (أدخل قائمة بأرقام الصفحات مفصولة بفواصل 1،5،6 أو دوال مثل 2n+1):
@ -93,7 +90,6 @@ legal.terms=شروط الاستخدام
legal.accessibility=إمكانية الوصول legal.accessibility=إمكانية الوصول
legal.cookie=سياسة ملفات تعريف الارتباط legal.cookie=سياسة ملفات تعريف الارتباط
legal.impressum=بيان الهوية legal.impressum=بيان الهوية
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=تفعيل الإحصائيات
analytics.disable=تعطيل الإحصائيات analytics.disable=تعطيل الإحصائيات
analytics.settings=يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml analytics.settings=يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDFləri Seç (2+)
multiPdfDropPrompt=Ehtiyacınız olan bütün PDFləri seçin (və ya sürükləyib buraxın) multiPdfDropPrompt=Ehtiyacınız olan bütün PDFləri seçin (və ya sürükləyib buraxın)
imgPrompt=Şəkil(lər)i Seç imgPrompt=Şəkil(lər)i Seç
genericSubmit=Təsdiq Et genericSubmit=Təsdiq Et
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Xəbərdarlıq: Bu proses fayl ölçüsündən asılı olaraq bir dəqiqəyə qədər vaxt ala bilər processTimeWarning=Xəbərdarlıq: Bu proses fayl ölçüsündən asılı olaraq bir dəqiqəyə qədər vaxt ala bilər
pageOrderPrompt=Xüsusi Səhifə Ardıcıllığı (Vergüllə ayrılmış səhifə nömrələri listini və ya 2n+1 tərzində Funksiyalar daxil edin) : pageOrderPrompt=Xüsusi Səhifə Ardıcıllığı (Vergüllə ayrılmış səhifə nömrələri listini və ya 2n+1 tərzində Funksiyalar daxil edin) :
pageSelectionPrompt=Xüsusi Səhifə Seçimi (1, 5, 6 tərzində vergüllə ayrılmış səhifə nömrələri listini və ya 2n+1 tərzində Funksiyalar daxil edin) : pageSelectionPrompt=Xüsusi Səhifə Seçimi (1, 5, 6 tərzində vergüllə ayrılmış səhifə nömrələri listini və ya 2n+1 tərzində Funksiyalar daxil edin) :
@ -93,7 +90,6 @@ legal.terms=Qaydalar və Şərtlər
legal.accessibility=Əlçatanlıq legal.accessibility=Əlçatanlıq
legal.cookie=Kuki Siyasəti legal.cookie=Kuki Siyasəti
legal.impressum=Təəssürat legal.impressum=Təəssürat
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analitikanı aktivləşdir
analytics.disable=Analitikanı deaktivləşdir analytics.disable=Analitikanı deaktivləşdir
analytics.settings=Analitikanın parametrlərini config/settings.yml faylından dəyişə bilərsiniz. analytics.settings=Analitikanın parametrlərini config/settings.yml faylından dəyişə bilərsiniz.
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Изберете PDF (2+)
multiPdfDropPrompt=Изберете (или плъзнете и пуснете) всички PDF файлове, от които се нуждаете multiPdfDropPrompt=Изберете (или плъзнете и пуснете) всички PDF файлове, от които се нуждаете
imgPrompt=Изберете изображение(я) imgPrompt=Изберете изображение(я)
genericSubmit=Подайте genericSubmit=Подайте
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Предупреждение: Този процес може да отнеме до минута в зависимост от размера на файла processTimeWarning=Предупреждение: Този процес може да отнеме до минута в зависимост от размера на файла
pageOrderPrompt=Персонализиран ред на страниците (Въведете разделен със запетаи списък с номера на страници или функции като 2n+1): pageOrderPrompt=Персонализиран ред на страниците (Въведете разделен със запетаи списък с номера на страници или функции като 2n+1):
pageSelectionPrompt=Персонализиран избор на страница (Въведете списък с номера на страници 1,5,6, разделени със запетая, или функции като 2n+1) : pageSelectionPrompt=Персонализиран избор на страница (Въведете списък с номера на страници 1,5,6, разделени със запетая, или функции като 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Правила и условия
legal.accessibility=Достъпност legal.accessibility=Достъпност
legal.cookie=Политика за бисквитки legal.cookie=Политика за бисквитки
legal.impressum=Отпечатък legal.impressum=Отпечатък
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Активиране на анализа
analytics.disable=Деактивиране на анализа analytics.disable=Деактивиране на анализа
analytics.settings=Можете да промените настройките за анализ във config/settings.yml файла analytics.settings=Можете да промените настройките за анализ във config/settings.yml файла
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версия
validateSignature.cert.keyUsage=Предназначение на ключа за използване validateSignature.cert.keyUsage=Предназначение на ключа за използване
validateSignature.cert.selfSigned=Самостоятелно подписан validateSignature.cert.selfSigned=Самостоятелно подписан
validateSignature.cert.bits=битове validateSignature.cert.bits=битове
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Selecciona PDFs (2+)
multiPdfDropPrompt=Selecciona (o arrossega) els documents PDF multiPdfDropPrompt=Selecciona (o arrossega) els documents PDF
imgPrompt=Selecciona Imatge(s) imgPrompt=Selecciona Imatge(s)
genericSubmit=Envia genericSubmit=Envia
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Alerta: Aquest procés pot tardar 1 minut depenent de la mida de l'arxiu processTimeWarning=Alerta: Aquest procés pot tardar 1 minut depenent de la mida de l'arxiu
pageOrderPrompt=Ordre de Pàgines (Llista separada per comes) : pageOrderPrompt=Ordre de Pàgines (Llista separada per comes) :
pageSelectionPrompt=Selecció de pàgines personalitzada (Introdueix una llista separada per comes de números de pàgina, 1,5,6 o funcions com 2n+1): pageSelectionPrompt=Selecció de pàgines personalitzada (Introdueix una llista separada per comes de números de pàgina, 1,5,6 o funcions com 2n+1):
@ -93,7 +90,6 @@ legal.terms=Termes i condicions
legal.accessibility=Accessibilitat legal.accessibility=Accessibilitat
legal.cookie=Política de galetes legal.cookie=Política de galetes
legal.impressum=Avís Legal legal.impressum=Avís Legal
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilita analítiques
analytics.disable=Desactiva analítiques analytics.disable=Desactiva analítiques
analytics.settings=Pots canviar la configuració de les analítiques al fitxer config/settings.yml analytics.settings=Pots canviar la configuració de les analítiques al fitxer config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versió
validateSignature.cert.keyUsage=Ús de la clau validateSignature.cert.keyUsage=Ús de la clau
validateSignature.cert.selfSigned=Autofirmat validateSignature.cert.selfSigned=Autofirmat
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Vyberte PDF soubory (2+)
multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory
imgPrompt=Vyberte obrázek(y) imgPrompt=Vyberte obrázek(y)
genericSubmit=Odeslat genericSubmit=Odeslat
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Upozornění: Tento proces může trvat až minutu v závislosti na velikosti souboru processTimeWarning=Upozornění: Tento proces může trvat až minutu v závislosti na velikosti souboru
pageOrderPrompt=Vlastní pořadí stránek (Zadejte seznam čísel stránek oddělených čárkou nebo funkci jako např. 2n+1): pageOrderPrompt=Vlastní pořadí stránek (Zadejte seznam čísel stránek oddělených čárkou nebo funkci jako např. 2n+1):
pageSelectionPrompt=Vlastní výběr stránek (Zadejte seznam čísel stránek oddělených čárkou jako 1,5,6 nebo funkci jako např. 2n+1): pageSelectionPrompt=Vlastní výběr stránek (Zadejte seznam čísel stránek oddělených čárkou jako 1,5,6 nebo funkci jako např. 2n+1):
@ -93,7 +90,6 @@ legal.terms=Podmínky použití
legal.accessibility=Přístupnost legal.accessibility=Přístupnost
legal.cookie=Zásady používání cookies legal.cookie=Zásady používání cookies
legal.impressum=Tiráž legal.impressum=Tiráž
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Povolit analytiku
analytics.disable=Zakázat analytiku analytics.disable=Zakázat analytiku
analytics.settings=Nastavení analytiky můžete změnit v souboru config/settings.yml analytics.settings=Nastavení analytiky můžete změnit v souboru config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Verze
validateSignature.cert.keyUsage=Použití klíče validateSignature.cert.keyUsage=Použití klíče
validateSignature.cert.selfSigned=Podepsaný sám sebou validateSignature.cert.selfSigned=Podepsaný sám sebou
validateSignature.cert.bits=bitů validateSignature.cert.bits=bitů
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Vælg PDF-filerne (2+)
multiPdfDropPrompt=Vælg (eller drag & drop) alle PDF-filerne du skal bruge multiPdfDropPrompt=Vælg (eller drag & drop) alle PDF-filerne du skal bruge
imgPrompt=Vælg Billede(r) imgPrompt=Vælg Billede(r)
genericSubmit=Indsend genericSubmit=Indsend
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Advarsel: Denne proces kan tage op til et helt minut, alt efter størrelsen på filen processTimeWarning=Advarsel: Denne proces kan tage op til et helt minut, alt efter størrelsen på filen
pageOrderPrompt=Brugerdefineret siderækkefølge (Indtast en kommasepareret liste af sidenumre eller funktioner som 2n+1) : pageOrderPrompt=Brugerdefineret siderækkefølge (Indtast en kommasepareret liste af sidenumre eller funktioner som 2n+1) :
pageSelectionPrompt=Brugerdefineret sidevalg (Indtast en kommasepareret liste af sidenumre 1,5,6 eller funktioner som 2n+1) : pageSelectionPrompt=Brugerdefineret sidevalg (Indtast en kommasepareret liste af sidenumre 1,5,6 eller funktioner som 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Vilkår og betingelser
legal.accessibility=Adgangsnævnteglen legal.accessibility=Adgangsnævnteglen
legal.cookie=Cokiebelejring legal.cookie=Cokiebelejring
legal.impressum=Angivelse af ansvar legal.impressum=Angivelse af ansvar
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktivér analytics
analytics.disable=Deaktiver analytics analytics.disable=Deaktiver analytics
analytics.settings=Du kan ændre analytics-indstillingerne i config/settings.yml-filen analytics.settings=Du kan ændre analytics-indstillingerne i config/settings.yml-filen
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDFs auswählen(2+)
multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin) multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin)
imgPrompt=Wählen Sie ein Bild imgPrompt=Wählen Sie ein Bild
genericSubmit=Absenden genericSubmit=Absenden
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Achtung: Abhängig von der Dateigröße kann dieser Prozess bis zu einer Minute dauern processTimeWarning=Achtung: Abhängig von der Dateigröße kann dieser Prozess bis zu einer Minute dauern
pageOrderPrompt=Seitenreihenfolge (Geben Sie eine durch Komma getrennte Liste von Seitenzahlen ein): pageOrderPrompt=Seitenreihenfolge (Geben Sie eine durch Komma getrennte Liste von Seitenzahlen ein):
pageSelectionPrompt=Benutzerdefinierte Seitenauswahl (Geben Sie eine durch Kommas getrennte Liste von Seitenzahlen 1,5,6 oder Funktionen wie 2n+1 ein): pageSelectionPrompt=Benutzerdefinierte Seitenauswahl (Geben Sie eine durch Kommas getrennte Liste von Seitenzahlen 1,5,6 oder Funktionen wie 2n+1 ein):
@ -93,7 +90,6 @@ legal.terms=AGB
legal.accessibility=Barrierefreiheit legal.accessibility=Barrierefreiheit
legal.cookie=Cookie-Richtlinie legal.cookie=Cookie-Richtlinie
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analytics aktivieren
analytics.disable=Analytics deaktivieren analytics.disable=Analytics deaktivieren
analytics.settings=Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten analytics.settings=Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Schlüsselverwendung validateSignature.cert.keyUsage=Schlüsselverwendung
validateSignature.cert.selfSigned=Selbstsigniert validateSignature.cert.selfSigned=Selbstsigniert
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Επιλέξτε PDFs (2+)
multiPdfDropPrompt=Επιλέξτε (ή σύρετε & αφήστε) όλα τα PDF που χρειάζεστε multiPdfDropPrompt=Επιλέξτε (ή σύρετε & αφήστε) όλα τα PDF που χρειάζεστε
imgPrompt=Επιλέξτε εικόνα(ες) imgPrompt=Επιλέξτε εικόνα(ες)
genericSubmit=Υποβολή genericSubmit=Υποβολή
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Προειδοποίηση: Αυτή η διαδικασία μπορεί να διαρκέσει έως ένα λεπτό ανάλογα με το μέγεθος του αρχείου processTimeWarning=Προειδοποίηση: Αυτή η διαδικασία μπορεί να διαρκέσει έως ένα λεπτό ανάλογα με το μέγεθος του αρχείου
pageOrderPrompt=Προσαρμοσμένη σειρά σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα ή συναρτήσεις όπως 2n+1): pageOrderPrompt=Προσαρμοσμένη σειρά σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα ή συναρτήσεις όπως 2n+1):
pageSelectionPrompt=Προσαρμοσμένη επιλογή σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα 1,5,6 ή συναρτήσεις όπως 2n+1): pageSelectionPrompt=Προσαρμοσμένη επιλογή σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα 1,5,6 ή συναρτήσεις όπως 2n+1):
@ -93,7 +90,6 @@ legal.terms=Όροι και προϋποθέσεις
legal.accessibility=Προσβασιμότητα legal.accessibility=Προσβασιμότητα
legal.cookie=Πολιτική cookies legal.cookie=Πολιτική cookies
legal.impressum=Ταυτότητα legal.impressum=Ταυτότητα
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Ενεργοποίηση analytics
analytics.disable=Απενεργοποίηση analytics analytics.disable=Απενεργοποίηση analytics
analytics.settings=Μπορείτε να αλλάξετε τις ρυθμίσεις για τα analytics στο αρχείο config/settings.yml analytics.settings=Μπορείτε να αλλάξετε τις ρυθμίσεις για τα analytics στο αρχείο config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Έκδοση
validateSignature.cert.keyUsage=Χρήση κλειδιού validateSignature.cert.keyUsage=Χρήση κλειδιού
validateSignature.cert.selfSigned=Αυτο-υπογεγραμμένο validateSignature.cert.selfSigned=Αυτο-υπογεγραμμένο
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Select PDFs (2+)
multiPdfDropPrompt=Select (or drag & drop) all PDFs you require multiPdfDropPrompt=Select (or drag & drop) all PDFs you require
imgPrompt=Select Image(s) imgPrompt=Select Image(s)
genericSubmit=Submit genericSubmit=Submit
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Warning: This process can take up to a minute depending on file-size processTimeWarning=Warning: This process can take up to a minute depending on file-size
pageOrderPrompt=Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) : pageOrderPrompt=Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) :
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
@ -1409,8 +1406,7 @@ validateSignature.cert.bits=bits
# Cookie banner # # Cookie banner #
#################### ####################
cookieBanner.popUp.title=How we use Cookies cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love. cookieBanner.popUp.description=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love. <br>If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences cookieBanner.popUp.showPreferencesBtn=Manage preferences
@ -1421,11 +1417,8 @@ cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users. cookieBanner.preferencesModal.description=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users. <br><br>Stirling PDF cannot—and will never—track or access the content of the documents you use. <b>Your privacy and trust are at the core of what we do<b>.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use. cookieBanner.preferencesModal.necessary.title=Strictly Necessary Cookies <span class=\"pm__badge\">Always Enabled</span>
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off. cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Select PDFs (2+)
multiPdfDropPrompt=Select (or drag & drop) all PDFs you require multiPdfDropPrompt=Select (or drag & drop) all PDFs you require
imgPrompt=Select Image(s) imgPrompt=Select Image(s)
genericSubmit=Submit genericSubmit=Submit
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Warning: This process can take up to a minute depending on file-size processTimeWarning=Warning: This process can take up to a minute depending on file-size
pageOrderPrompt=Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) : pageOrderPrompt=Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) :
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Seleccionar PDFs (2+)
multiPdfDropPrompt=Seleccione (o arrastre y suelte) todos los PDFs que quiera multiPdfDropPrompt=Seleccione (o arrastre y suelte) todos los PDFs que quiera
imgPrompt=Seleccionar Imagen(es) imgPrompt=Seleccionar Imagen(es)
genericSubmit=Enviar genericSubmit=Enviar
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Advertencia: este proceso puede tardar hasta un minuto dependiendo del tamaño del archivo processTimeWarning=Advertencia: este proceso puede tardar hasta un minuto dependiendo del tamaño del archivo
pageOrderPrompt=Orden de páginas (Introduzca una lista de números de página separados por coma): pageOrderPrompt=Orden de páginas (Introduzca una lista de números de página separados por coma):
pageSelectionPrompt=Selección de página personalizada (Intruduzca una lista de números de página separados por comas 1,5,6 o funciones como 2n+1) : pageSelectionPrompt=Selección de página personalizada (Intruduzca una lista de números de página separados por comas 1,5,6 o funciones como 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Términos y Condiciones
legal.accessibility=Accesibilidad legal.accessibility=Accesibilidad
legal.cookie=Política de Cookies legal.cookie=Política de Cookies
legal.impressum=Impresión legal.impressum=Impresión
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilitar analíticas
analytics.disable=Deshabilitar analíticas analytics.disable=Deshabilitar analíticas
analytics.settings=Puede cambiar la configuración de analíticas en el archivo config/settings.yml analytics.settings=Puede cambiar la configuración de analíticas en el archivo config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versión
validateSignature.cert.keyUsage=Uso de la llave validateSignature.cert.keyUsage=Uso de la llave
validateSignature.cert.selfSigned=Autofirmado validateSignature.cert.selfSigned=Autofirmado
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Hautatu PDFak (2+)
multiPdfDropPrompt=Hautatu (edo arrastatu eta jaregin) nahi dituzun PDFak multiPdfDropPrompt=Hautatu (edo arrastatu eta jaregin) nahi dituzun PDFak
imgPrompt=Hautatu Irudia(k) imgPrompt=Hautatu Irudia(k)
genericSubmit=Bidali genericSubmit=Bidali
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Oharra: prozesu honetarako minutu bat ere beharko da fitxategiaren tamaiaren arabera processTimeWarning=Oharra: prozesu honetarako minutu bat ere beharko da fitxategiaren tamaiaren arabera
pageOrderPrompt=Orrialdeen ordena (sartu komaz bereizitako orrialde-zenbakien zerrenda) pageOrderPrompt=Orrialdeen ordena (sartu komaz bereizitako orrialde-zenbakien zerrenda)
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=انتخاب فایل‌های PDF (دو یا بیشتر)
multiPdfDropPrompt=انتخاب (یا کشیدن و رها کردن) تمام فایل‌های PDF مورد نیاز multiPdfDropPrompt=انتخاب (یا کشیدن و رها کردن) تمام فایل‌های PDF مورد نیاز
imgPrompt=انتخاب تصویر(ها) imgPrompt=انتخاب تصویر(ها)
genericSubmit=ارسال genericSubmit=ارسال
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=هشدار: این فرآیند ممکن است بسته به اندازه فایل تا یک دقیقه طول بکشد processTimeWarning=هشدار: این فرآیند ممکن است بسته به اندازه فایل تا یک دقیقه طول بکشد
pageOrderPrompt=ترتیب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید یا از توابعی مانند 2n+1 استفاده کنید): pageOrderPrompt=ترتیب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید یا از توابعی مانند 2n+1 استفاده کنید):
pageSelectionPrompt=انتخاب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید مانند 1,5,6 یا از توابعی مانند 2n+1 استفاده کنید): pageSelectionPrompt=انتخاب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید مانند 1,5,6 یا از توابعی مانند 2n+1 استفاده کنید):
@ -93,7 +90,6 @@ legal.terms=شرایط و ضوابط
legal.accessibility=دسترسی legal.accessibility=دسترسی
legal.cookie=سیاست کوکی‌ها legal.cookie=سیاست کوکی‌ها
legal.impressum=توضیحات قانونی legal.impressum=توضیحات قانونی
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=فعال کردن تحلیل‌ها
analytics.disable=غیرفعال کردن تحلیل‌ها analytics.disable=غیرفعال کردن تحلیل‌ها
analytics.settings=می‌توانید تنظیمات مربوط به تحلیل‌ها را در فایل config/settings.yml تغییر دهید analytics.settings=می‌توانید تنظیمات مربوط به تحلیل‌ها را در فایل config/settings.yml تغییر دهید
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=نسخه
validateSignature.cert.keyUsage=کاربرد کلید validateSignature.cert.keyUsage=کاربرد کلید
validateSignature.cert.selfSigned=با امضای خود validateSignature.cert.selfSigned=با امضای خود
validateSignature.cert.bits=بیت‌ها validateSignature.cert.bits=بیت‌ها
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Sélectionnez les PDF
multiPdfDropPrompt=Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin multiPdfDropPrompt=Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin
imgPrompt=Choisir une image imgPrompt=Choisir une image
genericSubmit=Envoyer genericSubmit=Envoyer
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Attention, ce processus peut prendre jusqu'à une minute en fonction de la taille du fichier. processTimeWarning=Attention, ce processus peut prendre jusqu'à une minute en fonction de la taille du fichier.
pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) : pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
pageSelectionPrompt=Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) : pageSelectionPrompt=Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Conditions Générales
legal.accessibility=Accessibilité legal.accessibility=Accessibilité
legal.cookie=Politique des Cookies legal.cookie=Politique des Cookies
legal.impressum=Mentions Légales legal.impressum=Mentions Légales
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Activer les analyses
analytics.disable=Désactiver les analyses analytics.disable=Désactiver les analyses
analytics.settings=Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml analytics.settings=Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1094,8 +1089,8 @@ imageToPDF.selectText.5=Convertir en PDF séparés
#pdfToImage #pdfToImage
pdfToImage.title=PDF en Image pdfToImage.title=Image en PDF
pdfToImage.header=PDF en Image pdfToImage.header=Image en PDF
pdfToImage.selectText=Format d'image pdfToImage.selectText=Format d'image
pdfToImage.singleOrMultiple=Type de résultat pdfToImage.singleOrMultiple=Type de résultat
pdfToImage.single=Une seule grande image pdfToImage.single=Une seule grande image
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Usage de la clé validateSignature.cert.keyUsage=Usage de la clé
validateSignature.cert.selfSigned=Auto-signé validateSignature.cert.selfSigned=Auto-signé
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Roghnaigh PDFs (2+)
multiPdfDropPrompt=Roghnaigh (nó tarraing & scaoil) gach PDF atá uait multiPdfDropPrompt=Roghnaigh (nó tarraing & scaoil) gach PDF atá uait
imgPrompt=Roghnaigh Íomhá(í) imgPrompt=Roghnaigh Íomhá(í)
genericSubmit=Cuir isteach genericSubmit=Cuir isteach
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Rabhadh: Féadfaidh an próiseas seo suas le nóiméad a ghlacadh ag brath ar mhéid an chomhaid processTimeWarning=Rabhadh: Féadfaidh an próiseas seo suas le nóiméad a ghlacadh ag brath ar mhéid an chomhaid
pageOrderPrompt=Ordú Leathanach Saincheaptha (Iontráil liosta uimhreacha leathanaigh nó Feidhmeanna ar nós 2n+1 le camóga deighilte): pageOrderPrompt=Ordú Leathanach Saincheaptha (Iontráil liosta uimhreacha leathanaigh nó Feidhmeanna ar nós 2n+1 le camóga deighilte):
pageSelectionPrompt=Roghnú Leathanach Saincheaptha (Iontráil liosta leathanach scartha le camóg d'uimhreacha 1,5,6 nó Feidhmeanna ar nós 2n+1): pageSelectionPrompt=Roghnú Leathanach Saincheaptha (Iontráil liosta leathanach scartha le camóg d'uimhreacha 1,5,6 nó Feidhmeanna ar nós 2n+1):
@ -93,7 +90,6 @@ legal.terms=Téarmaí agus Coinníollacha
legal.accessibility=Inrochtaineacht legal.accessibility=Inrochtaineacht
legal.cookie=Polasaí Fianán legal.cookie=Polasaí Fianán
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Cumasaigh anailísíocht
analytics.disable=Díchumasaigh anailísíocht analytics.disable=Díchumasaigh anailísíocht
analytics.settings=Is féidir leat na socruithe don anailísíocht a athrú sa chomhad config/settings.yml analytics.settings=Is féidir leat na socruithe don anailísíocht a athrú sa chomhad config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Leagan
validateSignature.cert.keyUsage=Úsáid Eochrach validateSignature.cert.keyUsage=Úsáid Eochrach
validateSignature.cert.selfSigned=Féin-Sínithe validateSignature.cert.selfSigned=Féin-Sínithe
validateSignature.cert.bits=giotáin validateSignature.cert.bits=giotáin
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=पीडीएफ फ़ाइलें चुनें (2+)
multiPdfDropPrompt=आवश्यक सभी पीडीएफ फ़ाइलों को चुनें (या खींच कर छोड़ें) multiPdfDropPrompt=आवश्यक सभी पीडीएफ फ़ाइलों को चुनें (या खींच कर छोड़ें)
imgPrompt=छवि(यां) चुनें imgPrompt=छवि(यां) चुनें
genericSubmit=जमा करें genericSubmit=जमा करें
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=चेतावनी: फ़ाइल के आकार के आधार पर यह प्रक्रिया एक मिनट तक ले सकती है processTimeWarning=चेतावनी: फ़ाइल के आकार के आधार पर यह प्रक्रिया एक मिनट तक ले सकती है
pageOrderPrompt=कस्टम पृष्ठ क्रम (पृष्ठ संख्याओं की अल्पविराम से अलग सूची या 2n+1 जैसे फ़ंक्शन दर्ज करें): pageOrderPrompt=कस्टम पृष्ठ क्रम (पृष्ठ संख्याओं की अल्पविराम से अलग सूची या 2n+1 जैसे फ़ंक्शन दर्ज करें):
pageSelectionPrompt=कस्टम पृष्ठ चयन (पृष्ठ संख्याओं 1,5,6 या 2n+1 जैसे फ़ंक्शन की अल्पविराम से अलग सूची दर्ज करें): pageSelectionPrompt=कस्टम पृष्ठ चयन (पृष्ठ संख्याओं 1,5,6 या 2n+1 जैसे फ़ंक्शन की अल्पविराम से अलग सूची दर्ज करें):
@ -93,7 +90,6 @@ legal.terms=नियम और शर्तें
legal.accessibility=सुलभता legal.accessibility=सुलभता
legal.cookie=कुकी नीति legal.cookie=कुकी नीति
legal.impressum=इम्प्रेसम legal.impressum=इम्प्रेसम
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=विश्लेषण सक्षम करें
analytics.disable=विश्लेषण अक्षम करें analytics.disable=विश्लेषण अक्षम करें
analytics.settings=आप config/settings.yml फ़ाइल में विश्लेषण के लिए सेटिंग्स बदल सकते हैं analytics.settings=आप config/settings.yml फ़ाइल में विश्लेषण के लिए सेटिंग्स बदल सकते हैं
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=संस्करण
validateSignature.cert.keyUsage=कुंजी उपयोग validateSignature.cert.keyUsage=कुंजी उपयोग
validateSignature.cert.selfSigned=स्व-हस्ताक्षरित validateSignature.cert.selfSigned=स्व-हस्ताक्षरित
validateSignature.cert.bits=बिट्स validateSignature.cert.bits=बिट्स
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Odaberi PDF-ove (2+)
multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove
imgPrompt=Odaberi sliku (slike) imgPrompt=Odaberi sliku (slike)
genericSubmit=Pošalji genericSubmit=Pošalji
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Upozorenje: Ovaj proces može trajati i do minutu, u zavisnosti od veličine dokumenta processTimeWarning=Upozorenje: Ovaj proces može trajati i do minutu, u zavisnosti od veličine dokumenta
pageOrderPrompt=Prilagođeni redoslijed stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) : pageOrderPrompt=Prilagođeni redoslijed stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) :
pageSelectionPrompt=Prilagođeni odabir stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) : pageSelectionPrompt=Prilagođeni odabir stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) :
@ -93,7 +90,6 @@ legal.terms=Uspe sodržine
legal.accessibility=Dostupnost legal.accessibility=Dostupnost
legal.cookie=Politika kolačića legal.cookie=Politika kolačića
legal.impressum=Vedro ishoda legal.impressum=Vedro ishoda
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Omogući analitike
analytics.disable=Onemogući analitike analytics.disable=Onemogući analitike
analytics.settings=Možete promijeniti postavke za analitike u datoteci config/settings.yml analytics.settings=Možete promijeniti postavke za analitike u datoteci config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDF-fájlok kiválasztása (2+)
multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt
imgPrompt=Kép kiválasztása imgPrompt=Kép kiválasztása
genericSubmit=Küldés genericSubmit=Küldés
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Figyelmeztetés: A folyamat akár egy percig is eltarthat a fájlmérettől függően processTimeWarning=Figyelmeztetés: A folyamat akár egy percig is eltarthat a fájlmérettől függően
pageOrderPrompt=Egyedi oldalsorrend (Adja meg az oldalszámokat vesszővel elválasztva vagy használjon függvényeket, pl. 2n+1): pageOrderPrompt=Egyedi oldalsorrend (Adja meg az oldalszámokat vesszővel elválasztva vagy használjon függvényeket, pl. 2n+1):
pageSelectionPrompt=Egyedi oldalválasztás (Adja meg az oldalszámokat vesszővel elválasztva, pl. 1,5,6 vagy használjon függvényeket, pl. 2n+1): pageSelectionPrompt=Egyedi oldalválasztás (Adja meg az oldalszámokat vesszővel elválasztva, pl. 1,5,6 vagy használjon függvényeket, pl. 2n+1):
@ -93,7 +90,6 @@ legal.terms=Felhasználási feltételek
legal.accessibility=Akadálymentesítési nyilatkozat legal.accessibility=Akadálymentesítési nyilatkozat
legal.cookie=Süti szabályzat legal.cookie=Süti szabályzat
legal.impressum=Impresszum legal.impressum=Impresszum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analitika engedélyezése
analytics.disable=Analitika letiltása analytics.disable=Analitika letiltása
analytics.settings=Az analitikai beállításokat a config/settings.yml fájlban módosíthatja analytics.settings=Az analitikai beállításokat a config/settings.yml fájlban módosíthatja
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Verzió
validateSignature.cert.keyUsage=Kulcshasználat validateSignature.cert.keyUsage=Kulcshasználat
validateSignature.cert.selfSigned=Önaláírt validateSignature.cert.selfSigned=Önaláírt
validateSignature.cert.bits=bit validateSignature.cert.bits=bit
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Pilih PDF (2+)
multiPdfDropPrompt=Pilih (atau seret & letakkan)) semua PDF yang Anda butuhkan multiPdfDropPrompt=Pilih (atau seret & letakkan)) semua PDF yang Anda butuhkan
imgPrompt=Pilih Gambar imgPrompt=Pilih Gambar
genericSubmit=Kirim genericSubmit=Kirim
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas
pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) : pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) :
pageSelectionPrompt=Pemilihan Halaman Kustom (Masukkan daftar nomor halaman dipisahkan dengan koma 1,5,6 atau Fungsi seperti 2n+1) : pageSelectionPrompt=Pemilihan Halaman Kustom (Masukkan daftar nomor halaman dipisahkan dengan koma 1,5,6 atau Fungsi seperti 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Syarat dan Ketentuan
legal.accessibility=Aksesibilitas legal.accessibility=Aksesibilitas
legal.cookie=Kebijakan Kuki legal.cookie=Kebijakan Kuki
legal.impressum=Impresum legal.impressum=Impresum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktifkan analitik
analytics.disable=Nonaktifkan analitik analytics.disable=Nonaktifkan analitik
analytics.settings=Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml analytics.settings=Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Scegli 2 o più PDF
multiPdfDropPrompt=Scegli (o trascina e rilascia) uno o più PDF multiPdfDropPrompt=Scegli (o trascina e rilascia) uno o più PDF
imgPrompt=Scegli immagine/i imgPrompt=Scegli immagine/i
genericSubmit=Invia genericSubmit=Invia
uploadLimit=Dimensione massima del file:
uploadLimitExceededSingular=è troppo grande. La dimensione massima consentita è
uploadLimitExceededPlural=sono troppo grandi. La dimensione massima consentita è
processTimeWarning=Nota: Questo processo potrebbe richiedere fino a un minuto in base alla dimensione dei file processTimeWarning=Nota: Questo processo potrebbe richiedere fino a un minuto in base alla dimensione dei file
pageOrderPrompt=Ordine delle pagine (inserisci una lista di numeri separati da virgola): pageOrderPrompt=Ordine delle pagine (inserisci una lista di numeri separati da virgola):
pageSelectionPrompt=Selezione pagina personalizzata (inserisci un elenco separato da virgole di numeri di pagina 1,5,6 o funzioni come 2n+1) : pageSelectionPrompt=Selezione pagina personalizzata (inserisci un elenco separato da virgole di numeri di pagina 1,5,6 o funzioni come 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Termini e Condizioni
legal.accessibility=Accessibilità legal.accessibility=Accessibilità
legal.cookie=Informativa sui cookie legal.cookie=Informativa sui cookie
legal.impressum=Informazioni legali legal.impressum=Informazioni legali
legal.showCookieBanner=Preferenze sui cookie
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Abilita analytics
analytics.disable=Disabilita analytics analytics.disable=Disabilita analytics
analytics.settings=È possibile modificare le impostazioni per analitycs nel file config/settings.yml analytics.settings=È possibile modificare le impostazioni per analitycs nel file config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versione
validateSignature.cert.keyUsage=Utilizzo della chiave validateSignature.cert.keyUsage=Utilizzo della chiave
validateSignature.cert.selfSigned=Autofirmato validateSignature.cert.selfSigned=Autofirmato
validateSignature.cert.bits=bit validateSignature.cert.bits=bit
####################
# Cookie banner #
####################
cookieBanner.popUp.title=Come utilizziamo i cookie
cookieBanner.popUp.description.1=Utilizziamo cookie e altre tecnologie per migliorare l'esperienza utente di Stirling PDF, aiutandoci a perfezionare i nostri strumenti e a continuare a sviluppare funzionalità che amerai.
cookieBanner.popUp.description.2=Se preferisci non farlo, cliccando su "No grazie" verranno abilitati solo i cookie essenziali, necessari per il corretto funzionamento del sito.
cookieBanner.popUp.acceptAllBtn=Acconsento
cookieBanner.popUp.acceptNecessaryBtn=No grazie
cookieBanner.popUp.showPreferencesBtn=Gestisci preferenze
cookieBanner.preferencesModal.title=Gestore delle preferenze per il consenso
cookieBanner.preferencesModal.acceptAllBtn=Accetta tutto
cookieBanner.preferencesModal.acceptNecessaryBtn=Rifiuta tutto
cookieBanner.preferencesModal.savePreferencesBtn=Salva preferenze
cookieBanner.preferencesModal.closeIconLabel=Chiusura modale
cookieBanner.preferencesModal.serviceCounterLabel=Servizio|Servizi
cookieBanner.preferencesModal.subtitle=Utilizzo dei cookie
cookieBanner.preferencesModal.description.1=Stirling PDF utilizza cookie e tecnologie simili per migliorare la tua esperienza e comprendere come vengono utilizzati i nostri strumenti. Questo ci aiuta a migliorare le prestazioni, a sviluppare le funzionalità che ti interessano e a fornire supporto continuo ai nostri utenti.
cookieBanner.preferencesModal.description.2=Stirling PDF non può e non potrà mai tracciare o accedere al contenuto dei documenti che utilizzi.
cookieBanner.preferencesModal.description.3=La tua privacy e la tua fiducia sono al centro del nostro operato.
cookieBanner.preferencesModal.necessary.title.1=Cookie strettamente necessari
cookieBanner.preferencesModal.necessary.title.2=Sempre abilitati
cookieBanner.preferencesModal.necessary.description=Questi cookie sono essenziali per il corretto funzionamento del sito web. Abilitano funzionalità fondamentali come l'impostazione delle preferenze sulla privacy, l'accesso e la compilazione di moduli, motivo per cui non possono essere disattivati.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=Questi cookie ci aiutano a capire come vengono utilizzati i nostri strumenti, così possiamo concentrarci sullo sviluppo delle funzionalità che la nostra community apprezza di più. Non preoccuparti: Stirling PDF non può e non traccerà mai il contenuto dei documenti con cui lavori.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDFを選択 (2つ以上)
multiPdfDropPrompt=PDFを選択 (又はドラッグ&ドロップ) multiPdfDropPrompt=PDFを選択 (又はドラッグ&ドロップ)
imgPrompt=画像を選択 imgPrompt=画像を選択
genericSubmit=送信 genericSubmit=送信
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=警告:この処理はファイルサイズによって1分程度かかることがあります processTimeWarning=警告:この処理はファイルサイズによって1分程度かかることがあります
pageOrderPrompt=ページ順序 (ページ番号をカンマ区切り又は2n+1のような関数で入力): pageOrderPrompt=ページ順序 (ページ番号をカンマ区切り又は2n+1のような関数で入力):
pageSelectionPrompt=カスタムページ選択(ページ番号1、5、6または2n + 1などの関数のコンマ区切りリストを入力します): pageSelectionPrompt=カスタムページ選択(ページ番号1、5、6または2n + 1などの関数のコンマ区切りリストを入力します):
@ -93,7 +90,6 @@ legal.terms=利用規約
legal.accessibility=アクセシビリティ legal.accessibility=アクセシビリティ
legal.cookie=Cookieポリシー legal.cookie=Cookieポリシー
legal.impressum=著作権利者情報 legal.impressum=著作権利者情報
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=分析を有効にする
analytics.disable=分析を無効にする analytics.disable=分析を無効にする
analytics.settings=config/settings.ymlファイルでアナリティクスの設定を変更できます。 analytics.settings=config/settings.ymlファイルでアナリティクスの設定を変更できます。
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=バージョン
validateSignature.cert.keyUsage=キーの使用法 validateSignature.cert.keyUsage=キーの使用法
validateSignature.cert.selfSigned=自己署名 validateSignature.cert.selfSigned=自己署名
validateSignature.cert.bits=ビット validateSignature.cert.bits=ビット
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDF 선택 (2개 이상)
multiPdfDropPrompt=필요한 모든 PDF를 선택(또는 끌어다 놓기)하세요 multiPdfDropPrompt=필요한 모든 PDF를 선택(또는 끌어다 놓기)하세요
imgPrompt=이미지 선택 imgPrompt=이미지 선택
genericSubmit=제출 genericSubmit=제출
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=경고: 이 과정은 파일 크기에 따라 최대 1분이 소요될 수 있습니다 processTimeWarning=경고: 이 과정은 파일 크기에 따라 최대 1분이 소요될 수 있습니다
pageOrderPrompt=사용자 지정 페이지 순서 (쉼표로 구분된 페이지 번호 목록 또는 2n+1과 같은 함수 입력): pageOrderPrompt=사용자 지정 페이지 순서 (쉼표로 구분된 페이지 번호 목록 또는 2n+1과 같은 함수 입력):
pageSelectionPrompt=사용자 지정 페이지 선택 (페이지 번호 1,5,6 또는 2n+1과 같은 함수를 쉼표로 구분하여 목록 입력): pageSelectionPrompt=사용자 지정 페이지 선택 (페이지 번호 1,5,6 또는 2n+1과 같은 함수를 쉼표로 구분하여 목록 입력):
@ -93,7 +90,6 @@ legal.terms=이용약관
legal.accessibility=접근성 legal.accessibility=접근성
legal.cookie=쿠키 정책 legal.cookie=쿠키 정책
legal.impressum=법적 고지 legal.impressum=법적 고지
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=분석 활성화
analytics.disable=분석 비활성화 analytics.disable=분석 비활성화
analytics.settings=config/settings.yml 파일에서 분석 설정을 변경할 수 있습니다 analytics.settings=config/settings.yml 파일에서 분석 설정을 변경할 수 있습니다
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=버전
validateSignature.cert.keyUsage=키 용도 validateSignature.cert.keyUsage=키 용도
validateSignature.cert.selfSigned=자체 서명 validateSignature.cert.selfSigned=자체 서명
validateSignature.cert.bits=비트 validateSignature.cert.bits=비트
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Selecteer PDF's (2+)
multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt
imgPrompt=Selecteer afbeelding(en) imgPrompt=Selecteer afbeelding(en)
genericSubmit=Indienen genericSubmit=Indienen
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Waarschuwing: Dit proces kan tot een minuut duren afhankelijk van de bestandsgrootte processTimeWarning=Waarschuwing: Dit proces kan tot een minuut duren afhankelijk van de bestandsgrootte
pageOrderPrompt=Aangepaste pagina volgorde (Voer een komma-gescheiden lijst van paginanummers of functies in, zoals 2n+1) : pageOrderPrompt=Aangepaste pagina volgorde (Voer een komma-gescheiden lijst van paginanummers of functies in, zoals 2n+1) :
pageSelectionPrompt=Aangepaste pagina selectie (Voer een komma-gescheiden lijst van paginanummer 1,5,6 of functies zoals 2n+1 in) : pageSelectionPrompt=Aangepaste pagina selectie (Voer een komma-gescheiden lijst van paginanummer 1,5,6 of functies zoals 2n+1 in) :
@ -93,7 +90,6 @@ legal.terms=Voorwaarden van gebruik
legal.accessibility=Toegankelijkheid legal.accessibility=Toegankelijkheid
legal.cookie=Cookiesbeleid legal.cookie=Cookiesbeleid
legal.impressum=Imprint legal.impressum=Imprint
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Velg PDF-filer (2+)
multiPdfDropPrompt=Velg (eller dra og slipp) alle PDF-ene du trenger multiPdfDropPrompt=Velg (eller dra og slipp) alle PDF-ene du trenger
imgPrompt=Velg Bilde(r) imgPrompt=Velg Bilde(r)
genericSubmit=Send inn genericSubmit=Send inn
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Denne prosessen kan ta opptil ett minutt avhengig av filstørrelse processTimeWarning=Denne prosessen kan ta opptil ett minutt avhengig av filstørrelse
pageOrderPrompt=Tilpasset side rekkefølge (Skriv inn en kommaseparert liste over sidetall eller funksjoner som 2n+1): pageOrderPrompt=Tilpasset side rekkefølge (Skriv inn en kommaseparert liste over sidetall eller funksjoner som 2n+1):
pageSelectionPrompt=Tilpasset Sidevalg (Skriv inn en kommaseparert liste over sidetall 1,5,6 eller Funksjoner som 2n+1): pageSelectionPrompt=Tilpasset Sidevalg (Skriv inn en kommaseparert liste over sidetall 1,5,6 eller Funksjoner som 2n+1):
@ -93,7 +90,6 @@ legal.terms=Vilkår og betingelser
legal.accessibility=Tilgjengelighet legal.accessibility=Tilgjengelighet
legal.cookie=Informasjonskapsler legal.cookie=Informasjonskapsler
legal.impressum=Juridisk informasjon legal.impressum=Juridisk informasjon
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktiver analyse
analytics.disable=Deaktiver analyse analytics.disable=Deaktiver analyse
analytics.settings=Du kan endre innstillingene for analyse i config/settings.yml filen analytics.settings=Du kan endre innstillingene for analyse i config/settings.yml filen
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versjon
validateSignature.cert.keyUsage=Nøkkelbruk validateSignature.cert.keyUsage=Nøkkelbruk
validateSignature.cert.selfSigned=Selv-signert validateSignature.cert.selfSigned=Selv-signert
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Wybierz PDF (2+)
multiPdfDropPrompt=Wybierz (lub przeciągnij i puść) wszystkie dokumenty PDF multiPdfDropPrompt=Wybierz (lub przeciągnij i puść) wszystkie dokumenty PDF
imgPrompt=Wybierz obraz(y) imgPrompt=Wybierz obraz(y)
genericSubmit=Wyślij genericSubmit=Wyślij
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Ostrzeżenie: Ten proces może potrwać do minuty, w zależności od rozmiaru pliku processTimeWarning=Ostrzeżenie: Ten proces może potrwać do minuty, w zależności od rozmiaru pliku
pageOrderPrompt=Kolejność stron (wprowadź listę numerów stron oddzielonych przecinkami) : pageOrderPrompt=Kolejność stron (wprowadź listę numerów stron oddzielonych przecinkami) :
pageSelectionPrompt=Niestandardowy wybór strony (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Niestandardowy wybór strony (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Zasady i Postanowienia
legal.accessibility=Dostępność legal.accessibility=Dostępność
legal.cookie=Polityka plików cookie legal.cookie=Polityka plików cookie
legal.impressum=Impresja legal.impressum=Impresja
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Włącz analitykę
analytics.disable=Wyłącz analitykę analytics.disable=Wyłącz analitykę
analytics.settings=Możesz zmienić ustawienia analityki w pliku config/settings.yml analytics.settings=Możesz zmienić ustawienia analityki w pliku config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Wersja
validateSignature.cert.keyUsage=Zastosowanie klucza validateSignature.cert.keyUsage=Zastosowanie klucza
validateSignature.cert.selfSigned=Samopodpisany validateSignature.cert.selfSigned=Samopodpisany
validateSignature.cert.bits=bity validateSignature.cert.bits=bity
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Selecione os PDFs (2+)
multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs desejados: multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs desejados:
imgPrompt=Selecione a(s) Imagem(ns) imgPrompt=Selecione a(s) Imagem(ns)
genericSubmit=Enviar genericSubmit=Enviar
uploadLimit=Tamanho máximo do arquivo:
uploadLimitExceededSingular=está acima do limite. Tamanho máximo permitido é
uploadLimitExceededPlural=estão acima do limite. Tamanho máximo permitido é
processTimeWarning=Aviso: Este processo pode levar até um minuto, dependendo do tamanho do arquivo processTimeWarning=Aviso: Este processo pode levar até um minuto, dependendo do tamanho do arquivo
pageOrderPrompt=Ordem de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula ou funções como 2n+1): pageOrderPrompt=Ordem de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula ou funções como 2n+1):
pageSelectionPrompt=Seleção de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula como 1,5,6 ou funções como 2n+1): pageSelectionPrompt=Seleção de Página Personalizada (Digite uma lista de números de páginas, separadas por vírgula como 1,5,6 ou funções como 2n+1):
@ -86,14 +83,13 @@ loading=Carregando...
addToDoc=Adicionar ao Documento addToDoc=Adicionar ao Documento
reset=Reiniciar reset=Reiniciar
apply=Aplicar apply=Aplicar
noFileSelected=Nenhum arquivo selecionado. Por favo, envie um arquivo. noFileSelected=No file selected. Please upload one.
legal.privacy=Política de Privacidade legal.privacy=Política de Privacidade
legal.terms=Termos e Condições legal.terms=Termos e Condições
legal.accessibility=Acessibilidade legal.accessibility=Acessibilidade
legal.cookie=Política de Cookies legal.cookie=Política de Cookies
legal.impressum=Informações legais legal.impressum=Informações legais
legal.showCookieBanner=Preferências de Cookies
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilitar coleta de dados
analytics.disable=Desabilitar coleta de dados analytics.disable=Desabilitar coleta de dados
analytics.settings=Você pode alterar as configurações de coleta de dados no arquivo config/settings.yml analytics.settings=Você pode alterar as configurações de coleta de dados no arquivo config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=Usuários Ativos:
adminUserSettings.disabledUsers=Usuários Desabilitados: adminUserSettings.disabledUsers=Usuários Desabilitados:
adminUserSettings.totalUsers=Total de Usuários: adminUserSettings.totalUsers=Total de Usuários:
adminUserSettings.lastRequest=Última solicitação adminUserSettings.lastRequest=Última solicitação
adminUserSettings.usage=Ver Utilização adminUserSettings.usage=View Usage
endpointStatistics.title=Estatísticas de Endpoints endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=Estatísticas de Endpoints endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=Top 10 endpointStatistics.top10=Top 10
endpointStatistics.top20=Top 20 endpointStatistics.top20=Top 20
endpointStatistics.all=Todos endpointStatistics.all=All
endpointStatistics.refresh=Atualizar endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=Incluir Página Inicial ('/') endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=Incluir Página de Login ('/login') endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=Total de Endpoints endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=Total de Visitas endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=Mostrando endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=Visitas Selecionadas endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=Endpoint endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=Visitas endpointStatistics.visits=Visits
endpointStatistics.percentage=Percentagem endpointStatistics.percentage=Percentage
endpointStatistics.loading=Carregando... endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=Falha ao carregar dados do Endpoint. Por favor, tente atualizar. endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=Home endpointStatistics.home=Home
endpointStatistics.login=Login endpointStatistics.login=Login
endpointStatistics.top=Top endpointStatistics.top=Top
endpointStatistics.numberOfVisits=Número de Visitas endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=Visitas: {0} ({1}% do total) endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=Tentar novamente endpointStatistics.retry=Retry
database.title=Importar/Exportar banco de dados database.title=Importar/Exportar banco de dados
database.header=Importar/Exportar banco de dados database.header=Importar/Exportar banco de dados
@ -739,10 +734,10 @@ sanitizePDF.title=Higienizar
sanitizePDF.header=Higienizar sanitizePDF.header=Higienizar
sanitizePDF.selectText.1=Remover scripts de JavaScript. sanitizePDF.selectText.1=Remover scripts de JavaScript.
sanitizePDF.selectText.2=Remover arquivos embutidos. sanitizePDF.selectText.2=Remover arquivos embutidos.
sanitizePDF.selectText.3=Remover metadados XMP. sanitizePDF.selectText.3=Remove XMP metadata
sanitizePDF.selectText.4=Remover links. sanitizePDF.selectText.4=Remover links.
sanitizePDF.selectText.5=Remover fontes. sanitizePDF.selectText.5=Remover fontes.
sanitizePDF.selectText.6=Remover metadados de informações do documento. sanitizePDF.selectText.6=Remove Document Info Metadata
sanitizePDF.submit=Higienizar PDF sanitizePDF.submit=Higienizar PDF
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versão
validateSignature.cert.keyUsage=Uso da chave validateSignature.cert.keyUsage=Uso da chave
validateSignature.cert.selfSigned=Autoassinados validateSignature.cert.selfSigned=Autoassinados
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=Como nós utilizamos Cookies:
cookieBanner.popUp.description.1=Nós utilizamos cookies e outras tecnologias para melhorar o Stirling PDF, ajude-nos para que possamos desenvolver novas funcionalidades que você irá amar.
cookieBanner.popUp.description.2=Se você não tiver interesse, clicando em "Não, Obrigado" será habilitado apenas cookies essenciais, para o site funcionar sem problemas.
cookieBanner.popUp.acceptAllBtn=Aceito
cookieBanner.popUp.acceptNecessaryBtn=Não, Obrigado
cookieBanner.popUp.showPreferencesBtn=Gerenciar Preferências
cookieBanner.preferencesModal.title=Central de Preferências de Consentimento
cookieBanner.preferencesModal.acceptAllBtn=Aceitar tudo
cookieBanner.preferencesModal.acceptNecessaryBtn=Rejeitar tudo
cookieBanner.preferencesModal.savePreferencesBtn=Salvar preferências
cookieBanner.preferencesModal.closeIconLabel=Fechar janela
cookieBanner.preferencesModal.serviceCounterLabel=Serviço|Serviços
cookieBanner.preferencesModal.subtitle=Uso de Cookies
cookieBanner.preferencesModal.description.1=Stirling PDF utiliza cookies e tecnologias semelhantes para aprimorar sua experiência e entender como nossas ferramentas são utilizadas. Isso nos ajuda a melhorar o desempenho, desenvolver os recursos de seu interesse e fornecer suporte contínuo aos nossos usuários.
cookieBanner.preferencesModal.description.2=O Stirling PDF não pode e nunca irá rastrear ou acessar o conteúdo dos documentos que você manipula.
cookieBanner.preferencesModal.description.3=Sua privacidade e confiança são prioridades para nós.
cookieBanner.preferencesModal.necessary.title.1=Cookies Estritamente Necessários
cookieBanner.preferencesModal.necessary.title.2=Sempre Ativado
cookieBanner.preferencesModal.necessary.description=Estes cookies são essenciais para o bom funcionamento do site. Eles habilitam recursos básicos como definir suas preferências de privacidade, realizar login e preencher formulários e é por isso que não podem ser desativados.
cookieBanner.preferencesModal.analytics.title=Cookies Analíticos
cookieBanner.preferencesModal.analytics.description=Estes cookies nos ajudam a entender como nossas ferramentas estão sendo utilizadas, para que possamos nos concentrar na construção dos recursos que nossa comunidade mais valoriza. Fique tranquilo: o Stirling PDF não pode e nunca rastreará o conteúdo dos documentos com os quais você manipula.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Selecione PDFs (2+)
multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários
imgPrompt=Selecione Imagem(ns) imgPrompt=Selecione Imagem(ns)
genericSubmit=Submeter genericSubmit=Submeter
uploadLimit=Tamanho máximo de ficheiro:
uploadLimitExceededSingular=é muito grande. O tamanho máximo permitido é
uploadLimitExceededPlural=são muito grandes. O tamanho máximo permitido é
processTimeWarning=Aviso: Este processo pode demorar até um minuto dependendo do tamanho do ficheiro 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): 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): 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):
@ -93,7 +90,6 @@ legal.terms=Termos e Condições
legal.accessibility=Acessibilidade legal.accessibility=Acessibilidade
legal.cookie=Política de Cookies legal.cookie=Política de Cookies
legal.impressum=Aviso Legal legal.impressum=Aviso Legal
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Ativar análises
analytics.disable=Desativar análises analytics.disable=Desativar análises
analytics.settings=Pode alterar as definições para análises no ficheiro config/settings.yml analytics.settings=Pode alterar as definições para análises no ficheiro config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versão
validateSignature.cert.keyUsage=Utilização da Chave validateSignature.cert.keyUsage=Utilização da Chave
validateSignature.cert.selfSigned=Auto-Assinado validateSignature.cert.selfSigned=Auto-Assinado
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Selectează mai multe fișiere PDF (2+)
multiPdfDropPrompt=Selectează (sau trage și plasează) toate fișierele PDF de care ai nevoie multiPdfDropPrompt=Selectează (sau trage și plasează) toate fișierele PDF de care ai nevoie
imgPrompt=Selectează imagini imgPrompt=Selectează imagini
genericSubmit=Trimite genericSubmit=Trimite
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Avertisment: Acest proces poate dura până la un minut în funcție de dimensiunea fișierului processTimeWarning=Avertisment: Acest proces poate dura până la un minut în funcție de dimensiunea fișierului
pageOrderPrompt=Ordinea paginilor (Introdu o listă separată prin virgulă de numere de pagină): pageOrderPrompt=Ordinea paginilor (Introdu o listă separată prin virgulă de numere de pagină):
pageSelectionPrompt=Selecție Personalizată de Pagini (Introduceți o listă separată prin virgule a numerelor de pagini 1,5,6 sau funcții precum 2n+1) : pageSelectionPrompt=Selecție Personalizată de Pagini (Introduceți o listă separată prin virgule a numerelor de pagini 1,5,6 sau funcții precum 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Выберите PDF-файлы (2+)
multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDF-файлы multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDF-файлы
imgPrompt=Выберите изображение(я) imgPrompt=Выберите изображение(я)
genericSubmit=Отправить genericSubmit=Отправить
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Внимание: Данный процесс может занять до минуты в зависимости от размера файла processTimeWarning=Внимание: Данный процесс может занять до минуты в зависимости от размера файла
pageOrderPrompt=Пользовательский порядок страниц (Введите список номеров страниц через запятую или функции типа 2n+1): pageOrderPrompt=Пользовательский порядок страниц (Введите список номеров страниц через запятую или функции типа 2n+1):
pageSelectionPrompt=Выбор страниц (Введите список номеров страниц через запятую 1,5,6 или функции типа 2n+1): pageSelectionPrompt=Выбор страниц (Введите список номеров страниц через запятую 1,5,6 или функции типа 2n+1):
@ -93,7 +90,6 @@ legal.terms=Условия использования
legal.accessibility=Доступность legal.accessibility=Доступность
legal.cookie=Политика использования файлов cookie legal.cookie=Политика использования файлов cookie
legal.impressum=Выходные данные legal.impressum=Выходные данные
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Включить аналитику
analytics.disable=Отключить аналитику analytics.disable=Отключить аналитику
analytics.settings=Вы можете изменить настройки аналитики в файле config/settings.yml analytics.settings=Вы можете изменить настройки аналитики в файле config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версия
validateSignature.cert.keyUsage=Использование ключа validateSignature.cert.keyUsage=Использование ключа
validateSignature.cert.selfSigned=Самоподписанный validateSignature.cert.selfSigned=Самоподписанный
validateSignature.cert.bits=бит validateSignature.cert.bits=бит
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Vyberte PDF súbory (2+)
multiPdfDropPrompt=Vyberte (alebo pretiahnite) všetky požadované PDF súbory multiPdfDropPrompt=Vyberte (alebo pretiahnite) všetky požadované PDF súbory
imgPrompt=Vyberte obrázok(y) imgPrompt=Vyberte obrázok(y)
genericSubmit=Odoslať genericSubmit=Odoslať
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Varovanie: Tento proces môže trvať až minútu v závislosti od veľkosti súboru processTimeWarning=Varovanie: Tento proces môže trvať až minútu v závislosti od veľkosti súboru
pageOrderPrompt=Vlastné poradie stránok (Zadajte zoznam čísel stránok oddelených čiarkou alebo funkcie ako 2n+1): pageOrderPrompt=Vlastné poradie stránok (Zadajte zoznam čísel stránok oddelených čiarkou alebo funkcie ako 2n+1):
pageSelectionPrompt=Vlastný výber stránok (Zadajte zoznam čísel stránok oddelených čiarkou 1,5,6 alebo funkcie ako 2n+1): pageSelectionPrompt=Vlastný výber stránok (Zadajte zoznam čísel stránok oddelených čiarkou 1,5,6 alebo funkcie ako 2n+1):
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Izberi PDF (2+)
multiPdfDropPrompt=Izberite (ali povlecite in spustite) vse datoteke PDF, ki jih potrebujete multiPdfDropPrompt=Izberite (ali povlecite in spustite) vse datoteke PDF, ki jih potrebujete
imgPrompt=Izberite sliko(e) imgPrompt=Izberite sliko(e)
genericSubmit=Pošlji genericSubmit=Pošlji
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Opozorilo: ta postopek lahko traja do minute, odvisno od velikosti datoteke processTimeWarning=Opozorilo: ta postopek lahko traja do minute, odvisno od velikosti datoteke
pageOrderPrompt=Vrstni red strani po meri (Vnesite z vejicami ločen seznam številk strani ali funkcij, kot je 2n+1) : pageOrderPrompt=Vrstni red strani po meri (Vnesite z vejicami ločen seznam številk strani ali funkcij, kot je 2n+1) :
pageSelectionPrompt=Izbira strani po meri (Vnesite z vejicami ločen seznam številk strani 1,5,6 ali funkcije, kot je 2n+1) : pageSelectionPrompt=Izbira strani po meri (Vnesite z vejicami ločen seznam številk strani 1,5,6 ali funkcije, kot je 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Določila in pogoji
legal.accessibility=Dostopnost legal.accessibility=Dostopnost
legal.cookie=Pravilnik o piškotkih legal.cookie=Pravilnik o piškotkih
legal.impressum=Impresum legal.impressum=Impresum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Omogoči analitiko
analytics.disable=Onemogoči analitiko analytics.disable=Onemogoči analitiko
analytics.settings=Nastavitve za analitiko lahko spremenite v datoteki config/settings.yml analytics.settings=Nastavitve za analitiko lahko spremenite v datoteki config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Različica
validateSignature.cert.keyUsage=Uporaba ključa validateSignature.cert.keyUsage=Uporaba ključa
validateSignature.cert.selfSigned=Samopodpisano validateSignature.cert.selfSigned=Samopodpisano
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Odaberi PDF-ove (2+)
multiPdfDropPrompt=Odaberi (prevuci i pusti ) sve PDF-ove koji su vam potrebni multiPdfDropPrompt=Odaberi (prevuci i pusti ) sve PDF-ove koji su vam potrebni
imgPrompt=Odaberi sliku (slike) imgPrompt=Odaberi sliku (slike)
genericSubmit=Prihvatiti genericSubmit=Prihvatiti
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Warning:Upozorenje: Ovaj proces može trajati i do minut, u zavisnosti od veličine dokumenta processTimeWarning=Warning:Upozorenje: Ovaj proces može trajati i do minut, u zavisnosti od veličine dokumenta
pageOrderPrompt=Prilagođeni redosled stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) : pageOrderPrompt=Prilagođeni redosled stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) :
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Välj PDF-filer (2+)
multiPdfDropPrompt=Välj (eller dra och släpp) alla PDF-filer du behöver multiPdfDropPrompt=Välj (eller dra och släpp) alla PDF-filer du behöver
imgPrompt=Välj bild(er) imgPrompt=Välj bild(er)
genericSubmit=Skicka genericSubmit=Skicka
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Varning: Denna process kan ta upp till en minut beroende på filstorlek processTimeWarning=Varning: Denna process kan ta upp till en minut beroende på filstorlek
pageOrderPrompt=Sidordning (Ange en kommaseparerad lista med sidnummer) : pageOrderPrompt=Sidordning (Ange en kommaseparerad lista med sidnummer) :
pageSelectionPrompt=Anpassat sidval (Ange en kommaseparerad lista med sidnummer 1,5,6 eller funktioner som 2n+1) : pageSelectionPrompt=Anpassat sidval (Ange en kommaseparerad lista med sidnummer 1,5,6 eller funktioner som 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Villkor och betingelser
legal.accessibility=Gängeshållbarhet legal.accessibility=Gängeshållbarhet
legal.cookie=Cockiropfer legal.cookie=Cockiropfer
legal.impressum=Riksdagens utskott för teknikfrihet legal.impressum=Riksdagens utskott för teknikfrihet
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktivera analys
analytics.disable=Avaktivera analys analytics.disable=Avaktivera analys
analytics.settings=Du kan ändra analysinställningarna i config/settings.yml-filen analytics.settings=Du kan ändra analysinställningarna i config/settings.yml-filen
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=เลือก PDF หลายไฟล์ (2 ขึ้นไ
multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ
imgPrompt=เลือกภาพ imgPrompt=เลือกภาพ
genericSubmit=ส่ง genericSubmit=ส่ง
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=คำเตือน: กระบวนการนี้อาจใช้เวลาสูงสุดหนึ่งนาทีขึ้นอยู่กับขนาดไฟล์ processTimeWarning=คำเตือน: กระบวนการนี้อาจใช้เวลาสูงสุดหนึ่งนาทีขึ้นอยู่กับขนาดไฟล์
pageOrderPrompt=เรียงลำดับหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาคหรือฟังก์ชัน เช่น 2n+1) : pageOrderPrompt=เรียงลำดับหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาคหรือฟังก์ชัน เช่น 2n+1) :
pageSelectionPrompt=เลือกหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาค เช่น 1,5,6 หรือฟังก์ชัน เช่น 2n+1) : pageSelectionPrompt=เลือกหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาค เช่น 1,5,6 หรือฟังก์ชัน เช่น 2n+1) :
@ -93,7 +90,6 @@ legal.terms=ข้อกำหนดการใช้งาน
legal.accessibility=ความเข้าถึง legal.accessibility=ความเข้าถึง
legal.cookie=นโยบายคุกกี้ legal.cookie=นโยบายคุกกี้
legal.impressum=ปฏิญญา legal.impressum=ปฏิญญา
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=เปิดการวิเคราะห์
analytics.disable=ปิดการวิเคราะห์ analytics.disable=ปิดการวิเคราะห์
analytics.settings=คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml analytics.settings=คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDFleri seçin (2+)
multiPdfDropPrompt=Tüm gerekli PDF'leri seçin (ya da sürükleyip bırakın) multiPdfDropPrompt=Tüm gerekli PDF'leri seçin (ya da sürükleyip bırakın)
imgPrompt=Resim(leri) seçin imgPrompt=Resim(leri) seçin
genericSubmit=Gönder genericSubmit=Gönder
uploadLimit=Maksimum dosya boyutu:
uploadLimitExceededSingular=çok büyük. İzin verilen maksimum boyut:
uploadLimitExceededPlural=çok büyük. İzin verilen maksimum boyut:
processTimeWarning=Uyarı: Bu işlem, dosya boyutuna bağlı olarak bir dakikaya kadar sürebilir. processTimeWarning=Uyarı: Bu işlem, dosya boyutuna bağlı olarak bir dakikaya kadar sürebilir.
pageOrderPrompt=Özel Sayfa Sırası (Virgülle ayrılmış sayfa numaraları veya 2n+1 gibi bir fonksiyon girin) : pageOrderPrompt=Özel Sayfa Sırası (Virgülle ayrılmış sayfa numaraları veya 2n+1 gibi bir fonksiyon girin) :
pageSelectionPrompt=Özel Sayfa Seçimi (1,5,6 sayfa numaralarının virgülle ayrılmış bir listesini veya 2n+1 gibi bir fonksiyon girin) : pageSelectionPrompt=Özel Sayfa Seçimi (1,5,6 sayfa numaralarının virgülle ayrılmış bir listesini veya 2n+1 gibi bir fonksiyon girin) :
@ -80,20 +77,19 @@ color=Renk
sponsor=Bağış sponsor=Bağış
info=Bilgi info=Bilgi
pro=Pro pro=Pro
page=Sayfa page=Page
pages=Sayfalar pages=Pages
loading=Yükleniyor... loading=Loading...
addToDoc=Dökümana Ekle addToDoc=Add to Document
reset=Sıfırla reset=Reset
apply=Uygula apply=Apply
noFileSelected=Hiçbir dosya seçilmedi. Lütfen bir dosya yükleyin. noFileSelected=No file selected. Please upload one.
legal.privacy=Gizlilik Politikası legal.privacy=Gizlilik Politikası
legal.terms=Şartlar ve koşullar legal.terms=Şartlar ve koşullar
legal.accessibility=Erişilebilirlik legal.accessibility=Erişilebilirlik
legal.cookie=Çerez Politikası legal.cookie=Çerez Politikası
legal.impressum=Hakkımızda legal.impressum=Hakkımızda
legal.showCookieBanner=Çerez Tercihleri
############### ###############
# Pipeline # # Pipeline #
@ -123,22 +119,21 @@ pipelineOptions.validateButton=Doğrula
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Pro Sürümüne Yükselt enterpriseEdition.button=Upgrade to Pro
enterpriseEdition.warning=Bu özellik yalnızca Pro kullanıcılarına sunulmaktadır. enterpriseEdition.warning=This feature is only available to Pro users.
enterpriseEdition.yamlAdvert=Stirling PDF Pro, YAML yapılandırma dosyalarını ve diğer SSO özelliklerini destekler. enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
enterpriseEdition.ssoAdvert=Daha fazla kullanıcı yönetimi özelliği mi arıyorsunuz? Stirling PDF Pro'ya göz atın enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Stirling PDFi daha iyi hale getirmek ister misiniz? analytics.title=Do you want make Stirling PDF better?
analytics.paragraph1=Stirling PDF, ürünü geliştirmemize yardımcı olmak için isteğe bağlı analizleri içerir. Kişisel bilgileri veya dosya içeriklerini asla takip etmiyoruz. analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
analytics.paragraph2=Stirling PDFin büyümesine destek olmak ve kullanıcılarımızı daha iyi anlayabilmemiz için analizleri etkinleştirmeyi düşünebilirsiniz. analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
analytics.enable=Analizi Etkinleştir analytics.enable=Enable analytics
analytics.disable=Analizi Devre Dışı Bırak analytics.disable=Disable analytics
analytics.settings=Analiz ayarlarını config/settings.yml dosyasından değiştirebilirsiniz analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=Aktif Kullanıcılar:
adminUserSettings.disabledUsers=Devre Dışı Kullanıcılar: adminUserSettings.disabledUsers=Devre Dışı Kullanıcılar:
adminUserSettings.totalUsers=Toplam Kullanıcılar: adminUserSettings.totalUsers=Toplam Kullanıcılar:
adminUserSettings.lastRequest=Son İstek adminUserSettings.lastRequest=Son İstek
adminUserSettings.usage=Kullanımı Görüntüle adminUserSettings.usage=View Usage
endpointStatistics.title=Endpoint İstatistikleri endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=Endpoint İstatistikleri endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=En Çok Kullanılan 10 endpointStatistics.top10=Top 10
endpointStatistics.top20=En Çok Kullanılan 20 endpointStatistics.top20=Top 20
endpointStatistics.all=Hepsi endpointStatistics.all=All
endpointStatistics.refresh=Yenile endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=Ana Sayfayı Dahil Et ('/') endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=Giriş Sayfasını Dahil Et ('/login') endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=Toplam Uç Nokta endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=Toplam Ziyaret endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=Gösteriliyor endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=Seçilen Ziyaretler endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=Endpoint endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=Ziyaret endpointStatistics.visits=Visits
endpointStatistics.percentage=Yüzde endpointStatistics.percentage=Percentage
endpointStatistics.loading=Yükleniyor... endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=Endpoint verileri yüklenemedi. Lütfen sayfayı yenileyin. endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=Ana Sayfa endpointStatistics.home=Home
endpointStatistics.login=Giriş endpointStatistics.login=Login
endpointStatistics.top=En Çok endpointStatistics.top=Top
endpointStatistics.numberOfVisits=Ziyaret Sayısı endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=Ziyaret: {0} (toplamın %{1}i) endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=Yeniden Dene endpointStatistics.retry=Retry
database.title=Veri Tabanını İçe/Dışa Aktar database.title=Veri Tabanını İçe/Dışa Aktar
database.header=Veri Tabanını İçe/Dışa Aktar database.header=Veri Tabanını İçe/Dışa Aktar
@ -276,14 +271,14 @@ database.info_1=Verileri içe aktarırken, yapının doğru olduğundan emin olm
database.info_2=Karşıya yüklerken dosya adı önemli değildir. Daha sonra yedekleme_kullanıcısı_yyyyAAggSdd.sql biçiminde yeniden adlandırılacak ve tutarlı bir adlandırma kuralı sağlanacaktır. database.info_2=Karşıya yüklerken dosya adı önemli değildir. Daha sonra yedekleme_kullanıcısı_yyyyAAggSdd.sql biçiminde yeniden adlandırılacak ve tutarlı bir adlandırma kuralı sağlanacaktır.
database.submit=Yedeklemeyi İçe Aktar database.submit=Yedeklemeyi İçe Aktar
database.importIntoDatabaseSuccessed=Veri tabanına başarıyla aktarıldı database.importIntoDatabaseSuccessed=Veri tabanına başarıyla aktarıldı
database.backupCreated=Veritabanı yedeklemesi başarılı database.backupCreated=Database backup successful
database.fileNotFound=Dosya bulunamadı database.fileNotFound=Dosya bulunamadı
database.fileNullOrEmpty=Dosya yok veya boş olmamalıdır database.fileNullOrEmpty=Dosya yok veya boş olmamalıdır
database.failedImportFile=Dosya İçe Aktarılamadı database.failedImportFile=Dosya İçe Aktarılamadı
database.notSupported=Bu işlev, mevcut veritabanı bağlantınız için desteklenmiyor. database.notSupported=This function is not available for your database connection.
session.expired=Oturumunuzun süresi doldu. Lütfen sayfayı yenileyip tekrar deneyin. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Sayfayı Yenile session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@ -296,14 +291,14 @@ home.viewPdf.title=View/Edit PDF
home.viewPdf.desc=Görüntüleyin, açıklama ekleyin, metin veya resim ekleyin home.viewPdf.desc=Görüntüleyin, açıklama ekleyin, metin veya resim ekleyin
viewPdf.tags=görüntüle,oku,açıklama ekle,metin,görüntü viewPdf.tags=görüntüle,oku,açıklama ekle,metin,görüntü
home.setFavorites=Favorilere Ekle home.setFavorites=Set Favourites
home.hideFavorites=Favorileri Gizle home.hideFavorites=Hide Favourites
home.showFavorites=Favorileri Göster home.showFavorites=Show Favourites
home.legacyHomepage=Eski ana sayfa home.legacyHomepage=Old homepage
home.newHomePage=Yeni ana sayfamızı deneyin! home.newHomePage=Try our new homepage!
home.alphabetical=Alfabetik home.alphabetical=Alphabetical
home.globalPopularity=Global Popülerlik home.globalPopularity=Global Popularity
home.sortBy=Sıralama ölçütü: home.sortBy=Sort by:
home.multiTool.title=PDF Çoklu Araç home.multiTool.title=PDF Çoklu Araç
home.multiTool.desc=Birleştir, Döndür, Yeniden Düzenle ve Sayfaları Kaldır home.multiTool.desc=Birleştir, Döndür, Yeniden Düzenle ve Sayfaları Kaldır
@ -492,9 +487,9 @@ home.MarkdownToPDF.title=Markdown'dan PDF'e
home.MarkdownToPDF.desc=Herhangi bir Markdown dosyasını PDF'e dönüştürür home.MarkdownToPDF.desc=Herhangi bir Markdown dosyasını PDF'e dönüştürür
MarkdownToPDF.tags=biçimlendirme,web-içeriği,dönüşüm,dönüştür MarkdownToPDF.tags=biçimlendirme,web-içeriği,dönüşüm,dönüştür
home.PDFToMarkdown.title=PDF'den Markdown'a home.PDFToMarkdown.title=PDF to Markdown
home.PDFToMarkdown.desc=Herhangi bir PDF'yi Markdown formatına dönüştürür home.PDFToMarkdown.desc=Converts any PDF to Markdown
PDFToMarkdown.tags=biçimlendirme,web-içeriği,dönüşüm,dönüştür,md PDFToMarkdown.tags=markup,web-content,transformation,convert,md
home.getPdfInfo.title=PDF Hakkında TÜM Bilgiyi Al home.getPdfInfo.title=PDF Hakkında TÜM Bilgiyi Al
home.getPdfInfo.desc=PDF'ler hakkında mümkün olan her türlü bilgiyi toplar home.getPdfInfo.desc=PDF'ler hakkında mümkün olan her türlü bilgiyi toplar
@ -519,9 +514,9 @@ home.autoRedact.title=Otomatik Karartma
home.autoRedact.desc=Giriş metnine dayanarak bir PDF'teki metni Otomatik Karartır (Redakte) home.autoRedact.desc=Giriş metnine dayanarak bir PDF'teki metni Otomatik Karartır (Redakte)
autoRedact.tags=Karart,Gizle,karartma,siyah,markör,gizli autoRedact.tags=Karart,Gizle,karartma,siyah,markör,gizli
home.redact.title=Manuel Sansürleme home.redact.title=Manual Redaction
home.redact.desc=Seçilen metinler, çizilen şekiller ve/veya belirli sayfalar üzerinden PDF'yi sansürler home.redact.desc=Redacts a PDF based on selected text, drawn shapes and/or selected page(s)
redact.tags=Sansürle,Gizle,karart,karartma,işaretleyici,gizli,manuel redact.tags=Redact,Hide,black out,black,marker,hidden,manual
home.tableExtraxt.title=PDF'den CSV'ye home.tableExtraxt.title=PDF'den CSV'ye
home.tableExtraxt.desc=PDF'den Tabloları çıkarır ve CSV'ye dönüştürür home.tableExtraxt.desc=PDF'den Tabloları çıkarır ve CSV'ye dönüştürür
@ -551,32 +546,32 @@ home.removeImagePdf.desc=Dosya boyutunu küçültmek için PDF'den resmi kaldır
removeImagePdf.tags=Resmi Kaldır,Sayfa İşlemleri,Arka uç,sunucu tarafı removeImagePdf.tags=Resmi Kaldır,Sayfa İşlemleri,Arka uç,sunucu tarafı
home.splitPdfByChapters.title=PDF'yi Bölümlere Göre Böl home.splitPdfByChapters.title=Split PDF by Chapters
home.splitPdfByChapters.desc=PDF'yi bölüm yapısına göre birden fazla dosyaya ayırın. home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
splitPdfByChapters.tags=böl, bölümler, yer imleri, düzenle splitPdfByChapters.tags=split,chapters,bookmarks,organize
home.validateSignature.title=PDF İmzasını Doğrula home.validateSignature.title=Validate PDF Signature
home.validateSignature.desc=PDF belgelerindeki dijital imzaları ve sertifikaları doğrulayın home.validateSignature.desc=Verify digital signatures and certificates in PDF documents
validateSignature.tags=imza, doğrula, geçerlilik kontrolü, pdf, sertifika, dijital imza, İmzayı Doğrula, Sertifikayı Doğrula validateSignature.tags=signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate
#replace-invert-color #replace-invert-color
replace-color.title=Renk Değiştir-Tersine Çevir replace-color.title=Replace-Invert-Color
replace-color.header=PDF Renklerini Değiştir veya Tersine Çevir replace-color.header=Replace-Invert Color PDF
home.replaceColorPdf.title=Renkleri Değiştir ve Tersine Çevir home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=PDF'deki metin ve arka plan renklerini değiştirin ve PDF'nin tüm renklerini tersine çevirerek dosya boyutunu azaltın home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
replaceColorPdf.tags=Renk Değiştir, Sayfa işlemleri, Arka yüz, Sunucu tarafı replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
replace-color.selectText.1=Renk Değiştir veya Tersine Çevirme Seçenekleri replace-color.selectText.1=Replace or Invert color Options
replace-color.selectText.2=Varsayılan (Yüksek kontrastlı varsayılan renkler) replace-color.selectText.2=Default(Default high contrast colors)
replace-color.selectText.3=Özel (Kişiselleştirilmiş renkler) replace-color.selectText.3=Custom(Customized colors)
replace-color.selectText.4=Tümü Tersine Çevir (Tüm renkleri tersine çevir) replace-color.selectText.4=Full-Invert(Invert all colors)
replace-color.selectText.5=Yüksek kontrastlı renk seçenekleri replace-color.selectText.5=High contrast color options
replace-color.selectText.6=Siyah arka plan üzerine beyaz metin replace-color.selectText.6=white text on black background
replace-color.selectText.7=Beyaz arka plan üzerine siyah metin replace-color.selectText.7=Black text on white background
replace-color.selectText.8=Siyah arka plan üzerine sarı metin replace-color.selectText.8=Yellow text on black background
replace-color.selectText.9=Siyah arka plan üzerine yeşil metin replace-color.selectText.9=Green text on black background
replace-color.selectText.10=Metin Rengini Seç replace-color.selectText.10=Choose text Color
replace-color.selectText.11=Arka Plan Rengini Seç replace-color.selectText.11=Choose background Color
replace-color.submit=Değiştir replace-color.submit=Replace
@ -602,11 +597,11 @@ login.oauth2invalidRequest=Geçersiz İstek
login.oauth2AccessDenied=Erişim Reddedildi login.oauth2AccessDenied=Erişim Reddedildi
login.oauth2InvalidTokenResponse=Geçersiz Belirteç Yanıtı login.oauth2InvalidTokenResponse=Geçersiz Belirteç Yanıtı
login.oauth2InvalidIdToken=Geçersiz Kimlik Belirteci login.oauth2InvalidIdToken=Geçersiz Kimlik Belirteci
login.relyingPartyRegistrationNotFound=Bağlı taraf kaydı bulunamadı login.relyingPartyRegistrationNotFound=No relying party registration found
login.userIsDisabled=Kullanıcı devre dışı bırakıldı, şu anda bu kullanıcı adıyla giriş engellendi. Lütfen yöneticiyle iletişime geçin. login.userIsDisabled=Kullanıcı devre dışı bırakıldı, şu anda bu kullanıcı adıyla giriş engellendi. Lütfen yöneticiyle iletişime geçin.
login.alreadyLoggedIn=Zaten şu cihazlarda oturum açılmış: login.alreadyLoggedIn=You are already logged in to
login.alreadyLoggedIn2=Lütfen bu cihazlardan çıkış yaparak tekrar deneyin. login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
login.toManySessions=Çok fazla aktif oturumunuz var login.toManySessions=You have too many active sessions
#auto-redact #auto-redact
autoRedact.title=Otomatik Karartma autoRedact.title=Otomatik Karartma
@ -621,31 +616,31 @@ autoRedact.convertPDFToImageLabel=PDF'i PDF-Görüntü'ye dönüştür (Kutunun
autoRedact.submitButton=Gönder autoRedact.submitButton=Gönder
#redact #redact
redact.title=Manuel Sansürleme redact.title=Manual Redaction
redact.header=Manuel Sansürleme redact.header=Manual Redaction
redact.submit=Sansürle redact.submit=Redact
redact.textBasedRedaction=Metin Tabanlı Sansürleme redact.textBasedRedaction=Text based Redaction
redact.pageBasedRedaction=Sayfa Tabanlı Sansürleme redact.pageBasedRedaction=Page-based Redaction
redact.convertPDFToImageLabel=PDF'yi Görsel PDF'ye Dönüştür (Kutunun arkasındaki metni kaldırmak için kullanılır) redact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box)
redact.pageRedactionNumbers.title=Sayfalar redact.pageRedactionNumbers.title=Pages
redact.pageRedactionNumbers.placeholder=(örneğin: 1,2,8 veya 4,7,12-16 ya da 2n-1) redact.pageRedactionNumbers.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
redact.redactionColor.title=Sansür Rengi redact.redactionColor.title=Redaction Color
redact.export=Dışa Aktar redact.export=Export
redact.upload=Yükle redact.upload=Upload
redact.boxRedaction=Kutu Çizerek Sansürleme redact.boxRedaction=Box draw redaction
redact.zoom=Yakınlaştırma redact.zoom=Zoom
redact.zoomIn=Yakınlaştır redact.zoomIn=Zoom in
redact.zoomOut=Uzaklaştır redact.zoomOut=Zoom out
redact.nextPage=Sonraki Sayfa redact.nextPage=Next Page
redact.previousPage=Önceki Sayfa redact.previousPage=Previous Page
redact.toggleSidebar=Kenar Çubuğunu Aç/Kapat redact.toggleSidebar=Toggle Sidebar
redact.showThumbnails=Küçük Resimleri Göster redact.showThumbnails=Show Thumbnails
redact.showDocumentOutline=Belge Anahatlarını Göster (tüm öğeleri genişletmek/daraltmak için çift tıklayın) redact.showDocumentOutline=Show Document Outline (double-click to expand/collapse all items)
redact.showAttatchments=Ekleri Göster redact.showAttatchments=Show Attachments
redact.showLayers=Katmanları Göster (tüm katmanları varsayılana döndürmek için çift tıklayın) redact.showLayers=Show Layers (double-click to reset all layers to the default state)
redact.colourPicker=Renk Seçici redact.colourPicker=Colour Picker
redact.findCurrentOutlineItem=Geçerli Anahat Öğesini Bul redact.findCurrentOutlineItem=Find current outline item
redact.applyChanges=Değişiklikleri Uygula redact.applyChanges=Apply Changes
#showJS #showJS
showJS.title=Javascript'i Göster showJS.title=Javascript'i Göster
@ -739,10 +734,10 @@ sanitizePDF.title=PDF'i Temizle
sanitizePDF.header=PDF dosyasını temizle sanitizePDF.header=PDF dosyasını temizle
sanitizePDF.selectText.1=JavaScript işlemlerini kaldır sanitizePDF.selectText.1=JavaScript işlemlerini kaldır
sanitizePDF.selectText.2=Gömülü dosyaları kaldır sanitizePDF.selectText.2=Gömülü dosyaları kaldır
sanitizePDF.selectText.3=XMP meta verisini kaldır sanitizePDF.selectText.3=Remove XMP metadata
sanitizePDF.selectText.4=Linkleri kaldır sanitizePDF.selectText.4=Linkleri kaldır
sanitizePDF.selectText.5=Fontları kaldır sanitizePDF.selectText.5=Fontları kaldır
sanitizePDF.selectText.6=Belge Bilgisi Meta Verisini Kaldır sanitizePDF.selectText.6=Remove Document Info Metadata
sanitizePDF.submit=PDF'i Temizle sanitizePDF.submit=PDF'i Temizle
@ -821,7 +816,7 @@ scalePages.submit=Gönder
certSign.title=Sertifika İmzalama certSign.title=Sertifika İmzalama
certSign.header=Sertifikanızla bir PDF imzalayın (Devam eden iş) certSign.header=Sertifikanızla bir PDF imzalayın (Devam eden iş)
certSign.selectPDF=İmzalamak için bir PDF Dosyası seçin: certSign.selectPDF=İmzalamak için bir PDF Dosyası seçin:
certSign.jksNote=Not: Sertifika türünüz aşağıda listelenmemişse, lütfen keytool komut satırı aracını kullanarak sertifikanızı bir Java Keystore (.jks) dosyasına dönüştürün. Ardından, aşağıdaki .jks dosyası seçeneğini seçin. certSign.jksNote=Note: Sertifika türünüz aşağıda listelenmemişse, lütfen keytool komut satırı aracını kullanarak sertifikanızı bir Java Keystore (.jks) dosyasına dönüştürün. Ardından, aşağıdaki .jks dosyası seçeneğini seçin.
certSign.selectKey=Özel Anahtar Dosyanızı Seçin (PKCS#8 formatında, .pem veya .der olabilir): certSign.selectKey=Özel Anahtar Dosyanızı Seçin (PKCS#8 formatında, .pem veya .der olabilir):
certSign.selectCert=Sertifika Dosyanızı Seçin (X.509 formatında, .pem veya .der olabilir): certSign.selectCert=Sertifika Dosyanızı Seçin (X.509 formatında, .pem veya .der olabilir):
certSign.selectP12=PKCS#12 Anahtar Deposu Dosyanızı Seçin (.p12 veya .pfx) (İsteğe bağlı, sağlanırsa, özel anahtarınızı ve sertifikanızı içermelidir): certSign.selectP12=PKCS#12 Anahtar Deposu Dosyanızı Seçin (.p12 veya .pfx) (İsteğe bağlı, sağlanırsa, özel anahtarınızı ve sertifikanızı içermelidir):
@ -867,9 +862,9 @@ compare.highlightColor.2=Vurgu Rengi 2:
compare.document.1=Belge 1 compare.document.1=Belge 1
compare.document.2=Belge 2 compare.document.2=Belge 2
compare.submit=Karşılaştır compare.submit=Karşılaştır
compare.complex.message=Verilen belgelerden biri veya her ikisi büyük dosyalar olduğundan karşılaştırma doğruluğu azalabilir compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=Verilen belgelerden biri veya her ikisi işlenemeyecek kadar büyük compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=Seçilen PDF'lerden biri veya her ikisinde metin içeriği yok. Lütfen karşılaştırma için metin içeren PDF'ler seçin. compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#sign #sign
sign.title=İmzala sign.title=İmzala
@ -879,20 +874,20 @@ sign.draw=İmza Çiz
sign.text=Metin Girişi sign.text=Metin Girişi
sign.clear=Temizle sign.clear=Temizle
sign.add=Ekle sign.add=Ekle
sign.saved=Kaydedilmiş İmzalar sign.saved=Saved Signatures
sign.save=İmzayı Kaydet sign.save=Save Signature
sign.personalSigs=Kişisel İmzalar sign.personalSigs=Personal Signatures
sign.sharedSigs=Paylaşılan İmzalar sign.sharedSigs=Shared Signatures
sign.noSavedSigs=Kayıtlı imza bulunamadı sign.noSavedSigs=No saved signatures found
sign.addToAll=Tüm sayfalara ekle sign.addToAll=Add to all pages
sign.delete=Sil sign.delete=Delete
sign.first=İlk sayfa sign.first=First page
sign.last=Son sayfa sign.last=Last page
sign.next=Sonraki sayfa sign.next=Next page
sign.previous=Önceki sayfa sign.previous=Previous page
sign.maintainRatio=Oranı korumayı değiştir sign.maintainRatio=Toggle maintain aspect ratio
sign.undo=Geri Al sign.undo=Undo
sign.redo=Yinele sign.redo=Redo
#repair #repair
repair.title=Onar repair.title=Onar
@ -1003,7 +998,7 @@ pdfOrganiser.mode.7=İlk Önce Kaldır
pdfOrganiser.mode.8=Sonuncuyu Kaldır pdfOrganiser.mode.8=Sonuncuyu Kaldır
pdfOrganiser.mode.9=İlk ve Sonu Kaldır pdfOrganiser.mode.9=İlk ve Sonu Kaldır
pdfOrganiser.mode.10=Tek-Çift Birleştirme pdfOrganiser.mode.10=Tek-Çift Birleştirme
pdfOrganiser.mode.11=Tüm sayfaları çoğalt pdfOrganiser.mode.11=Duplicate all pages
pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1) pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1)
@ -1011,39 +1006,39 @@ pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1)
multiTool.title=PDF Çoklu Araç multiTool.title=PDF Çoklu Araç
multiTool.header=PDF Çoklu Araç multiTool.header=PDF Çoklu Araç
multiTool.uploadPrompts=Dosya Adı multiTool.uploadPrompts=Dosya Adı
multiTool.selectAll=Tümünü Seç multiTool.selectAll=Select All
multiTool.deselectAll=Seçimi Kaldır multiTool.deselectAll=Deselect All
multiTool.selectPages=Sayfa Seç multiTool.selectPages=Page Select
multiTool.selectedPages=Seçilen Sayfalar multiTool.selectedPages=Selected Pages
multiTool.page=Sayfa multiTool.page=Page
multiTool.deleteSelected=Seçilenleri Sil multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Dışa Aktar multiTool.downloadAll=Export
multiTool.downloadSelected=Seçilenleri Dışa Aktar multiTool.downloadSelected=Export Selected
multiTool.insertPageBreak=Sayfa Sonu Ekle multiTool.insertPageBreak=Insert Page Break
multiTool.addFile=Dosya Ekle multiTool.addFile=Add File
multiTool.rotateLeft=Sola Döndür multiTool.rotateLeft=Rotate Left
multiTool.rotateRight=Sağa Döndür multiTool.rotateRight=Rotate Right
multiTool.split=Böl multiTool.split=Split
multiTool.moveLeft=Sola Taşı multiTool.moveLeft=Move Left
multiTool.moveRight=Sağa Taşı multiTool.moveRight=Move Right
multiTool.delete=Sil multiTool.delete=Delete
multiTool.dragDropMessage=Sayfa(lar) Seçildi multiTool.dragDropMessage=Page(s) Selected
multiTool.undo=Geri Al multiTool.undo=Undo
multiTool.redo=Yinele multiTool.redo=Redo
#decrypt #decrypt
decrypt.passwordPrompt=Bu dosya parola korumalı. Lütfen parolayı girin: decrypt.passwordPrompt=This file is password-protected. Please enter the password:
decrypt.cancelled=PDF için işlem iptal edildi: {0} decrypt.cancelled=Operation cancelled for PDF: {0}
decrypt.noPassword=Şifrelenmiş PDF için parola girilmedi: {0} decrypt.noPassword=No password provided for encrypted PDF: {0}
decrypt.invalidPassword=Lütfen doğru parolayla tekrar deneyin. decrypt.invalidPassword=Please try again with the correct password.
decrypt.invalidPasswordHeader=PDF için yanlış parola veya desteklenmeyen şifreleme: {0} decrypt.invalidPasswordHeader=Incorrect password or unsupported encryption for PDF: {0}
decrypt.unexpectedError=Dosya işlenirken bir hata oluştu. Lütfen tekrar deneyin. decrypt.unexpectedError=There was an error processing the file. Please try again.
decrypt.serverError=Şifre çözme sırasında sunucu hatası: {0} decrypt.serverError=Server error while decrypting: {0}
decrypt.success=Dosyanın şifresi başarıyla çözüldü. decrypt.success=File decrypted successfully.
#multiTool-advert #multiTool-advert
multiTool-advert.message=Bu özellik <a href="{0}">çoklu araçlar sayfamızda</a> da mevcuttur. Sayfa sayfa gelişmiş arayüz ve ek özellikler için göz atın! multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=View/Edit PDF viewPdf.title=View/Edit PDF
@ -1306,21 +1301,21 @@ licenses.license=Lisans
survey.nav=Anket survey.nav=Anket
survey.title=Stirling-PDF Anketi survey.title=Stirling-PDF Anketi
survey.description=Stirling-PDF'te izleme yok, bu yüzden Stirling-PDF'i iyileştirmek için kullanıcılarımızdan geri bildirim almak istiyoruz! survey.description=Stirling-PDF'te izleme yok, bu yüzden Stirling-PDF'i iyileştirmek için kullanıcılarımızdan geri bildirim almak istiyoruz!
survey.changes=Stirling-PDF son ankete göre değişti! Daha fazla bilgi için blog yazımıza göz atın: survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
survey.changes2=Bu değişikliklerle birlikte ücretli kurumsal destek ve fon alıyoruz survey.changes2=With these changes we are getting paid business support and funding
survey.please=Lütfen anketimize katılmayı düşünün! survey.please=Lütfen anketimize katılmayı düşünün!
survey.disabled=(Anket açılır penceresi sonraki güncellemelerde devre dışı bırakılacak ancak sayfanın alt kısmında yer alacaktır) survey.disabled=(Anket açılır penceresi sonraki güncellemelerde devre dışı bırakılacak ancak sayfanın alt kısmında yer alacaktır)
survey.button=Ankete Katıl survey.button=Ankete Katıl
survey.dontShowAgain=Tekrar gösterme survey.dontShowAgain=Tekrar gösterme
survey.meeting.1=Eğer Stirling PDF'i iş yerinizde kullanıyorsanız, sizinle görüşmek isteriz. 15 dakikalık bir kullanıcı keşif oturumu karşılığında teknik destek sunuyoruz. survey.meeting.1=If you're using Stirling PDF at work, we'd love to speak to you. We're offering technical support sessions in exchange for a 15 minute user discovery session.
survey.meeting.2=Bu fırsat sayesinde: survey.meeting.2=This is a chance to:
survey.meeting.3=Kurulum, entegrasyonlar veya sorun giderme konularında yardım alabilirsiniz survey.meeting.3=Get help with deployment, integrations, or troubleshooting
survey.meeting.4=Performans, uç durumlar ve eksik özellikler hakkında doğrudan geri bildirim sağlayabilirsiniz survey.meeting.4=Provide direct feedback on performance, edge cases, and feature gaps
survey.meeting.5=Stirling PDFi gerçek dünya kurumsal kullanımı için daha iyi hale getirmemize yardımcı olabilirsiniz survey.meeting.5=Help us refine Stirling PDF for real-world enterprise use
survey.meeting.6=İlgileniyorsanız, ekibimizden doğrudan zaman ayırabilirsiniz. (Yalnızca İngilizce) survey.meeting.6=If you're interested, you can book time with our team directly. (English speaking only)
survey.meeting.7=Kullanım senaryolarınızı dinlemeyi ve Stirling PDFi daha da iyi hale getirmeyi sabırsızlıkla bekliyoruz! survey.meeting.7=Looking forward to digging into your use cases and making Stirling PDF even better!
survey.meeting.notInterested=Kurumsal kullanıcı değilseniz ve/veya görüşmeye ilgi duymuyorsanız survey.meeting.notInterested=Not a business and/or interested in a meeting?
survey.meeting.button=Görüşme Planla survey.meeting.button=Book meeting
#error #error
error.sorry=Sorun için özür dileriz! error.sorry=Sorun için özür dileriz!
@ -1343,90 +1338,64 @@ removeImage.removeImage=Resmi kaldır
removeImage.submit=Resmi kaldır removeImage.submit=Resmi kaldır
splitByChapters.title=PDF'yi Bölümlere Ayır splitByChapters.title=Split PDF by Chapters
splitByChapters.header=PDF'yi Bölümlere Ayır splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Yer imi Seviyesi splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Meta Veriyi Dahil Et splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Yinelenen Yer İmlerine İzin Ver splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=Bu araç, bir PDF dosyasını bölüm yapısına göre birden fazla PDF'ye böler. splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bölme için kullanılacak yer imi seviyesini seçin (0 en üst seviye, 1 ikinci seviye vb.). splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Meta Veriyi Dahil Et: İşaretlenirse, orijinal PDF'nin meta verisi her bir bölünmüş PDF'ye dahil edilir. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Yinelenen Yer İmlerine İzin Ver: İşaretlenirse, aynı sayfadaki birden fazla yer imi ayrı PDF'ler oluşturabilir. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=PDF'yi Ayır splitByChapters.submit=Split PDF
#File Chooser #File Chooser
fileChooser.click=Seç fileChooser.click=Click
fileChooser.or=veya fileChooser.or=or
fileChooser.dragAndDrop=Sürükle & Bırak fileChooser.dragAndDrop=Drag & Drop
fileChooser.dragAndDropPDF=PDF dosyasını Sürükle & Bırak fileChooser.dragAndDropPDF=Drag & Drop PDF file
fileChooser.dragAndDropImage=Görsel dosyasını Sürükle & Bırak fileChooser.dragAndDropImage=Drag & Drop Image file
fileChooser.hoveredDragAndDrop=Dosya(lar)ı buraya sürükleyip bırakın fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
fileChooser.extractPDF=PDF Çıkarılıyor... fileChooser.extractPDF=Extracting...
#release notes #release notes
releases.footer=Sürümler releases.footer=Releases
releases.title=Sürüm Notları releases.title=Release Notes
releases.header=Sürüm Notları releases.header=Release Notes
releases.current.version=Mevcut Sürüm releases.current.version=Current Release
releases.note=Sürüm notları yalnızca İngilizce dilinde mevcuttur releases.note=Release notes are only available in English
#Validate Signature #Validate Signature
validateSignature.title=PDF İmzalarını Doğrula validateSignature.title=Validate PDF Signatures
validateSignature.header=Dijital İmzaları Doğrula validateSignature.header=Validate Digital Signatures
validateSignature.selectPDF=İmzalanmış PDF dosyasını seçin validateSignature.selectPDF=Select signed PDF file
validateSignature.submit=İmzaları Doğrula validateSignature.submit=Validate Signatures
validateSignature.results=Doğrulama Sonuçları validateSignature.results=Validation Results
validateSignature.status=Durum validateSignature.status=Status
validateSignature.signer=İmzalayan validateSignature.signer=Signer
validateSignature.date=Tarih validateSignature.date=Date
validateSignature.reason=Gerekçe validateSignature.reason=Reason
validateSignature.location=Konum validateSignature.location=Location
validateSignature.noSignatures=Bu belgede dijital imza bulunamadı validateSignature.noSignatures=No digital signatures found in this document
validateSignature.status.valid=Geçerli validateSignature.status.valid=Valid
validateSignature.status.invalid=Geçersiz validateSignature.status.invalid=Invalid
validateSignature.chain.invalid=Sertifika zinciri doğrulaması başarısız - imzalayanın kimliği doğrulanamıyor validateSignature.chain.invalid=Certificate chain validation failed - cannot verify signer's identity
validateSignature.trust.invalid=Sertifika güvenilir mağazada değil - kaynak doğrulanamıyor validateSignature.trust.invalid=Certificate not in trust store - source cannot be verified
validateSignature.cert.expired=Sertifika süresi dolmuş validateSignature.cert.expired=Certificate has expired
validateSignature.cert.revoked=Sertifika iptal edilmiş validateSignature.cert.revoked=Certificate has been revoked
validateSignature.signature.info=İmza Bilgisi validateSignature.signature.info=Signature Information
validateSignature.signature=İmza validateSignature.signature=Signature
validateSignature.signature.mathValid=İmza matematiksel olarak geçerli, ANCAK: validateSignature.signature.mathValid=Signature is mathematically valid BUT:
validateSignature.selectCustomCert=Özel Sertifika Dosyası X.509 (İsteğe Bağlı) validateSignature.selectCustomCert=Custom Certificate File X.509 (Optional)
validateSignature.cert.info=Sertifika Detayları validateSignature.cert.info=Certificate Details
validateSignature.cert.issuer=Veren validateSignature.cert.issuer=Issuer
validateSignature.cert.subject=Konu validateSignature.cert.subject=Subject
validateSignature.cert.serialNumber=Seri Numarası validateSignature.cert.serialNumber=Serial Number
validateSignature.cert.validFrom=Geçerlilik Başlangıcı validateSignature.cert.validFrom=Valid From
validateSignature.cert.validUntil=Geçerlilik Bitişi validateSignature.cert.validUntil=Valid Until
validateSignature.cert.algorithm=Algoritma validateSignature.cert.algorithm=Algorithm
validateSignature.cert.keySize=Anahtar Boyutu validateSignature.cert.keySize=Key Size
validateSignature.cert.version=Sürüm validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Anahtar Kullanımı validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Kendi Kendine İmzalı validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=Çerezleri Nasıl Kullanıyoruz
cookieBanner.popUp.description.1=Stirling PDFyi sizin için daha iyi çalıştırmak için çerezler ve diğer teknolojileri kullanıyoruz — araçlarımızı geliştirmemize ve seveceğiniz özellikler oluşturmamıza yardımcı oluyorlar.
cookieBanner.popUp.description.2=İstemiyorsanız, Hayır Teşekkürler butonuna tıklayarak yalnızca temel, gerekli çerezleri etkinleştirebilirsiniz.
cookieBanner.popUp.acceptAllBtn=Tamam
cookieBanner.popUp.acceptNecessaryBtn=Hayır Teşekkürler
cookieBanner.popUp.showPreferencesBtn=Tercihleri Yönet
cookieBanner.preferencesModal.title=Onay Tercih Merkezi
cookieBanner.preferencesModal.acceptAllBtn=Tümünü Kabul Et
cookieBanner.preferencesModal.acceptNecessaryBtn=Tümünü Reddet
cookieBanner.preferencesModal.savePreferencesBtn=Tercihleri Kaydet
cookieBanner.preferencesModal.closeIconLabel=Kapat
cookieBanner.preferencesModal.serviceCounterLabel=Hizmet|Hizmetler
cookieBanner.preferencesModal.subtitle=Çerez Kullanımı
cookieBanner.preferencesModal.description.1=Stirling PDF, deneyiminizi geliştirmek ve araçlarımızın nasıl kullanıldığını anlamak için çerezler ve benzeri teknolojiler kullanır. Bu, performansı iyileştirmemize, önemsediğiniz özellikleri geliştirmemize ve kullanıcılarımıza sürekli destek sağlamamıza yardımcı olur.
cookieBanner.preferencesModal.description.2=Stirling PDF, kullandığınız belgelerin içeriğini asla takip edemez veya erişemez.
cookieBanner.preferencesModal.description.3=Gizliliğiniz ve güveniniz bizim için en önemli şeydir.
cookieBanner.preferencesModal.necessary.title.1=Kesinlikle Gerekli Çerezler
cookieBanner.preferencesModal.necessary.title.2=Her Zaman Etkin
cookieBanner.preferencesModal.necessary.description=Bu çerezler, web sitesinin düzgün çalışabilmesi için gereklidir. Gizlilik tercihlerinizi ayarlama, giriş yapma ve form doldurma gibi temel işlevleri mümkün kılarlar — bu nedenle devre dışı bırakılamazlar.
cookieBanner.preferencesModal.analytics.title=Analitik
cookieBanner.preferencesModal.analytics.description=Bu çerezler, araçlarımızın nasıl kullanıldığını anlamamıza yardımcı olur, böylece topluluğumuzun en çok değer verdiği özellikleri geliştirmeye odaklanabiliriz. İçiniz rahat olsun — Stirling PDF, belgelerinizin içeriğini asla takip etmez ve etmeyecektir.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Оберіть PDFи (2+)
multiPdfDropPrompt=Оберіть (або перетягніть) всі необхідні PDFи multiPdfDropPrompt=Оберіть (або перетягніть) всі необхідні PDFи
imgPrompt=Оберіть зображення(я) imgPrompt=Оберіть зображення(я)
genericSubmit=Надіслати genericSubmit=Надіслати
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Увага: Цей процес може тривати до хвилини в залежності від розміру файлу. processTimeWarning=Увага: Цей процес може тривати до хвилини в залежності від розміру файлу.
pageOrderPrompt=Порядок сторінок (введіть список номерів сторінок через кому): pageOrderPrompt=Порядок сторінок (введіть список номерів сторінок через кому):
pageSelectionPrompt=Користувацький вибір сторінки (введіть список номерів сторінок через кому 1,5,6 або функції типу 2n+1) : pageSelectionPrompt=Користувацький вибір сторінки (введіть список номерів сторінок через кому 1,5,6 або функції типу 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Правила та умови
legal.accessibility=Доступність legal.accessibility=Доступність
legal.cookie=Політика використання файлів cookie legal.cookie=Політика використання файлів cookie
legal.impressum=Вихідні дані legal.impressum=Вихідні дані
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Увімкнути аналітику
analytics.disable=Вимкнути аналітику analytics.disable=Вимкнути аналітику
analytics.settings=Ви можете змінити параметри аналітики у файлі config/settings.yml analytics.settings=Ви можете змінити параметри аналітики у файлі config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версія
validateSignature.cert.keyUsage=Використання ключа validateSignature.cert.keyUsage=Використання ключа
validateSignature.cert.selfSigned=Самоподписанный validateSignature.cert.selfSigned=Самоподписанный
validateSignature.cert.bits=біт validateSignature.cert.bits=біт
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=Chọn các tệp PDF (2+)
multiPdfDropPrompt=Chọn (hoặc kéo và thả) tất cả các tệp PDF bạn cần multiPdfDropPrompt=Chọn (hoặc kéo và thả) tất cả các tệp PDF bạn cần
imgPrompt=Chọn (các) hình ảnh imgPrompt=Chọn (các) hình ảnh
genericSubmit=Gửi genericSubmit=Gửi
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Cảnh báo: Quá trình này có thể mất đến một phút tùy thuộc vào kích thước tệp processTimeWarning=Cảnh báo: Quá trình này có thể mất đến một phút tùy thuộc vào kích thước tệp
pageOrderPrompt=Thứ tự trang tùy chỉnh (Nhập danh sách số trang được phân tách bằng dấu phẩy hoặc Các hàm như 2n+1) : pageOrderPrompt=Thứ tự trang tùy chỉnh (Nhập danh sách số trang được phân tách bằng dấu phẩy hoặc Các hàm như 2n+1) :
pageSelectionPrompt=Lựa chọn trang tùy chỉnh (Nhập danh sách số trang được phân tách bằng dấu phẩy 1,5,6 hoặc Các hàm như 2n+1) : pageSelectionPrompt=Lựa chọn trang tùy chỉnh (Nhập danh sách số trang được phân tách bằng dấu phẩy 1,5,6 hoặc Các hàm như 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=Cookie Policy
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=You can change the settings for analytics in the config/settings.yml file
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed validateSignature.cert.selfSigned=Self-Signed
validateSignature.cert.bits=bits validateSignature.cert.bits=bits
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=PDF གཉིས་ཡན་འདེམས་རོགས།
multiPdfDropPrompt=དགོས་མཁོ་འདི་ PDF ཡིག་ཆ་ཚང་མ་འདེམས་པའམ་འཐེན་རོགས། multiPdfDropPrompt=དགོས་མཁོ་འདི་ PDF ཡིག་ཆ་ཚང་མ་འདེམས་པའམ་འཐེན་རོགས།
imgPrompt=པར་རིས་འདེམས་རོགས། imgPrompt=པར་རིས་འདེམས་རོགས།
genericSubmit=ཕུལ་བཅོས། genericSubmit=ཕུལ་བཅོས།
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=ཉེན་བཅོས། བྱ་རིམ་འདི་ཡིག་ཆའི་ཆེ་ཆུང་ལ་གཞིགས་ནས་སྐར་མ་གཅིག་བར་འགོར་སྲིད། processTimeWarning=ཉེན་བཅོས། བྱ་རིམ་འདི་ཡིག་ཆའི་ཆེ་ཆུང་ལ་གཞིགས་ནས་སྐར་མ་གཅིག་བར་འགོར་སྲིད།
pageOrderPrompt=ཤོག་ངོས་གོ་རིམ་རང་སྒྲིག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ངམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།) pageOrderPrompt=ཤོག་ངོས་གོ་རིམ་རང་སྒྲིག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ངམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།)
pageSelectionPrompt=ཤོག་ངོས་འདེམས་སྒྲུག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ 1,5,6 འམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།) pageSelectionPrompt=ཤོག་ངོས་འདེམས་སྒྲུག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ 1,5,6 འམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།)
@ -93,7 +90,6 @@ legal.terms=བེད་སྤྱོད་ཆ་རྐྱེན།
legal.accessibility=བེད་སྤྱོད་ནུས་པ། legal.accessibility=བེད་སྤྱོད་ནུས་པ།
legal.cookie=Cookie སྲིད་བྱུས། legal.cookie=Cookie སྲིད་བྱུས།
legal.impressum=པར་འདེབས་བདག་དབང་། legal.impressum=པར་འདེབས་བདག་དབང་།
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=དཔྱད་ཞིབ་སྤྱོད་འགོ་འཛ
analytics.disable=དཔྱད་ཞིབ་སྤྱོད་མཚམས་འཇོག analytics.disable=དཔྱད་ཞིབ་སྤྱོད་མཚམས་འཇོག
analytics.settings=དཔྱད་ཞིབ་ཀྱི་སྒྲིག་འགོད་ config/settings.yml ཡིག་ཆའི་ནང་བསྒྱུར་བཅོས་བྱེད་ཆོག analytics.settings=དཔྱད་ཞིབ་ཀྱི་སྒྲིག་འགོད་ config/settings.yml ཡིག་ཆའི་ནང་བསྒྱུར་བཅོས་བྱེད་ཆོག
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=པར་གཞི།
validateSignature.cert.keyUsage=ལྡེ་མིག་བེད་སྤྱོད། validateSignature.cert.keyUsage=ལྡེ་མིག་བེད་སྤྱོད།
validateSignature.cert.selfSigned=རང་མིང་རྟགས། validateSignature.cert.selfSigned=རང་མིང་རྟགས།
validateSignature.cert.bits=གནས། validateSignature.cert.bits=གནས།
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=选择多个 PDF2个或更多
multiPdfDropPrompt=选择(或拖拽)所需的 PDF multiPdfDropPrompt=选择(或拖拽)所需的 PDF
imgPrompt=选择图像 imgPrompt=选择图像
genericSubmit=提交 genericSubmit=提交
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=警告:此过程可能需要多达一分钟,具体时间取决于文件大小 processTimeWarning=警告:此过程可能需要多达一分钟,具体时间取决于文件大小
pageOrderPrompt=页面顺序(输入逗号分隔的页码列表或函数): pageOrderPrompt=页面顺序(输入逗号分隔的页码列表或函数):
pageSelectionPrompt=自定义页面选择输入以逗号分隔的页码列表或函数1,5,6、2n+1 pageSelectionPrompt=自定义页面选择输入以逗号分隔的页码列表或函数1,5,6、2n+1
@ -93,7 +90,6 @@ legal.terms=服务条款
legal.accessibility=无障碍 legal.accessibility=无障碍
legal.cookie=Cookie 政策 legal.cookie=Cookie 政策
legal.impressum=Impressum legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=启用分析功能
analytics.disable=禁用分析功能 analytics.disable=禁用分析功能
analytics.settings=您可以在 config/settings.yml 文件中变更分析功能的设定 analytics.settings=您可以在 config/settings.yml 文件中变更分析功能的设定
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=版本
validateSignature.cert.keyUsage=密钥用途 validateSignature.cert.keyUsage=密钥用途
validateSignature.cert.selfSigned=自签名 validateSignature.cert.selfSigned=自签名
validateSignature.cert.bits=比特 validateSignature.cert.bits=比特
####################
# Cookie banner #
####################
cookieBanner.popUp.title=How we use Cookies
cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love.
cookieBanner.popUp.description.2=If youd rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
cookieBanner.popUp.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
cookieBanner.preferencesModal.title=Consent Preferences Center
cookieBanner.preferencesModal.acceptAllBtn=Accept all
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
cookieBanner.preferencesModal.closeIconLabel=Close modal
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
cookieBanner.preferencesModal.subtitle=Cookie Usage
cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users.
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they cant be turned off.
cookieBanner.preferencesModal.analytics.title=Analytics
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.

View File

@ -10,9 +10,6 @@ multiPdfPrompt=選擇多個 PDF 檔案
multiPdfDropPrompt=選擇(或拖放)所有需要的 PDF 檔案 multiPdfDropPrompt=選擇(或拖放)所有需要的 PDF 檔案
imgPrompt=選擇圖片 imgPrompt=選擇圖片
genericSubmit=送出 genericSubmit=送出
uploadLimit=檔案大小上限:
uploadLimitExceededSingular=太大。允許的最大檔案大小為
uploadLimitExceededPlural=太大。允許的最大檔案大小為
processTimeWarning=警告:此過程可能長達一分鐘,具體取決於檔案大小 processTimeWarning=警告:此過程可能長達一分鐘,具體取決於檔案大小
pageOrderPrompt=自訂頁面順序(輸入以逗號分隔的頁碼或函式,如 2n+1 pageOrderPrompt=自訂頁面順序(輸入以逗號分隔的頁碼或函式,如 2n+1
pageSelectionPrompt=自訂頁面選擇(輸入以逗號分隔的頁碼 1、5、6 或 2n+1 等函式的清單): pageSelectionPrompt=自訂頁面選擇(輸入以逗號分隔的頁碼 1、5、6 或 2n+1 等函式的清單):
@ -86,14 +83,13 @@ loading=載入中...
addToDoc=新增至文件 addToDoc=新增至文件
reset=重設 reset=重設
apply=套用 apply=套用
noFileSelected=未選擇檔案,請上傳一個。 noFileSelected=No file selected. Please upload one.
legal.privacy=隱私權政策 legal.privacy=隱私權政策
legal.terms=使用條款 legal.terms=使用條款
legal.accessibility=無障礙性聲明 legal.accessibility=無障礙性聲明
legal.cookie=Cookie 政策 legal.cookie=Cookie 政策
legal.impressum=版本說明 legal.impressum=版本說明
legal.showCookieBanner=Cookie 偏好設定
############### ###############
# Pipeline # # Pipeline #
@ -139,7 +135,6 @@ analytics.enable=啟用分析功能
analytics.disable=停用分析功能 analytics.disable=停用分析功能
analytics.settings=您可以在 config/settings.yml 檔案中變更分析功能的設定 analytics.settings=您可以在 config/settings.yml 檔案中變更分析功能的設定
############# #############
# NAVBAR # # NAVBAR #
############# #############
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=使用中的使用者:
adminUserSettings.disabledUsers=已停用的使用者: adminUserSettings.disabledUsers=已停用的使用者:
adminUserSettings.totalUsers=使用者總數: adminUserSettings.totalUsers=使用者總數:
adminUserSettings.lastRequest=最後請求時間 adminUserSettings.lastRequest=最後請求時間
adminUserSettings.usage=檢視使用情況 adminUserSettings.usage=View Usage
endpointStatistics.title=端點統計 endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=端點統計 endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=前 10 名 endpointStatistics.top10=Top 10
endpointStatistics.top20=前 20 名 endpointStatistics.top20=Top 20
endpointStatistics.all=全部 endpointStatistics.all=All
endpointStatistics.refresh=重新整理 endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=包含首頁 ('/') endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=包含登入頁面 ('/login') endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=端點總數 endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=總造訪次數 endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=顯示中 endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=選取的造訪次數 endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=端點 endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=造訪次數 endpointStatistics.visits=Visits
endpointStatistics.percentage=百分比 endpointStatistics.percentage=Percentage
endpointStatistics.loading=載入中... endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=無法載入端點資料。請嘗試重新整理。 endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=首頁 endpointStatistics.home=Home
endpointStatistics.login=登入 endpointStatistics.login=Login
endpointStatistics.top= endpointStatistics.top=Top
endpointStatistics.numberOfVisits=造訪次數 endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=造訪次數:{0}(總數的 {1}% endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=重試 endpointStatistics.retry=Retry
database.title=資料庫匯入/匯出 database.title=資料庫匯入/匯出
database.header=資料庫匯入/匯出 database.header=資料庫匯入/匯出
@ -683,9 +678,9 @@ MarkdownToPDF.credit=此服務使用 WeasyPrint 進行轉換
#pdf-to-markdown #pdf-to-markdown
PDFToMarkdown.title=PDF Markdown PDFToMarkdown.title=PDF To Markdown
PDFToMarkdown.header=PDF Markdown PDFToMarkdown.header=PDF To Markdown
PDFToMarkdown.submit=轉換 PDFToMarkdown.submit=Convert
#url-to-pdf #url-to-pdf
@ -739,10 +734,10 @@ sanitizePDF.title=清理 PDF
sanitizePDF.header=清理 PDF 檔案 sanitizePDF.header=清理 PDF 檔案
sanitizePDF.selectText.1=移除 JavaScript 操作 sanitizePDF.selectText.1=移除 JavaScript 操作
sanitizePDF.selectText.2=移除內嵌文件 sanitizePDF.selectText.2=移除內嵌文件
sanitizePDF.selectText.3=移除內嵌 XMP 資訊 sanitizePDF.selectText.3=Remove XMP metadata
sanitizePDF.selectText.4=移除連結 sanitizePDF.selectText.4=移除連結
sanitizePDF.selectText.5=移除字型 sanitizePDF.selectText.5=移除字型
sanitizePDF.selectText.6=移除文件中繼資料 sanitizePDF.selectText.6=Remove Document Info Metadata
sanitizePDF.submit=清理 PDF sanitizePDF.submit=清理 PDF
@ -891,7 +886,7 @@ sign.last=最後一頁
sign.next=下一頁 sign.next=下一頁
sign.previous=上一頁 sign.previous=上一頁
sign.maintainRatio=切換維持長寬比 sign.maintainRatio=切換維持長寬比
sign.undo= sign.undo=
sign.redo=重做 sign.redo=重做
#repair #repair
@ -1319,7 +1314,7 @@ survey.meeting.4=針對效能、特殊案例和缺少的功能提供直接意見
survey.meeting.5=協助我們改良 Stirling PDF 以符合實際企業使用需求 survey.meeting.5=協助我們改良 Stirling PDF 以符合實際企業使用需求
survey.meeting.6=如果您有興趣,可以直接預約時間與我們的團隊交流。(僅提供英語服務) survey.meeting.6=如果您有興趣,可以直接預約時間與我們的團隊交流。(僅提供英語服務)
survey.meeting.7=期待深入了解您的使用情境,讓 Stirling PDF 變得更好! survey.meeting.7=期待深入了解您的使用情境,讓 Stirling PDF 變得更好!
survey.meeting.notInterested=不是企業使用者或對會議不感興趣? survey.meeting.notInterested=不是企業用戶或對會議不感興趣?
survey.meeting.button=預約會議 survey.meeting.button=預約會議
#error #error
@ -1404,29 +1399,3 @@ validateSignature.cert.version=版本
validateSignature.cert.keyUsage=金鑰用途 validateSignature.cert.keyUsage=金鑰用途
validateSignature.cert.selfSigned=自我簽署 validateSignature.cert.selfSigned=自我簽署
validateSignature.cert.bits=位元 validateSignature.cert.bits=位元
####################
# Cookie banner #
####################
cookieBanner.popUp.title=我們如何使用 Cookies
cookieBanner.popUp.description.1=我們使用 Cookies 和其他技術來讓 Stirling PDF 變得更好——幫助我們改善工具並繼續創造您會喜愛的新功能
cookieBanner.popUp.description.2=如果您仍不想,點擊「不,謝謝」只會開啟必要的 Cookies 好讓網站功能保持運作
cookieBanner.popUp.acceptAllBtn=接受
cookieBanner.popUp.acceptNecessaryBtn=不,謝謝
cookieBanner.popUp.showPreferencesBtn=管理偏好設定
cookieBanner.preferencesModal.title=喜好設定中心
cookieBanner.preferencesModal.acceptAllBtn=全部接受
cookieBanner.preferencesModal.acceptNecessaryBtn=全部拒絕
cookieBanner.preferencesModal.savePreferencesBtn=儲存設定
cookieBanner.preferencesModal.closeIconLabel=關閉視窗
cookieBanner.preferencesModal.serviceCounterLabel=服務|服務
cookieBanner.preferencesModal.subtitle=Cookies 的用途
cookieBanner.preferencesModal.description.1=Stirling PDF 使用 Cookies 與其他相似技術去改善您的體驗和分析您如何使用我們的工具。這有助於我們改善效能、開發您注目的功能,和提供使用者協助。
cookieBanner.preferencesModal.description.2=Stirling PDF 不能——且永遠不會——追蹤或存取您的文件。
cookieBanner.preferencesModal.description.3=您的隱私和信任是我們的核心理念。
cookieBanner.preferencesModal.necessary.title.1=必要的 Cookies
cookieBanner.preferencesModal.necessary.title.2=永遠開啟
cookieBanner.preferencesModal.necessary.description=這些 Cookies 對網站正常運作至關重要。它們讓核心功能,像是隱私設定、登入、填入表格能夠運作——這也是為什麼它們不能被關掉。
cookieBanner.preferencesModal.analytics.title=分析 Cookies
cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在構建社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件

View File

@ -110,7 +110,6 @@ system:
operations: operations:
weasyprint: '' #Defaults to /opt/venv/bin/weasyprint weasyprint: '' #Defaults to /opt/venv/bin/weasyprint
unoconvert: '' #Defaults to /opt/venv/bin/unoconvert unoconvert: '' #Defaults to /opt/venv/bin/unoconvert
fileUploadLimit: '' # Defaults to "". No limit when string is empty. Set a number, between 0 and 999, followed by one of the following strings to set a limit. "KB", "MB", "GB".
ui: ui:
appName: '' # application's visible name appName: '' # application's visible name

View File

@ -128,7 +128,7 @@
}, },
{ {
"moduleName": "com.fathzer:javaluator", "moduleName": "com.fathzer:javaluator",
"moduleVersion": "3.0.6", "moduleVersion": "3.0.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@ -526,7 +526,7 @@
{ {
"moduleName": "commons-io:commons-io", "moduleName": "commons-io:commons-io",
"moduleUrl": "https://commons.apache.org/proper/commons-io/", "moduleUrl": "https://commons.apache.org/proper/commons-io/",
"moduleVersion": "2.19.0", "moduleVersion": "2.18.0",
"moduleLicense": "Apache-2.0", "moduleLicense": "Apache-2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@ -553,7 +553,7 @@
{ {
"moduleName": "io.micrometer:micrometer-core", "moduleName": "io.micrometer:micrometer-core",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.14.6", "moduleVersion": "1.14.5",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@ -1673,7 +1673,7 @@
{ {
"moduleName": "org.springframework:spring-jdbc", "moduleName": "org.springframework:spring-jdbc",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.2.6", "moduleVersion": "6.2.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
@ -1701,7 +1701,7 @@
{ {
"moduleName": "org.springframework:spring-webmvc", "moduleName": "org.springframework:spring-webmvc",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.2.6", "moduleVersion": "6.2.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },

View File

@ -59,21 +59,17 @@ html[dir="rtl"] .drag-manager_draghover img {
background-color: #ffffff10; background-color: #ffffff10;
transition: width 0.1s; transition: width 0.1s;
animation: end-drop-expand 0.3s ease; animation: end-drop-expand 0.3s ease;
display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin-left:16px; margin-left:16px;
border-radius: 8px; border-radius: 8px;
} }
.drag-manager_endpoint svg { .drag-manager_endpoint svg {
width: 50px; width: 50px;
height: 50px; height: 50px;
display: block;
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
} }
.drag-manager_endpoint.drag-manager_draghover { .drag-manager_endpoint.drag-manager_draghover {

View File

@ -85,14 +85,18 @@ label {
flex-direction: column; flex-direction: column;
padding: 1rem; padding: 1rem;
border-radius: 25px; border-radius: 25px;
overflow-y: clip;
overflow-x: auto;
min-height: 275px; min-height: 275px;
margin: 0 0 30px 0; margin: 0 0 30px 0;
} }
#pages-container { #pages-container {
margin: 0 auto; gap: 0px;
width: 95%; display: flex;
font-size: 0; flex-wrap: wrap;
margin-left: -15px;
margin-right: -15px;
} }
/* width */ /* width */
@ -117,20 +121,18 @@ label {
background: var(--scroll-bar-thumb-hover); background: var(--scroll-bar-thumb-hover);
} }
.page-container { .page-container {
display: inline-block;
list-style-type: none;
width: 250px;
height: 250px; height: 250px;
line-height: 50px; display: flex;
margin: 15px 25px; align-items: center;
box-sizing: border-box; flex-direction: column-reverse;
text-align: center;
aspect-ratio: 1; aspect-ratio: 1;
text-align: center;
position: relative; position: relative;
user-select: none; user-select: none;
transition: width 1s linear; transition: width 1s linear;
margin-top: 16px;
margin-bottom: 16px;
} }
.page-container.split-before { .page-container.split-before {
@ -194,8 +196,9 @@ label {
} }
.page-container img { .page-container img {
max-width: calc(100% - 15px); /* max-width: calc(100% - 15px); */
max-height: calc(100% - 15px); max-height: calc(100% - 15px);
max-width: 237px;
display: block; display: block;
position: absolute; position: absolute;
left: 50%; left: 50%;
@ -214,7 +217,6 @@ label {
position: absolute; position: absolute;
top: 5px; top: 5px;
left: 5px; left: 5px;
line-height: normal;
color: var(--md-sys-color-on-secondary); color: var(--md-sys-color-on-secondary);
background-color: rgba(162, 201, 255, 0.8); background-color: rgba(162, 201, 255, 0.8);
padding: 6px 8px; padding: 6px 8px;
@ -292,13 +294,6 @@ label {
.checkbox-label { .checkbox-label {
font-size: medium; font-size: medium;
} }
.btn { .btn {
position: relative; position: relative;
} }
@media only screen and (max-width: 767px) { #pages-container { width:300px; } }
@media only screen and (min-width: 768px) and (max-width: 991px) { #pages-container { width: 600px; } }
@media only screen and (min-width: 992px) and (max-width: 1199px) { #pages-container { width: 900px; } }
@media only screen and (min-width: 1200px) and (max-width: 1399px) { #pages-container { width: 900px; } }
@media only screen and (min-width: 1399px) { #pages-container { width: 1200px; } }

View File

@ -89,22 +89,6 @@
grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* Auto-fill columns, with a minimum width of 180px */ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); /* Auto-fill columns, with a minimum width of 180px */
} }
.scalable-languages-container:not(:has(> :nth-child(4))) .lang-dropdown-item-wrapper:last-child {
border: 0px !important
}
.scalable-languages-container:has(> *:nth-child(1)) {
--count: 1;
}
.scalable-languages-container:has(> *:nth-child(2)) {
--count: 2;
}
.scalable-languages-container:has(> *:nth-child(3)) {
--count: 3;
}
html[dir="ltr"] .lang-dropdown-item-wrapper { html[dir="ltr"] .lang-dropdown-item-wrapper {
border-right: 2px solid var(--md-nav-color-on-seperator); border-right: 2px solid var(--md-nav-color-on-seperator);
} }
@ -115,8 +99,8 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
/* Responsive adjustments */ /* Responsive adjustments */
@media (min-width: 1200px){ @media (min-width: 1200px){
.lang-dropdown-item-wrapper .dropdown-item { .lang_dropdown-mw{
min-width: 200px min-width: 800px
} }
} }
@ -124,9 +108,7 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
.scalable-languages-container { .scalable-languages-container {
grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr);
} }
.scalable-languages-container:not(:has(> :nth-child(2))){
grid-template-columns: repeat(var(--count), 1fr) !important;
}
.scalable-languages-container .lang-dropdown-item-wrapper:nth-child(2n) { .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(2n) {
border: 0px border: 0px
} }
@ -136,23 +118,15 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
.scalable-languages-container { .scalable-languages-container {
grid-template-columns: repeat(3, 1fr); grid-template-columns: repeat(3, 1fr);
} }
.scalable-languages-container:not(:has(> :nth-child(3))){
grid-template-columns: repeat(var(--count), 1fr) !important;
}
.scalable-languages-container .lang-dropdown-item-wrapper:nth-child(3n) { .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(3n) {
border: 0px border: 0px
}
} }
}
@media (min-width: 901px) { @media (min-width: 901px) {
.scalable-languages-container { .scalable-languages-container {
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, 1fr);
} }
.scalable-languages-container:not(:has(> :nth-child(4))){
grid-template-columns: repeat(var(--count), 1fr) !important;
}
.scalable-languages-container .lang-dropdown-item-wrapper:nth-child(4n) { .scalable-languages-container .lang-dropdown-item-wrapper:nth-child(4n) {
border: 0px border: 0px
} }
@ -241,13 +215,13 @@ span.icon-text::after {
.dropdown-menu.scrollable-y { .dropdown-menu.scrollable-y {
overflow-y: scroll; overflow-y: scroll;
max-height: 360px; height: 360px;
} }
/* Dropdown Scrollbar*/ /* Dropdown Scrollbar*/
.scrollable-y { .scrollable-y {
overflow-y: scroll; overflow-y: scroll;
max-height: 190px; height: 190px;
overscroll-behavior: contain; overscroll-behavior: contain;
} }

View File

@ -1,12 +1,8 @@
.pdf-actions_button-container { .pdf-actions_button-container {
z-index: 4; z-index: 4;
display: flex;
opacity: 0; opacity: 0;
transition: opacity 0.1s linear; transition: opacity 0.1s linear;
position: absolute !important;
bottom: 0px;
left: 50%;
transform: translate(-50%, 0%);
} }
.pdf-actions_container:hover .pdf-actions_button-container { .pdf-actions_container:hover .pdf-actions_button-container {
@ -46,43 +42,17 @@
/* "insert pdf" buttons that appear on the right when hover */ /* "insert pdf" buttons that appear on the right when hover */
.pdf-actions_insert-file-button-container { .pdf-actions_insert-file-button-container {
display:flex;
flex-direction: column;
gap: 10px;
translate: 0 -50%; translate: 0 -50%;
width: 80px;
height: 100%; height: 100%;
width: 100px;
padding-left: 30px;
padding-right:30px;
justify-content: center;
z-index: 3; z-index: 3;
opacity: 0; opacity: 0;
transition: opacity 0.4s; transition: opacity 0.2s;
} }
.pdf-actions_insert-file-button-container.left { .pdf-actions_insert-file-button-container button .material-symbols-rounded {
left: -50px; vertical-align: top;
}
.pdf-actions_insert-file-button-container.right {
right: -50px;
}
html[dir="ltr"] .pdf-actions_insert-file-button-container.right {
display: none;
}
html[dir="rtl"] .pdf-actions_insert-file-button-container.left {
display: none;
}
html[dir="ltr"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.right {
display: flex;
}
html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.left {
display: flex;
} }
.pdf-actions_insert-file-button-container.left button, .pdf-actions_insert-file-button-container.left button,
@ -95,11 +65,70 @@ html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-butto
vertical-align: sub; vertical-align: sub;
} }
.pdf-actions_insert-file-button {
padding: 0;
vertical-align: sub;
}
.pdf-actions_insert-file-button-container.left {
left: -20px;
}
.pdf-actions_insert-file-button-container.right {
right: -20px;
}
html[dir="ltr"] .pdf-actions_insert-file-button-container.right {
display: none;
}
html[dir="rtl"] .pdf-actions_insert-file-button-container.left {
display: none;
}
.pdf-actions_insert-file-button-container.left .pdf-actions_insert-file-button {
left: 0;
translate: 0 -50%;
}
.pdf-actions_insert-file-button-container.right .pdf-actions_insert-file-button {
right: 0;
translate: 0 -50%;
}
html[dir="ltr"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.right {
display: block;
}
html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.left {
display: block;
}
.pdf-actions_insert-file-button-container:hover { .pdf-actions_insert-file-button-container:hover {
opacity: 1; opacity: 1;
transition: opacity 0.05s; transition: opacity 0.05s;
} }
.pdf-actions_insert-file-button {
position: absolute;
top: 50%;
right: 50%;
translate: 50% -50%;
aspect-ratio: 1;
border-radius: 100px;
z-index: 4;
}
.pdf-actions_split-file-button {
position: absolute;
top: 25%;
right: 50%;
translate: 0 -50%;
aspect-ratio: 1;
border-radius: 100px;
z-index: 3;
}
.pdf-actions_checkbox { .pdf-actions_checkbox {
position: absolute; position: absolute;
top: 5px; top: 5px;
@ -115,3 +144,12 @@ html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-butto
.hidden { .hidden {
display: none; display: none;
} }
.pdf-actions_insert-file-blank-button {
position: absolute;
top: 75%;
right: 50%;
translate: 0% -50%;
aspect-ratio: 1;
border-radius: 100px;
z-index: 5;
}

View File

@ -172,6 +172,26 @@ html {
height: 0; height: 0;
} }
#apply-redaction {
height: var(--toolButton-height);
width: var(--toolButton-width);
border-radius: var(--toolButton-border-radius);
}
#apply-redaction[disabled=true], #apply-redaction:disabled:not([disabled=false]) {
color: rgb(147, 149, 153);
box-shadow: none !important;
}
#apply-redaction:is(:hover):not([disabled=true], :disabled:not([disabled=false])) {
cursor: pointer;
background-color: rgba(6, 114, 197, 0.82);
color: rgb(14, 12, 12);
outline:rgba(6, 114, 197, 0.82) !important;
border-color: rgba(6, 114, 197, 0.82) !important;
}
.toolbar-btn-hover:hover { .toolbar-btn-hover:hover {
cursor: pointer; cursor: pointer;
background-color: rgba(6, 114, 197, 0.82) !important; background-color: rgba(6, 114, 197, 0.82) !important;
@ -180,6 +200,15 @@ html {
border-color: rgba(6, 114, 197, 0.82) !important; border-color: rgba(6, 114, 197, 0.82) !important;
} }
#apply-redaction-icon {
font-size: var(--toolButton-icon-font-size);
}
#apply-redaction > span {
user-select: none;
pointer-events: none;
}
#pageRedactColor, input[data-for=pageRedactColor] { #pageRedactColor, input[data-for=pageRedactColor] {
flex: 1; flex: 1;
padding: 1px; padding: 1px;

View File

@ -43,20 +43,6 @@
firstErrorOccurred = false; firstErrorOccurred = false;
const url = this.action; const url = this.action;
let files = $('#fileInput-input')[0].files; let files = $('#fileInput-input')[0].files;
const uploadLimit = window.stirlingPDF?.uploadLimit ?? 0;
if (uploadLimit > 0) {
const oversizedFiles = Array.from(files).filter(f => f.size > uploadLimit);
if (oversizedFiles.length > 0) {
const names = oversizedFiles.map(f => `"${f.name}"`).join(', ');
if (names.length === 1) {
alert(`${names} ${window.stirlingPDF.uploadLimitExceededSingular} ${window.stirlingPDF.uploadLimitReadable}.`);
} else {
alert(`${names} ${window.stirlingPDF.uploadLimitExceededPlural} ${window.stirlingPDF.uploadLimitReadable}.`);
}
files = Array.from(files).filter(f => f.size <= uploadLimit);
if (files.length === 0) return;
}
}
const formData = new FormData(this); const formData = new FormData(this);
const submitButton = document.getElementById('submitBtn'); const submitButton = document.getElementById('submitBtn');
const showGameBtn = document.getElementById('show-game-btn'); const showGameBtn = document.getElementById('show-game-btn');
@ -132,9 +118,7 @@
} }
} catch (error) { } catch (error) {
clearTimeout(timeoutId); clearTimeout(timeoutId);
if(showGameBtn){
showGameBtn.style.display = 'none'; showGameBtn.style.display = 'none';
}
submitButton.textContent = originalButtonText; submitButton.textContent = originalButtonText;
submitButton.disabled = false; submitButton.disabled = false;
handleDownloadError(error); handleDownloadError(error);

View File

@ -544,17 +544,21 @@ const DraggableUtils = {
angle: rotateAngle, // Store rotation angle: rotateAngle, // Store rotation
}; };
const pageRotation = page.getRotation(); // Auxiliary variables
let widthAdjusted = page.getWidth();
let heightAdjusted = page.getHeight();
const rotation = page.getRotation();
// Normalize page rotation angle // Normalize page rotation angle
let normalizedAngle = pageRotation.angle % 360; let normalizedAngle = rotation.angle % 360;
if (normalizedAngle < 0) { if (normalizedAngle < 0) {
normalizedAngle += 360; normalizedAngle += 360;
} }
// Determine the viewed page dimensions based on the normalized rotation angle // Adjust page dimensions for rotated pages
let viewedPageWidth = (normalizedAngle === 90 || normalizedAngle === 270) ? page.getHeight() : page.getWidth(); if (normalizedAngle === 90 || normalizedAngle === 270) {
let viewedPageHeight = (normalizedAngle === 90 || normalizedAngle === 270) ? page.getWidth() : page.getHeight(); [widthAdjusted, heightAdjusted] = [heightAdjusted, widthAdjusted];
}
const draggablePositionRelative = { const draggablePositionRelative = {
x: draggablePositionPixels.x / offsetWidth, x: draggablePositionPixels.x / offsetWidth,
@ -565,58 +569,51 @@ const DraggableUtils = {
}; };
const draggablePositionPdf = { const draggablePositionPdf = {
x: draggablePositionRelative.x * viewedPageWidth, x: draggablePositionRelative.x * widthAdjusted,
y: draggablePositionRelative.y * viewedPageHeight, y: draggablePositionRelative.y * heightAdjusted,
width: draggablePositionRelative.width * viewedPageWidth, width: draggablePositionRelative.width * widthAdjusted,
height: draggablePositionRelative.height * viewedPageHeight, height: draggablePositionRelative.height * heightAdjusted,
}; };
// Calculate position based on normalized page rotation // Calculate position based on normalized page rotation
let x = draggablePositionPdf.x; let x = draggablePositionPdf.x;
let y = viewedPageHeight - draggablePositionPdf.y - draggablePositionPdf.height; let y = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height;
let originx = x + draggablePositionPdf.width / 2;
let originy = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height / 2;
if (normalizedAngle === 90) { if (normalizedAngle === 90) {
x = draggablePositionPdf.y; x = draggablePositionPdf.y + draggablePositionPdf.height;
y = draggablePositionPdf.x; y = draggablePositionPdf.x;
} else if (normalizedAngle === 180) { } else if (normalizedAngle === 180) {
x = viewedPageWidth - draggablePositionPdf.x - draggablePositionPdf.width; x = widthAdjusted - draggablePositionPdf.x;
y = draggablePositionPdf.y; y = draggablePositionPdf.y + draggablePositionPdf.height;
} else if (normalizedAngle === 270) { } else if (normalizedAngle === 270) {
x = viewedPageHeight - draggablePositionPdf.y - draggablePositionPdf.height; x = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height;
y = viewedPageWidth - draggablePositionPdf.x - draggablePositionPdf.width; y = widthAdjusted - draggablePositionPdf.x;
} }
// let angle = draggablePositionPixels.angle % 360;
// Convert rotation angle to radians // if (angle < 0) angle += 360; // Normalize to positive angle
let pageRotationInRadians = PDFLib.degreesToRadians(normalizedAngle); const radians = -draggablePositionPixels.angle; // Convert angle to radians
const rotationInRadians = pageRotationInRadians - draggablePositionPixels.angle;
// Calculate the center of the image
const imageCenterX = x + draggablePositionPdf.width / 2;
const imageCenterY = y + draggablePositionPdf.height / 2;
// Apply transformations to rotate the image about its center
page.pushOperators( page.pushOperators(
PDFLib.pushGraphicsState(), PDFLib.pushGraphicsState(),
PDFLib.concatTransformationMatrix(1, 0, 0, 1, imageCenterX, imageCenterY), // Translate to center PDFLib.concatTransformationMatrix(1, 0, 0, 1, originx, originy),
PDFLib.concatTransformationMatrix( PDFLib.concatTransformationMatrix(
Math.cos(rotationInRadians), Math.cos(radians),
Math.sin(rotationInRadians), Math.sin(radians),
-Math.sin(rotationInRadians), -Math.sin(radians),
Math.cos(rotationInRadians), Math.cos(radians),
0, 0,
0 0
), // Rotate ),
PDFLib.concatTransformationMatrix(1, 0, 0, 1, -imageCenterX, -imageCenterY) // Translate back PDFLib.concatTransformationMatrix(1, 0, 0, 1, -1 * originx, -1 * originy)
); );
page.drawImage(pdfImageObject, { page.drawImage(pdfImageObject, {
x: x, x: x,
y: y, y: y,
width: draggablePositionPdf.width, width: draggablePositionPdf.width,
height: draggablePositionPdf.height, height: draggablePositionPdf.height,
}); });
// Restore the graphics state
page.pushOperators(PDFLib.popGraphicsState()); page.pushOperators(PDFLib.popGraphicsState());
} }
} }

View File

@ -170,7 +170,7 @@ function setupFileInput(chooser) {
inputContainer.querySelector('#fileInputText').innerHTML = window.fileInput.loading; inputContainer.querySelector('#fileInputText').innerHTML = window.fileInput.loading;
async function checkZipFile() { async function checkZipFile() {
const hasZipFiles = allFiles.some(file => ((typeof(file.type) != undefined) && zipTypes.includes(file.type))); const hasZipFiles = allFiles.some(file => zipTypes.includes(file.type));
// Only change to extractPDF message if we actually have zip files // Only change to extractPDF message if we actually have zip files
if (hasZipFiles) { if (hasZipFiles) {
@ -196,28 +196,6 @@ function setupFileInput(chooser) {
await checkZipFile(); await checkZipFile();
const uploadLimit = window.stirlingPDF?.uploadLimit ?? 0;
if (uploadLimit > 0) {
const oversizedFiles = allFiles.filter(f => f.size > uploadLimit);
if (oversizedFiles.length > 0) {
const names = oversizedFiles.map(f => `"${f.name}"`).join(', ');
if (names.length === 1) {
alert(`${names} ${window.stirlingPDF.uploadLimitExceededSingular} ${window.stirlingPDF.uploadLimitReadable}.`);
} else {
alert(`${names} ${window.stirlingPDF.uploadLimitExceededPlural} ${window.stirlingPDF.uploadLimitReadable}.`);
}
allFiles = allFiles.filter(f => f.size <= uploadLimit);
const dataTransfer = new DataTransfer();
allFiles.forEach(f => dataTransfer.items.add(f));
input.files = dataTransfer.files;
if (allFiles.length === 0) {
inputContainer.querySelector('#fileInputText').innerHTML = originalText;
return;
}
}
}
allFiles = await Promise.all( allFiles = await Promise.all(
allFiles.map(async (file) => { allFiles.map(async (file) => {
let decryptedFile = file; let decryptedFile = file;

View File

@ -255,12 +255,5 @@ document.addEventListener('DOMContentLoaded', function () {
}); });
}, 500); }, 500);
Array.from(document.querySelectorAll('.feature-group-header')).forEach((header) => {
const parent = header.parentNode;
header.onclick = () => {
expandCollapseToggle(parent);
};
});
showFavoritesOnly(); showFavoritesOnly();
}); });

View File

@ -241,5 +241,10 @@ document.addEventListener('DOMContentLoaded', async function () {
console.error('Material Symbols Rounded font failed to load.'); console.error('Material Symbols Rounded font failed to load.');
}); });
Array.from(document.querySelectorAll('.feature-group-header')).forEach((header) => {
const parent = header.parentNode;
header.onclick = () => {
expandCollapseToggle(parent);
};
});
}); });

View File

@ -57,15 +57,11 @@ function initLanguageSettings() {
function sortLanguageDropdown() { function sortLanguageDropdown() {
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
const dropdownMenu = document.getElementById('languageSelection'); const dropdownMenu = document.querySelector('.dropdown-menu .dropdown-item.lang_dropdown-item').parentElement;
if (dropdownMenu) { if (dropdownMenu) {
const items = Array.from(dropdownMenu.children).filter((child) => child.querySelector('a')); const items = Array.from(dropdownMenu.children).filter((child) => child.matches('a'));
items items
.sort((wrapperA, wrapperB) => { .sort((a, b) => a.dataset.bsLanguageCode.localeCompare(b.dataset.bsLanguageCode))
const a = wrapperA.querySelector('a');
const b = wrapperB.querySelector('a');
return a.dataset.bsLanguageCode.localeCompare(b.dataset.bsLanguageCode);
})
.forEach((node) => dropdownMenu.appendChild(node)); .forEach((node) => dropdownMenu.appendChild(node));
} }
}); });

View File

@ -194,21 +194,21 @@ class PdfActionsManager {
); );
const insertFileButton = document.createElement("button"); const insertFileButton = document.createElement("button");
insertFileButton.classList.add("btn", "btn-primary"); insertFileButton.classList.add("btn", "btn-primary", "pdf-actions_insert-file-button");
moveUp.setAttribute('title', window.translations.addFile); moveUp.setAttribute('title', window.translations.addFile);
insertFileButton.innerHTML = `<span class="material-symbols-rounded">add</span>`; insertFileButton.innerHTML = `<span class="material-symbols-rounded">add</span>`;
insertFileButton.onclick = this.insertFileButtonCallback; insertFileButton.onclick = this.insertFileButtonCallback;
insertFileButtonContainer.appendChild(insertFileButton); insertFileButtonContainer.appendChild(insertFileButton);
const splitFileButton = document.createElement("button"); const splitFileButton = document.createElement("button");
splitFileButton.classList.add("btn", "btn-primary"); splitFileButton.classList.add("btn", "btn-primary", "pdf-actions_split-file-button");
splitFileButton.setAttribute('title', window.translations.split); splitFileButton.setAttribute('title', window.translations.split);
splitFileButton.innerHTML = `<span class="material-symbols-rounded">cut</span>`; splitFileButton.innerHTML = `<span class="material-symbols-rounded">cut</span>`;
splitFileButton.onclick = this.splitFileButtonCallback; splitFileButton.onclick = this.splitFileButtonCallback;
insertFileButtonContainer.appendChild(splitFileButton); insertFileButtonContainer.appendChild(splitFileButton);
const insertFileBlankButton = document.createElement("button"); const insertFileBlankButton = document.createElement("button");
insertFileBlankButton.classList.add("btn", "btn-primary"); insertFileBlankButton.classList.add("btn", "btn-primary", "pdf-actions_insert-file-blank-button");
insertFileBlankButton.setAttribute('title', window.translations.insertPageBreak); insertFileBlankButton.setAttribute('title', window.translations.insertPageBreak);
insertFileBlankButton.innerHTML = `<span class="material-symbols-rounded">insert_page_break</span>`; insertFileBlankButton.innerHTML = `<span class="material-symbols-rounded">insert_page_break</span>`;
insertFileBlankButton.onclick = this.insertFileBlankButtonCallback; insertFileBlankButton.onclick = this.insertFileBlankButtonCallback;
@ -225,7 +225,7 @@ class PdfActionsManager {
); );
const insertFileButtonRight = document.createElement("button"); const insertFileButtonRight = document.createElement("button");
insertFileButtonRight.classList.add("btn", "btn-primary"); insertFileButtonRight.classList.add("btn", "btn-primary", "pdf-actions_insert-file-button");
insertFileButtonRight.innerHTML = `<span class="material-symbols-rounded">add</span>`; insertFileButtonRight.innerHTML = `<span class="material-symbols-rounded">add</span>`;
insertFileButtonRight.onclick = () => addFiles(); insertFileButtonRight.onclick = () => addFiles();
insertFileButtonRightContainer.appendChild(insertFileButtonRight); insertFileButtonRightContainer.appendChild(insertFileButtonRight);

View File

@ -21,10 +21,12 @@ export class DeletePageCommand extends Command {
this.pagesContainer.removeChild(this.element); this.pagesContainer.removeChild(this.element);
if (this.pagesContainer.childElementCount === 0) { if (this.pagesContainer.childElementCount === 0) {
const filenameInput = document.getElementById("filename-input"); const filenameInput = document.getElementById("filename-input");
const filenameParagraph = document.getElementById("filename");
const downloadBtn = document.getElementById("export-button"); const downloadBtn = document.getElementById("export-button");
filenameInput.disabled = true; filenameInput.disabled = true;
filenameInput.value = ""; filenameInput.value = "";
filenameParagraph.innerText = "";
downloadBtn.disabled = true; downloadBtn.disabled = true;
} }
@ -41,10 +43,13 @@ export class DeletePageCommand extends Command {
} }
const filenameInput = document.getElementById("filename-input"); const filenameInput = document.getElementById("filename-input");
const filenameParagraph = document.getElementById("filename");
const downloadBtn = document.getElementById("export-button"); const downloadBtn = document.getElementById("export-button");
filenameInput.disabled = false; filenameInput.disabled = false;
filenameInput.value = this.filenameInputValue; filenameInput.value = this.filenameInputValue;
if (this.filenameParagraph)
filenameParagraph.innerText = this.filenameParagraphText;
downloadBtn.disabled = false; downloadBtn.disabled = false;
} }
@ -58,10 +63,12 @@ export class DeletePageCommand extends Command {
this.pagesContainer.removeChild(this.element); this.pagesContainer.removeChild(this.element);
if (this.pagesContainer.childElementCount === 0) { if (this.pagesContainer.childElementCount === 0) {
const filenameInput = document.getElementById("filename-input"); const filenameInput = document.getElementById("filename-input");
const filenameParagraph = document.getElementById("filename");
const downloadBtn = document.getElementById("export-button"); const downloadBtn = document.getElementById("export-button");
filenameInput.disabled = true; filenameInput.disabled = true;
filenameInput.value = ""; filenameInput.value = "";
filenameParagraph.innerText = "";
downloadBtn.disabled = true; downloadBtn.disabled = true;
} }

View File

@ -61,10 +61,6 @@ document.addEventListener('DOMContentLoaded', function () {
localStorage.setItem('pageViews', pageViews.toString()); localStorage.setItem('pageViews', pageViews.toString());
function shouldShowSurvey() { function shouldShowSurvey() {
if(!window.showSurvey) {
return false;
}
if (localStorage.getItem('dontShowSurvey') === 'true' || localStorage.getItem('surveyTaken') === 'true') { if (localStorage.getItem('dontShowSurvey') === 'true' || localStorage.getItem('surveyTaken') === 'true') {
return false; return false;
} }
@ -116,10 +112,10 @@ function setAsDefault(value) {
function adjustVisibleElements() { function adjustVisibleElements() {
const container = document.querySelector('.recent-features'); const container = document.querySelector('.recent-features');
if(!container) return;
const subElements = Array.from(container.children); const subElements = Array.from(container.children);
let totalWidth = 0; let totalWidth = 0;
const containerWidth = container.offsetWidth;
subElements.forEach((element) => { subElements.forEach((element) => {
totalWidth += 12 * parseFloat(getComputedStyle(document.documentElement).fontSize); totalWidth += 12 * parseFloat(getComputedStyle(document.documentElement).fontSize);

View File

@ -153,32 +153,22 @@ document.getElementById("submitConfigBtn").addEventListener("click", function ()
let apiDocs = {}; let apiDocs = {};
let apiSchemas = {}; let apiSchemas = {};
let operationSettings = {}; let operationSettings = {};
let operationStatus = {};
fetchWithCsrf("v1/api-docs") fetchWithCsrf("v1/api-docs")
.then((response) => response.json()) .then((response) => response.json())
.then((data) => { .then((data) => {
apiDocs = data.paths; apiDocs = data.paths;
apiSchemas = data.components.schemas; apiSchemas = data.components.schemas;
return fetchWithCsrf("api/v1/settings/get-endpoints-status")
.then((response) => response.json())
.then((data) => {
operationStatus = data;
})
.catch((error) => {
console.error("Error:", error);
});
})
.then(() => {
const ignoreOperations = ["/api/v1/pipeline/handleData", "/api/v1/pipeline/operationToIgnore"]; // Add the operations you want to ignore here
let operationsDropdown = document.getElementById("operationsDropdown"); let operationsDropdown = document.getElementById("operationsDropdown");
const ignoreOperations = ["/api/v1/pipeline/handleData", "/api/v1/pipeline/operationToIgnore"]; // Add the operations you want to ignore here
operationsDropdown.innerHTML = ""; operationsDropdown.innerHTML = "";
let operationsByTag = {}; let operationsByTag = {};
// Group operations by tags // Group operations by tags
Object.keys(apiDocs).forEach((operationPath) => { Object.keys(data.paths).forEach((operationPath) => {
let operation = apiDocs[operationPath].post; let operation = data.paths[operationPath].post;
if (!operation || !operation.description) { if (!operation || !operation.description) {
console.log(operationPath); console.log(operationPath);
} }
@ -219,19 +209,13 @@ fetchWithCsrf("v1/api-docs")
} }
operationPathDisplay = operationPathDisplay.replaceAll(" ", "-"); operationPathDisplay = operationPathDisplay.replaceAll(" ", "-");
option.textContent = operationPathDisplay; option.textContent = operationPathDisplay;
if (!(operationPathDisplay in operationStatus)) {
option.value = operationPath; // Keep the value with slashes for querying option.value = operationPath; // Keep the value with slashes for querying
group.appendChild(option); group.appendChild(option);
}
}); });
operationsDropdown.appendChild(group); operationsDropdown.appendChild(group);
} }
}); });
})
.catch((error) => {
console.error("Error:", error);
}); });
document.getElementById('deletePipelineBtn').addEventListener('click', function(event) { document.getElementById('deletePipelineBtn').addEventListener('click', function(event) {

View File

@ -206,6 +206,8 @@ window.addEventListener('load', (e) => {
let redactionsPaletteContainer = document.getElementById('redactionsPaletteContainer'); let redactionsPaletteContainer = document.getElementById('redactionsPaletteContainer');
let applyRedactionBtn = document.getElementById('apply-redaction');
let redactedPagesDetails = { let redactedPagesDetails = {
numbers: new Set(), numbers: new Set(),
ranges: new Set(), ranges: new Set(),
@ -247,6 +249,7 @@ window.addEventListener('load', (e) => {
displayFieldErrorMessages(input, errors); displayFieldErrorMessages(input, errors);
} else { } else {
pageBasedRedactionOverlay.classList.add('d-none'); pageBasedRedactionOverlay.classList.add('d-none');
applyRedactionBtn.removeAttribute('disabled');
input.classList.remove('is-valid'); input.classList.remove('is-valid');
let totalPagesCount = PDFViewerApplication.pdfViewer.pagesCount; let totalPagesCount = PDFViewerApplication.pdfViewer.pagesCount;
@ -317,28 +320,19 @@ window.addEventListener('load', (e) => {
redactionsPaletteContainer.onclick = (e) => redactionsPalette.click(); redactionsPaletteContainer.onclick = (e) => redactionsPalette.click();
function clearSelection() {
if (window.getSelection) {
if (window.getSelection().empty) {
// Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) {
// Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection) {
// IE?
document.selection.empty();
}
}
viewer.onmouseup = (e) => { viewer.onmouseup = (e) => {
if (redactionMode !== RedactionModes.TEXT) return; if (redactionMode !== RedactionModes.TEXT) return;
const containsText = window.getSelection() && window.getSelection().toString() != ''; const containsText = window.getSelection() && window.getSelection().toString() != '';
if(containsText){ applyRedactionBtn.disabled = !containsText;
redactTextSelection(); };
clearSelection();
applyRedactionBtn.onclick = (e) => {
if (redactionMode !== RedactionModes.TEXT) {
applyRedactionBtn.disabled = true;
return;
} }
redactTextSelection();
applyRedactionBtn.disabled = true;
}; };
redactionsPaletteInput.onchange = (e) => { redactionsPaletteInput.onchange = (e) => {
@ -419,28 +413,41 @@ window.addEventListener('load', (e) => {
}; };
initDraw(layer, redactionsContainer); initDraw(layer, redactionsContainer);
enableTextRedactionMode();
function _handleTextSelectionRedactionBtnClick(e) { function _handleTextSelectionRedactionBtnClick(e) {
if (textSelectionRedactionBtn.classList.contains('toggled')) { if (textSelectionRedactionBtn.classList.contains('toggled')) {
resetTextSelection(); resetTextSelection();
} else { } else {
enableTextRedactionMode();
}
}
function enableTextRedactionMode() {
if(!textSelectionRedactionBtn.classList.contains('toggled')){
textSelectionRedactionBtn.classList.add('toggled');
}
resetDrawRedactions(); resetDrawRedactions();
textSelectionRedactionBtn.classList.add('toggled');
redactionMode = RedactionModes.TEXT; redactionMode = RedactionModes.TEXT;
}; const containsText = window.getSelection() && window.getSelection().toString() != '';
applyRedactionBtn.disabled = !containsText;
applyRedactionBtn.classList.remove('d-none');
}
}
function resetTextSelection() { function resetTextSelection() {
textSelectionRedactionBtn.classList.remove('toggled'); textSelectionRedactionBtn.classList.remove('toggled');
redactionMode = RedactionModes.NONE; redactionMode = RedactionModes.NONE;
clearSelection(); clearSelection();
applyRedactionBtn.disabled = true;
applyRedactionBtn.classList.add('d-none');
}
function clearSelection() {
if (window.getSelection) {
if (window.getSelection().empty) {
// Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) {
// Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection) {
// IE?
document.selection.empty();
}
} }
function _handleDrawRedactionBtnClick(e) { function _handleDrawRedactionBtnClick(e) {
@ -784,6 +791,7 @@ window.addEventListener('load', (e) => {
} }
_setRedactionsInput(redactions); _setRedactionsInput(redactions);
applyRedactionBtn.disabled = true;
} }
function _scaleToDisplay(value) { function _scaleToDisplay(value) {

View File

@ -26,6 +26,7 @@ window.addEventListener("keydown", (event) => {
function undoDraw() { function undoDraw() {
const data = signaturePad.toData(); const data = signaturePad.toData();
if (data && data.length > 0) { if (data && data.length > 0) {
const removed = data.pop(); const removed = data.pop();
undoData.push(removed); undoData.push(removed);
@ -34,6 +35,7 @@ function undoDraw() {
} }
function redoDraw() { function redoDraw() {
if (undoData.length > 0) { if (undoData.length > 0) {
const data = signaturePad.toData(); const data = signaturePad.toData();
data.push(undoData.pop()); data.push(undoData.pop());
@ -50,18 +52,24 @@ function addDraggableFromPad() {
} }
function getCroppedCanvasDataUrl(canvas) { function getCroppedCanvasDataUrl(canvas) {
let originalCtx = canvas.getContext('2d', { willReadFrequently: true }); let originalCtx = canvas.getContext('2d');
let originalWidth = canvas.width; let originalWidth = canvas.width;
let originalHeight = canvas.height; let originalHeight = canvas.height;
let imageData = originalCtx.getImageData(0, 0, originalWidth, originalHeight); let imageData = originalCtx.getImageData(0, 0, originalWidth, originalHeight);
let minX = originalWidth + 1, maxX = -1, minY = originalHeight + 1, maxY = -1; let minX = originalWidth + 1,
maxX = -1,
minY = originalHeight + 1,
maxY = -1,
x = 0,
y = 0,
currentPixelColorValueIndex;
for (let y = 0; y < originalHeight; y++) { for (y = 0; y < originalHeight; y++) {
for (let x = 0; x < originalWidth; x++) { for (x = 0; x < originalWidth; x++) {
let idx = (y * originalWidth + x) * 4; currentPixelColorValueIndex = (y * originalWidth + x) * 4;
let alpha = imageData.data[idx + 3]; let currentPixelAlphaValue = imageData.data[currentPixelColorValueIndex + 3];
if (alpha > 0) { if (currentPixelAlphaValue > 0) {
if (minX > x) minX = x; if (minX > x) minX = x;
if (maxX < x) maxX = x; if (maxX < x) maxX = x;
if (minY > y) minY = y; if (minY > y) minY = y;
@ -73,14 +81,14 @@ function getCroppedCanvasDataUrl(canvas) {
let croppedWidth = maxX - minX; let croppedWidth = maxX - minX;
let croppedHeight = maxY - minY; let croppedHeight = maxY - minY;
if (croppedWidth < 0 || croppedHeight < 0) return null; if (croppedWidth < 0 || croppedHeight < 0) return null;
let cutImageData = originalCtx.getImageData(minX, minY, croppedWidth, croppedHeight); let cuttedImageData = originalCtx.getImageData(minX, minY, croppedWidth, croppedHeight);
let croppedCanvas = document.createElement('canvas'); let croppedCanvas = document.createElement('canvas'),
let croppedCtx = croppedCanvas.getContext('2d'); croppedCtx = croppedCanvas.getContext('2d');
croppedCanvas.width = croppedWidth; croppedCanvas.width = croppedWidth;
croppedCanvas.height = croppedHeight; croppedCanvas.height = croppedHeight;
croppedCtx.putImageData(cutImageData, 0, 0); croppedCtx.putImageData(cuttedImageData, 0, 0);
return croppedCanvas.toDataURL(); return croppedCanvas.toDataURL();
} }
@ -106,20 +114,10 @@ function resizeCanvas() {
signaturePad.clear(); signaturePad.clear();
} }
const debounce = (fn, delay = 100) => { new IntersectionObserver((entries, observer) => {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
};
const debouncedResize = debounce(resizeCanvas, 200);
new IntersectionObserver((entries) => {
if (entries.some((entry) => entry.intersectionRatio > 0)) { if (entries.some((entry) => entry.intersectionRatio > 0)) {
debouncedResize(); resizeCanvas();
} }
}).observe(signaturePadCanvas); }).observe(signaturePadCanvas);
new ResizeObserver(debouncedResize).observe(signaturePadCanvas); new ResizeObserver(resizeCanvas).observe(signaturePadCanvas);

View File

@ -1,4 +1,5 @@
import './cookieconsent.umd.js'; import './cookieconsent.umd.js';
import 'https://cdn.jsdelivr.net/gh/orestbida/cookieconsent@3.1.0/dist/cookieconsent.umd.js';
// Enable dark mode // Enable dark mode
document.documentElement.classList.add('cc--darkmode'); document.documentElement.classList.add('cc--darkmode');
@ -30,7 +31,7 @@ CookieConsent.run({
en: { en: {
consentModal: { consentModal: {
title: cookieBannerPopUpTitle, title: cookieBannerPopUpTitle,
description: cookieBannerPopUpDescription1 + "<br>" + cookieBannerPopUpDescription2, description: cookieBannerPopUpDescription,
acceptAllBtn: cookieBannerPopUpAcceptAllBtn, acceptAllBtn: cookieBannerPopUpAcceptAllBtn,
acceptNecessaryBtn: cookieBannerPopUpAcceptNecessaryBtn, acceptNecessaryBtn: cookieBannerPopUpAcceptNecessaryBtn,
showPreferencesBtn: cookieBannerPopUpShowPreferencesBtn, showPreferencesBtn: cookieBannerPopUpShowPreferencesBtn,
@ -45,10 +46,10 @@ CookieConsent.run({
sections: [ sections: [
{ {
title: cookieBannerPreferencesModalSubtitle, title: cookieBannerPreferencesModalSubtitle,
description: cookieBannerPreferencesModalDescription1 + "<br><br>" + cookieBannerPreferencesModalDescription2 + "<b> " + cookieBannerPreferencesModalDescription3 + "</b>" description: cookieBannerPreferencesModalDescription
}, },
{ {
title:cookieBannerPreferencesModalNecessaryTitle1 + "<span class=\"pm__badge\">" + cookieBannerPreferencesModalNecessaryTitle2 + "</span>", title:cookieBannerPreferencesModalNecessaryTitle,
description: cookieBannerPreferencesModalNecessaryDescription, description: cookieBannerPreferencesModalNecessaryDescription,
linkedCategory: "necessary" linkedCategory: "necessary"
}, },

View File

@ -83,19 +83,15 @@
<script th:inline="javascript"> <script th:inline="javascript">
function UpdatePosthogConsent(){ function UpdatePosthogConsent(){
if(typeof(posthog) == "undefined") {
return;
}
window.CookieConsent.acceptedCategory('analytics')? window.CookieConsent.acceptedCategory('analytics')?
posthog.opt_in_capturing() : posthog.opt_out_capturing(); posthog.opt_in_capturing() : posthog.opt_out_capturing();
console.log("Posthog: Opted " + (posthog.has_opted_out_capturing()? "out" : "in"));
} }
const stirlingPDFLabel = /*[[${@StirlingPDFLabel}]]*/ ''; const stirlingPDFLabel = /*[[${@StirlingPDFLabel}]]*/ '';
const analyticsEnabled = /*[[${@analyticsEnabled}]]*/ false; const analyticsEnabled = /*[[${@analyticsEnabled}]]*/ false;
const cookieBannerPopUpTitle = /*[[#{cookieBanner.popUp.title}]]*/ "How we use Cookies"; const cookieBannerPopUpTitle = /*[[#{cookieBanner.popUp.title}]]*/ "How we use Cookies";
const cookieBannerPopUpDescription1 = /*[[#{cookieBanner.popUp.description.1}]]*/ ""; const cookieBannerPopUpDescription = /*[[#{cookieBanner.popUp.description}]]*/ "";
const cookieBannerPopUpDescription2 = /*[[#{cookieBanner.popUp.description.2}]]*/ "";
const cookieBannerPopUpAcceptAllBtn = /*[[#{cookieBanner.popUp.acceptAllBtn}]]*/ ""; const cookieBannerPopUpAcceptAllBtn = /*[[#{cookieBanner.popUp.acceptAllBtn}]]*/ "";
const cookieBannerPopUpAcceptNecessaryBtn = /*[[#{cookieBanner.popUp.acceptNecessaryBtn}]]*/ ""; const cookieBannerPopUpAcceptNecessaryBtn = /*[[#{cookieBanner.popUp.acceptNecessaryBtn}]]*/ "";
const cookieBannerPopUpShowPreferencesBtn = /*[[#{cookieBanner.popUp.showPreferencesBtn}]]*/ ""; const cookieBannerPopUpShowPreferencesBtn = /*[[#{cookieBanner.popUp.showPreferencesBtn}]]*/ "";
@ -106,11 +102,8 @@
const cookieBannerPreferencesModalCloseIconLabel = /*[[#{cookieBanner.preferencesModal.closeIconLabel}]]*/ ""; const cookieBannerPreferencesModalCloseIconLabel = /*[[#{cookieBanner.preferencesModal.closeIconLabel}]]*/ "";
const cookieBannerPreferencesModalServiceCounterLabel = /*[[#{cookieBanner.preferencesModal.serviceCounterLabel}]]*/ ""; const cookieBannerPreferencesModalServiceCounterLabel = /*[[#{cookieBanner.preferencesModal.serviceCounterLabel}]]*/ "";
const cookieBannerPreferencesModalSubtitle = /*[[#{cookieBanner.preferencesModal.subtitle}]]*/ ""; const cookieBannerPreferencesModalSubtitle = /*[[#{cookieBanner.preferencesModal.subtitle}]]*/ "";
const cookieBannerPreferencesModalDescription1 = /*[[#{cookieBanner.preferencesModal.description.1}]]*/ ""; const cookieBannerPreferencesModalDescription = /*[[#{cookieBanner.preferencesModal.description}]]*/ "";
const cookieBannerPreferencesModalDescription2= /*[[#{cookieBanner.preferencesModal.description.2}]]*/ ""; const cookieBannerPreferencesModalNecessaryTitle = /*[[#{cookieBanner.preferencesModal.necessary.title}]]*/ "";
const cookieBannerPreferencesModalDescription3 = /*[[#{cookieBanner.preferencesModal.description.3}]]*/ "";
const cookieBannerPreferencesModalNecessaryTitle1 = /*[[#{cookieBanner.preferencesModal.necessary.title.1}]]*/ "";
const cookieBannerPreferencesModalNecessaryTitle2 = /*[[#{cookieBanner.preferencesModal.necessary.title.2}]]*/ "";
const cookieBannerPreferencesModalNecessaryDescription = /*[[#{cookieBanner.preferencesModal.necessary.description}]]*/ ""; const cookieBannerPreferencesModalNecessaryDescription = /*[[#{cookieBanner.preferencesModal.necessary.description}]]*/ "";
const cookieBannerPreferencesModalAnalyticsTitle = /*[[#{cookieBanner.preferencesModal.analytics.title}]]*/ ""; const cookieBannerPreferencesModalAnalyticsTitle = /*[[#{cookieBanner.preferencesModal.analytics.title}]]*/ "";
const cookieBannerPreferencesModalAnalyticsDescription = /*[[#{cookieBanner.preferencesModal.analytics.description}]]*/ ""; const cookieBannerPreferencesModalAnalyticsDescription = /*[[#{cookieBanner.preferencesModal.analytics.description}]]*/ "";
@ -148,9 +141,8 @@
const baseUrl = window.location.hostname; const baseUrl = window.location.hostname;
posthog.register_once({ posthog.register_once({
'hostname': baseUrl, 'hostname': baseUrl,
'UUID': /*[[${@UUID}]]*/ '', 'UUID': /*[[${@UUID}]]*/ ''
'app_version': /*[[${@appVersion}]]*/ '', })
});
} }
window.addEventListener("cc:onConsent", UpdatePosthogConsent); window.addEventListener("cc:onConsent", UpdatePosthogConsent);
@ -240,10 +232,6 @@
window.stirlingPDF.sessionExpired = /*[[#{session.expired}]]*/ ''; window.stirlingPDF.sessionExpired = /*[[#{session.expired}]]*/ '';
window.stirlingPDF.refreshPage = /*[[#{session.refreshPage}]]*/ 'Refresh Page'; window.stirlingPDF.refreshPage = /*[[#{session.refreshPage}]]*/ 'Refresh Page';
window.stirlingPDF.error = /*[[#{error}]]*/ "Error"; window.stirlingPDF.error = /*[[#{error}]]*/ "Error";
window.stirlingPDF.uploadLimitReadable = /*[[${@uploadLimitService.getReadableUploadLimit()}]]*/ 'Unlimited';
window.stirlingPDF.uploadLimit = /*[[${@uploadLimitService.getUploadLimit()}]]*/ 0;
window.stirlingPDF.uploadLimitExceededSingular = /*[[#{uploadLimitExceededSingular}]]*/ 'is too large. Maximum allowed size is';
window.stirlingPDF.uploadLimitExceededPlural = /*[[#{uploadLimitExceededPlural}]]*/ 'are too large. Maximum allowed size is';
})(); })();
</script> </script>
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script> <script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
@ -292,11 +280,8 @@
</div> </div>
</div> </div>
<div class="selected-files flex-wrap"></div> <div class="selected-files flex-wrap"></div>
<div class="text-muted small mt-0 text-end w-100" th:if="${@uploadLimitService.getUploadLimit() != 0}">
<span th:text="#{uploadLimit}">Maximum file size: </span>
<span th:text="${@uploadLimitService.getReadableUploadLimit()}"></span>
</div>
</div> </div>
<div class="progressBarContainer" style="display: none; position: relative;"> <div class="progressBarContainer" style="display: none; position: relative;">
<div class="progress" style="height: 1rem;"> <div class="progress" style="height: 1rem;">
<div class="progressBar progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" <div class="progressBar progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar"

View File

@ -6,7 +6,7 @@
<div class="d-flex justify-content-center"> <div class="d-flex justify-content-center">
<ul class="list-unstyled d-flex"> <ul class="list-unstyled d-flex">
<li><a class="footer-link px-2" id="licenses" target="_blank" th:href="@{'/licenses'}" th:text="#{licenses.nav}">Licenses</a></li> <li><a class="footer-link px-2" id="licenses" target="_blank" th:href="@{'/licenses'}" th:text="#{licenses.nav}">Licenses</a></li>
<li><a class="footer-link px-2" id="releases" target="_blank" th:href="@{'/releases'}" th:text="#{releases.footer}">Releases</a></li> <li><a class="footer-link px-2" id="licenses" target="_blank" th:href="@{'/releases'}" th:text="#{releases.footer}">Releases</a></li>
<li><a class="footer-link px-2" id="survey" target="_blank" href="https://stirlingpdf.info/s/cm28y3niq000o56dv7liv8wsu" th:text="#{survey.nav}">Survey</a></li> <li><a class="footer-link px-2" id="survey" target="_blank" href="https://stirlingpdf.info/s/cm28y3niq000o56dv7liv8wsu" th:text="#{survey.nav}">Survey</a></li>
<li th:if="${@privacyPolicy != ''}"><a class="footer-link px-2" target="_blank" th:href="${@privacyPolicy}" th:text="#{legal.privacy}">privacyPolicy</a></li> <li th:if="${@privacyPolicy != ''}"><a class="footer-link px-2" target="_blank" th:href="${@privacyPolicy}" th:text="#{legal.privacy}">privacyPolicy</a></li>
<li th:if="${@termsAndConditions != ''}"><a class="footer-link px-2" target="_blank" th:href="${@termsAndConditions}" th:text="#{legal.terms}">termsAndConditions</a></li> <li th:if="${@termsAndConditions != ''}"><a class="footer-link px-2" target="_blank" th:href="${@termsAndConditions}" th:text="#{legal.terms}">termsAndConditions</a></li>

View File

@ -1,6 +1,6 @@
<th:block th:fragment="languageEntry(code, name)"> <th:block th:fragment="languageEntry(code, name)">
<div th:if="${code} == 'en_GB' or ${#lists.isEmpty(@languages) or #lists.contains(@languages, code)}" class="lang-dropdown-item-wrapper"> <div class="lang-dropdown-item-wrapper">
<a <a th:if="${code} == 'en_GB' or ${#lists.isEmpty(@languages) or #lists.contains(@languages, code)}"
class="dropdown-item lang_dropdown-item" href="" th:data-bs-language-code="@{${code}}" th:text="${name}"> class="dropdown-item lang_dropdown-item" href="" th:data-bs-language-code="@{${code}}" th:text="${name}">
</a> </a>
</div> </div>

View File

@ -143,7 +143,7 @@
</a> </a>
<div class="dropdown-menu dropdown-menu-tp" aria-labelledby="languageDropdown"> <div class="dropdown-menu dropdown-menu-tp" aria-labelledby="languageDropdown">
<div class="dropdown-menu-wrapper px-xl-2 px-2"> <div class="dropdown-menu-wrapper px-xl-2 px-2">
<div id="languageSelection" class="scrollable-y lang_dropdown-mw scalable-languages-container"> <div class="scrollable-y lang_dropdown-mw scalable-languages-container">
<th:block th:insert="~{fragments/languages :: langs}"></th:block> <th:block th:insert="~{fragments/languages :: langs}"></th:block>
</div> </div>
</div> </div>

View File

@ -218,8 +218,6 @@
/*<![CDATA[*/ /*<![CDATA[*/
window.analyticsPromptBoolean = /*[[${@analyticsPrompt}]]*/ false; window.analyticsPromptBoolean = /*[[${@analyticsPrompt}]]*/ false;
/*]]>*/ /*]]>*/
window.showSurvey = /*[[${showSurveyFromDocker}]]*/ true
</script> </script>
<script th:src="@{'/js/pages/home.js'}" th:inline="javascript"></script> <script th:src="@{'/js/pages/home.js'}" th:inline="javascript"></script>

View File

@ -143,7 +143,7 @@
</button> </button>
<div class="dropdown-menu" aria-labelledby="languageDropdown"> <div class="dropdown-menu" aria-labelledby="languageDropdown">
<!-- Here's where the fragment will be included --> <!-- Here's where the fragment will be included -->
<div id="languageSelection" class="scrollable-y" > <div class="scrollable-y">
<th:block th:replace="~{fragments/languages :: langs}"></th:block> <th:block th:replace="~{fragments/languages :: langs}"></th:block>
</div> </div>
</div> </div>

Some files were not shown because too many files have changed in this diff Show More