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.format.enabled": true,
"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.saveActions.cleanup": true,
"java.cleanup.actions": [

View File

@ -6,15 +6,13 @@ on:
permissions:
contents: read
issues: write # Required for adding reactions to comments
pull-requests: read # Required for reading PR information
jobs:
check-comment:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: read
issues: read
if: |
github.event.issue.pull_request &&
(
@ -36,8 +34,6 @@ jobs:
pr_number: ${{ steps.get-pr.outputs.pr_number }}
pr_repository: ${{ steps.get-pr-info.outputs.repository }}
pr_ref: ${{ steps.get-pr-info.outputs.ref }}
comment_id: ${{ github.event.comment.id }}
enable_security: ${{ steps.check-security-flag.outputs.enable_security }}
steps:
- name: Harden Runner
@ -45,14 +41,6 @@ jobs:
with:
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
id: get-pr
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
@ -85,46 +73,11 @@ jobs:
core.setOutput('repository', repository);
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:
needs: check-comment
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
steps:
@ -133,13 +86,6 @@ jobs:
with:
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
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
@ -148,20 +94,15 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up JDK
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with:
java-version: "17"
distribution: "temurin"
- name: Run Gradle Command
run: |
if [ "${{ needs.check-comment.outputs.enable_security }}" == "true" ]; then
export DOCKER_ENABLE_SECURITY=true
else
export DOCKER_ENABLE_SECURITY=false
fi
./gradlew clean build
run: ./gradlew clean build
env:
DOCKER_ENABLE_SECURITY: false
STIRLING_PDF_DESKTOP_UI: false
- name: Set up Docker Buildx
@ -186,7 +127,7 @@ jobs:
file: ./Dockerfile
push: true
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
- name: Set up SSH
@ -196,21 +137,9 @@ jobs:
sudo chmod 600 ../private.key
- name: Deploy to VPS
id: deploy
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
cat > docker-compose.yml << EOF
cat > docker-compose.yml << 'EOF'
version: '3.3'
services:
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 }}/logs:/logs:rw
environment:
DOCKER_ENABLE_SECURITY: "${DOCKER_SECURITY}"
SECURITY_ENABLELOGIN: "${LOGIN_SECURITY}"
DOCKER_ENABLE_SECURITY: "false"
SECURITY_ENABLELOGIN: "false"
SYSTEM_DEFAULTLOCALE: en-GB
UI_APPNAME: "Stirling-PDF PR#${{ needs.check-comment.outputs.pr_number }}"
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
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
mkdir -p /stirling/PR-${{ needs.check-comment.outputs.pr_number }}/{data,config,logs}
@ -251,65 +180,19 @@ jobs:
docker-compose up -d
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
if: success()
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
github-token: ${{ steps.generate-token.outputs.token }}
script: |
const { GITHUB_REPOSITORY } = process.env;
const [repoOwner, repoName] = GITHUB_REPOSITORY.split('/');
const prNumber = ${{ needs.check-comment.outputs.pr_number }};
const securityStatus = process.env.security_status || "Security Disabled";
const deploymentUrl = `http://${{ secrets.VPS_HOST }}:${prNumber}`;
const commentBody = `## 🚀 PR Test Deployment\n\n` +
`Your PR has been deployed for testing!\n\n` +
`🔗 **Test URL:** [${deploymentUrl}](${deploymentUrl})\n` +
`${securityStatus}\n\n` +
`🔗 **Test URL:** [${deploymentUrl}](${deploymentUrl})\n\n` +
`This deployment will be automatically cleaned up when the PR is closed.\n\n`;
await github.rest.issues.createComment({

View File

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

View File

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

View File

@ -2,11 +2,6 @@ name: Test Installers Build
on:
workflow_dispatch:
inputs:
test_mode:
description: "Run in test mode (skip release step)"
required: false
default: "false"
release:
types: [created]
@ -63,7 +58,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 21
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with:
java-version: "21"
distribution: "temurin"
@ -151,7 +146,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 21
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with:
java-version: "21"
distribution: "temurin"
@ -175,35 +170,17 @@ jobs:
STIRLING_PDF_DESKTOP_UI: 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
- name: Prepare artifacts
id: prepare
shell: bash
run: |
ls -lah ./build/jpackage/
mkdir ./binaries
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
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-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
mv "./build/jpackage/Stirling-PDF-x86_64-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg"
else
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb"
fi
@ -286,11 +263,9 @@ jobs:
name: ${{ matrix.platform }}signed
path: |
./Stirling-PDF-${{ matrix.platform }}installer.*
./Stirling-PDF-${{ matrix.platform }}x86_64-installer.*
!cosign.*
create-release:
if: github.event_name != 'workflow_dispatch' || github.event.inputs.test_mode != 'true'
needs: [read_versions, sign_verify, sign_verify-portable]
runs-on: ubuntu-latest
permissions:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@
"java.configuration.updateBuildConfiguration": "interactive",
"java.format.enabled": true,
"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",
// (DE) Aktiviert Kommentare im Java-Format.
// (EN) Enables comments in Java formatting.

View File

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

View File

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

View File

@ -5,7 +5,7 @@ plugins {
id "org.springdoc.openapi-gradle-plugin" version "1.9.0"
id "io.swagger.swaggerhub" version "1.3.2"
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 "nebula.lint" version "19.0.3"
id("org.panteleyev.jpackageplugin") version "1.6.1"
@ -29,7 +29,7 @@ ext {
}
group = "stirling.software"
version = "0.45.6"
version = "0.45.1"
java {
// 17 is lowest but we support and recommend 21
@ -116,10 +116,10 @@ jpackage {
input = "build/libs"
destination = "${projectDir}/build/jpackage"
mainJar = "Stirling-PDF-${project.version}.jar"
appName = "Stirling PDF"
appName = "Stirling-PDF"
appVersion = project.version
// appVersion = "2005.45.1"
vendor = "Stirling PDF Inc"
vendor = "Stirling-Software"
appDescription = "Stirling PDF - Your Local PDF Editor"
icon = "src/main/resources/static/favicon.ico"
verbose = true
@ -151,7 +151,7 @@ jpackage {
winShortcutPrompt = true // Lets user choose whether to create shortcuts
winDirChooser = true // Allows users to choose installation directory
winPerUserInstall = false
winMenuGroup = "Stirling PDF"
winMenuGroup = "Stirling Software"
winUpgradeUuid = "2a43ed0c-b8c2-40cf-89e1-751129b87641" // Unique identifier for updates
winHelpUrl = "https://github.com/Stirling-Tools/Stirling-PDF"
winUpdateUrl = "https://github.com/Stirling-Tools/Stirling-PDF/releases"
@ -164,12 +164,14 @@ jpackage {
appVersion = getMacVersion(project.version.toString())
icon = "src/main/resources/static/favicon.icns"
type = "dmg"
macPackageIdentifier = "Stirling PDF"
macPackageName = "Stirling PDF"
macPackageIdentifier = "com.stirling.software.pdf"
macPackageName = "Stirling-PDF_aarch64"
macAppCategory = "public.app-category.productivity"
macSign = false // Enable signing
macAppStore = false // Not targeting App Store initially
//
// //installDir = "Applications"
//
// // Add license and other documentation to DMG
// /*macDmgContent = [
// "README.md",
@ -228,8 +230,6 @@ tasks.register('jpackageMacX64') {
group = 'distribution'
description = 'Packages app for MacOS x86_64'
println "Running jpackageMacX64 task"
if (OperatingSystem.current().isMacOsX()) {
println "MacOS detected. Downloading temp JRE."
dependsOn("downloadTempJre")
@ -249,32 +249,18 @@ tasks.register('jpackageMacX64') {
def result = exec {
commandLine 'jpackage',
'--type', 'dmg',
'--name', 'Stirling PDF (x86_64)',
'--input', 'build/libs',
'--main-jar', "Stirling-PDF-${project.version}.jar",
'--main-class', 'org.springframework.boot.loader.launch.JarLauncher',
'--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"),
'--dest', 'build/jpackage/x86_64',
'--icon', 'src/main/resources/static/favicon.icns',
'--app-version', getMacVersion(project.version.toString()),
'--mac-package-name', 'Stirling PDF (x86_64)',
'--mac-package-identifier', 'Stirling PDF (x86_64)',
'--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'
'--type', 'dmg',
'--name', 'Stirling-PDF-x86_64',
'--input', 'build/libs',
'--main-jar', "Stirling-PDF-${project.version}.jar",
'--main-class', 'stirling.software.SPDF.SPDFApplication',
'--runtime-image', file(jrePath + "/zulu-17.jre/Contents/Home"),
'--dest', 'build/jpackage',
'--icon', 'src/main/resources/static/favicon.icns',
'--app-version', getMacVersion(project.version.toString()),
'--mac-package-name', 'Stirling-PDF',
'--mac-package-identifier', 'com.stirling.software.pdf',
'--mac-app-category', 'public.app-category.productivity'
standardOutput = outputStream
errorOutput = errorStream
ignoreExitValue = true
@ -284,16 +270,16 @@ tasks.register('jpackageMacX64') {
def stderr = errorStream.toString("UTF-8")
if (!stdout.isBlank()) {
println "jpackage stdout:\n$stdout"
println "📝 jpackage stdout:\n$stdout"
}
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') {
group = 'distribution'
@ -336,7 +322,7 @@ tasks.register('cleanTempJre') {
def path = project.ext.tempJrePath
if (path && new File("$path").exists()) {
println "Cleaning up temporary JRE: $path"
println "🧹 Cleaning up temporary JRE: $path"
new File("$path").parentFile.deleteDir()
}
}
@ -379,7 +365,7 @@ spotless {
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")
toggleOffOn()
@ -437,7 +423,7 @@ dependencies {
}
//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")
@ -461,7 +447,7 @@ dependencies {
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion"
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'
// Don't upgrade h2database
@ -505,7 +491,7 @@ dependencies {
// Image metadata extractor
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"
//general PDF
@ -530,14 +516,14 @@ dependencies {
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
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"
// https://mvnrepository.com/artifact/org.commonmark/commonmark
implementation "org.commonmark:commonmark:0.24.0"
implementation "org.commonmark:commonmark-ext-gfm-tables:0.24.0"
// https://mvnrepository.com/artifact/com.bucket4j/bucket4j_jdk17
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'
@ -557,22 +543,12 @@ compileJava {
}
task writeVersion {
def propsFile = file("$projectDir/src/main/resources/version.properties")
def propsDir = propsFile.parentFile
doLast {
if (!propsDir.exists()) {
propsDir.mkdirs()
}
def props = new Properties()
props.setProperty("version", version)
props.store(propsFile.newWriter(), null)
}
def propsFile = file("src/main/resources/version.properties")
def props = new Properties()
props.setProperty("version", version)
props.store(propsFile.newWriter(), null)
}
processResources.dependsOn(writeVersion)
swaggerhubUpload {
// dependsOn = generateOpenApiDocs // Depends on your task generating Swagger docs
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_USERNAME: "admin"
SYSTEM_DATASOURCE_PASSWORD: "stirling"
SHOW_SURVEY: "true"
restart: on-failure:5
db:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -20,8 +20,6 @@ import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.thymeleaf.spring6.SpringTemplateEngine;
import com.posthog.java.shaded.kotlin.text.Regex;
import lombok.extern.slf4j.Slf4j;
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) {
if (endpoint.startsWith("/")) {
endpoint = endpoint.substring(1);

View File

@ -23,29 +23,7 @@ public class EndpointInterceptor implements HandlerInterceptor {
HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
String requestURI = request.getRequestURI();
boolean isEnabled;
// 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) {
if (!endpointConfiguration.isEndpointEnabled(requestURI)) {
response.sendError(HttpServletResponse.SC_FORBIDDEN, "This endpoint is disabled");
return false;
}

View File

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

View File

@ -1,12 +1,10 @@
package stirling.software.SPDF.controller.api;
import java.io.IOException;
import java.util.Map;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
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.RequestBody;
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.tags.Tag;
import stirling.software.SPDF.config.EndpointConfiguration;
import stirling.software.SPDF.config.InstallationPathConfig;
import stirling.software.SPDF.model.ApplicationProperties;
import stirling.software.SPDF.utils.GeneralUtils;
@ -26,13 +23,9 @@ import stirling.software.SPDF.utils.GeneralUtils;
public class SettingsController {
private final ApplicationProperties applicationProperties;
private final EndpointConfiguration endpointConfiguration;
public SettingsController(
ApplicationProperties applicationProperties,
EndpointConfiguration endpointConfiguration) {
public SettingsController(ApplicationProperties applicationProperties) {
this.applicationProperties = applicationProperties;
this.endpointConfiguration = endpointConfiguration;
}
@PostMapping("/update-enable-analytics")
@ -48,10 +41,4 @@ public class SettingsController {
applicationProperties.getSystem().setEnableAnalytics(enabled);
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
boolean isAllowed =
allowAllFiles
|| inputExtensions.contains(
extension.toLowerCase());
|| inputExtensions.contains(extension);
if (!isAllowed) {
log.info(
"Skipping file with unsupported extension: {} ({})",

View File

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

View File

@ -67,9 +67,6 @@ public class HomeWebController {
@GetMapping("/")
public String home(Model model) {
model.addAttribute("currentPage", "home");
String showSurvey = System.getenv("SHOW_SURVEY");
boolean showSurveyValue = showSurvey == null || "true".equalsIgnoreCase(showSurvey);
model.addAttribute("showSurveyFromDocker", showSurveyValue);
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 enableUrlToPDF;
private CustomPaths customPaths = new CustomPaths();
private String fileUploadLimit;
public boolean isAnalyticsEnabled() {
return this.getEnableAnalytics() != null && this.getEnableAnalytics();

View File

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

View File

@ -10,9 +10,6 @@ multiPdfPrompt=اختر ملفات PDF (2+)
multiPdfDropPrompt=حدد (أو اسحب وأفلت) جميع ملفات PDF التي تحتاجها
imgPrompt=اختر صورة
genericSubmit=إرسال
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=تحذير: يمكن أن تستغرق هذه العملية ما يصل إلى دقيقة حسب حجم الملف
pageOrderPrompt=ترتيب الصفحات (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):
pageSelectionPrompt=اختيار الصفحات المخصص (أدخل قائمة بأرقام الصفحات مفصولة بفواصل 1،5،6 أو دوال مثل 2n+1):
@ -93,7 +90,6 @@ legal.terms=شروط الاستخدام
legal.accessibility=إمكانية الوصول
legal.cookie=سياسة ملفات تعريف الارتباط
legal.impressum=بيان الهوية
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=تفعيل الإحصائيات
analytics.disable=تعطيل الإحصائيات
analytics.settings=يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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)
imgPrompt=Şəkil(lər)i Seç
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
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) :
@ -93,7 +90,6 @@ legal.terms=Qaydalar və Şərtlər
legal.accessibility=Əlçatanlıq
legal.cookie=Kuki Siyasəti
legal.impressum=Təəssürat
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analitikanı aktivləşdir
analytics.disable=Analitikanı deaktivləşdir
analytics.settings=Analitikanın parametrlərini config/settings.yml faylından dəyişə bilərsiniz.
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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 файлове, от които се нуждаете
imgPrompt=Изберете изображение(я)
genericSubmit=Подайте
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Предупреждение: Този процес може да отнеме до минута в зависимост от размера на файла
pageOrderPrompt=Персонализиран ред на страниците (Въведете разделен със запетаи списък с номера на страници или функции като 2n+1):
pageSelectionPrompt=Персонализиран избор на страница (Въведете списък с номера на страници 1,5,6, разделени със запетая, или функции като 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Правила и условия
legal.accessibility=Достъпност
legal.cookie=Политика за бисквитки
legal.impressum=Отпечатък
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Активиране на анализа
analytics.disable=Деактивиране на анализа
analytics.settings=Можете да промените настройките за анализ във config/settings.yml файла
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версия
validateSignature.cert.keyUsage=Предназначение на ключа за използване
validateSignature.cert.selfSigned=Самостоятелно подписан
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
imgPrompt=Selecciona Imatge(s)
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
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):
@ -93,7 +90,6 @@ legal.terms=Termes i condicions
legal.accessibility=Accessibilitat
legal.cookie=Política de galetes
legal.impressum=Avís Legal
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilita analítiques
analytics.disable=Desactiva analítiques
analytics.settings=Pots canviar la configuració de les analítiques al fitxer config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versió
validateSignature.cert.keyUsage=Ús de la clau
validateSignature.cert.selfSigned=Autofirmat
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
imgPrompt=Vyberte obrázek(y)
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
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):
@ -93,7 +90,6 @@ legal.terms=Podmínky použití
legal.accessibility=Přístupnost
legal.cookie=Zásady používání cookies
legal.impressum=Tiráž
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Povolit analytiku
analytics.disable=Zakázat analytiku
analytics.settings=Nastavení analytiky můžete změnit v souboru config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Verze
validateSignature.cert.keyUsage=Použití klíče
validateSignature.cert.selfSigned=Podepsaný sám sebou
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
imgPrompt=Vælg Billede(r)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Vilkår og betingelser
legal.accessibility=Adgangsnævnteglen
legal.cookie=Cokiebelejring
legal.impressum=Angivelse af ansvar
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktivér analytics
analytics.disable=Deaktiver analytics
analytics.settings=Du kan ændre analytics-indstillingerne i config/settings.yml-filen
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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)
imgPrompt=Wählen Sie ein Bild
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
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):
@ -93,7 +90,6 @@ legal.terms=AGB
legal.accessibility=Barrierefreiheit
legal.cookie=Cookie-Richtlinie
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analytics aktivieren
analytics.disable=Analytics deaktivieren
analytics.settings=Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Schlüsselverwendung
validateSignature.cert.selfSigned=Selbstsigniert
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 που χρειάζεστε
imgPrompt=Επιλέξτε εικόνα(ες)
genericSubmit=Υποβολή
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Προειδοποίηση: Αυτή η διαδικασία μπορεί να διαρκέσει έως ένα λεπτό ανάλογα με το μέγεθος του αρχείου
pageOrderPrompt=Προσαρμοσμένη σειρά σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα ή συναρτήσεις όπως 2n+1):
pageSelectionPrompt=Προσαρμοσμένη επιλογή σελίδων (Εισάγετε μια λίστα αριθμών σελίδων χωρισμένη με κόμματα 1,5,6 ή συναρτήσεις όπως 2n+1):
@ -93,7 +90,6 @@ legal.terms=Όροι και προϋποθέσεις
legal.accessibility=Προσβασιμότητα
legal.cookie=Πολιτική cookies
legal.impressum=Ταυτότητα
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Ενεργοποίηση analytics
analytics.disable=Απενεργοποίηση analytics
analytics.settings=Μπορείτε να αλλάξετε τις ρυθμίσεις για τα analytics στο αρχείο config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Έκδοση
validateSignature.cert.keyUsage=Χρήση κλειδιού
validateSignature.cert.selfSigned=Αυτο-υπογεγραμμένο
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
imgPrompt=Select Image(s)
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
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) :
@ -1409,8 +1406,7 @@ 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.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.acceptAllBtn=Okay
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
cookieBanner.popUp.showPreferencesBtn=Manage preferences
@ -1421,11 +1417,8 @@ 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.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.necessary.title=Strictly Necessary Cookies <span class=\"pm__badge\">Always Enabled</span>
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
imgPrompt=Select Image(s)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Seleccionar Imagen(es)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Términos y Condiciones
legal.accessibility=Accesibilidad
legal.cookie=Política de Cookies
legal.impressum=Impresión
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilitar analíticas
analytics.disable=Deshabilitar analíticas
analytics.settings=Puede cambiar la configuración de analíticas en el archivo config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versión
validateSignature.cert.keyUsage=Uso de la llave
validateSignature.cert.selfSigned=Autofirmado
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
imgPrompt=Hautatu Irudia(k)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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 مورد نیاز
imgPrompt=انتخاب تصویر(ها)
genericSubmit=ارسال
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=هشدار: این فرآیند ممکن است بسته به اندازه فایل تا یک دقیقه طول بکشد
pageOrderPrompt=ترتیب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید یا از توابعی مانند 2n+1 استفاده کنید):
pageSelectionPrompt=انتخاب صفحات سفارشی (یک لیست از شماره صفحات به صورت جدا شده با کاما وارد کنید مانند 1,5,6 یا از توابعی مانند 2n+1 استفاده کنید):
@ -93,7 +90,6 @@ legal.terms=شرایط و ضوابط
legal.accessibility=دسترسی
legal.cookie=سیاست کوکی‌ها
legal.impressum=توضیحات قانونی
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=فعال کردن تحلیل‌ها
analytics.disable=غیرفعال کردن تحلیل‌ها
analytics.settings=می‌توانید تنظیمات مربوط به تحلیل‌ها را در فایل config/settings.yml تغییر دهید
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=نسخه
validateSignature.cert.keyUsage=کاربرد کلید
validateSignature.cert.selfSigned=با امضای خود
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
imgPrompt=Choisir une image
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.
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) :
@ -93,7 +90,6 @@ legal.terms=Conditions Générales
legal.accessibility=Accessibilité
legal.cookie=Politique des Cookies
legal.impressum=Mentions Légales
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Activer les analyses
analytics.disable=Désactiver les analyses
analytics.settings=Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml
#############
# NAVBAR #
#############
@ -1094,8 +1089,8 @@ imageToPDF.selectText.5=Convertir en PDF séparés
#pdfToImage
pdfToImage.title=PDF en Image
pdfToImage.header=PDF en Image
pdfToImage.title=Image en PDF
pdfToImage.header=Image en PDF
pdfToImage.selectText=Format d'image
pdfToImage.singleOrMultiple=Type de résultat
pdfToImage.single=Une seule grande image
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Usage de la clé
validateSignature.cert.selfSigned=Auto-signé
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
imgPrompt=Roghnaigh Íomhá(í)
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
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):
@ -93,7 +90,6 @@ legal.terms=Téarmaí agus Coinníollacha
legal.accessibility=Inrochtaineacht
legal.cookie=Polasaí Fianán
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Cumasaigh 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
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Leagan
validateSignature.cert.keyUsage=Úsáid Eochrach
validateSignature.cert.selfSigned=Féin-Sínithe
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=आवश्यक सभी पीडीएफ फ़ाइलों को चुनें (या खींच कर छोड़ें)
imgPrompt=छवि(यां) चुनें
genericSubmit=जमा करें
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=चेतावनी: फ़ाइल के आकार के आधार पर यह प्रक्रिया एक मिनट तक ले सकती है
pageOrderPrompt=कस्टम पृष्ठ क्रम (पृष्ठ संख्याओं की अल्पविराम से अलग सूची या 2n+1 जैसे फ़ंक्शन दर्ज करें):
pageSelectionPrompt=कस्टम पृष्ठ चयन (पृष्ठ संख्याओं 1,5,6 या 2n+1 जैसे फ़ंक्शन की अल्पविराम से अलग सूची दर्ज करें):
@ -93,7 +90,6 @@ legal.terms=नियम और शर्तें
legal.accessibility=सुलभता
legal.cookie=कुकी नीति
legal.impressum=इम्प्रेसम
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=विश्लेषण सक्षम करें
analytics.disable=विश्लेषण अक्षम करें
analytics.settings=आप config/settings.yml फ़ाइल में विश्लेषण के लिए सेटिंग्स बदल सकते हैं
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=संस्करण
validateSignature.cert.keyUsage=कुंजी उपयोग
validateSignature.cert.selfSigned=स्व-हस्ताक्षरित
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
imgPrompt=Odaberi sliku (slike)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Uspe sodržine
legal.accessibility=Dostupnost
legal.cookie=Politika kolačića
legal.impressum=Vedro ishoda
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Omogući analitike
analytics.disable=Onemogući analitike
analytics.settings=Možete promijeniti postavke za analitike u datoteci config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Kép kiválasztása
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
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):
@ -93,7 +90,6 @@ legal.terms=Felhasználási feltételek
legal.accessibility=Akadálymentesítési nyilatkozat
legal.cookie=Süti szabályzat
legal.impressum=Impresszum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Analitika engedélyezése
analytics.disable=Analitika letiltása
analytics.settings=Az analitikai beállításokat a config/settings.yml fájlban módosíthatja
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Verzió
validateSignature.cert.keyUsage=Kulcshasználat
validateSignature.cert.selfSigned=Önaláírt
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
imgPrompt=Pilih Gambar
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
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) :
@ -93,7 +90,6 @@ legal.terms=Syarat dan Ketentuan
legal.accessibility=Aksesibilitas
legal.cookie=Kebijakan Kuki
legal.impressum=Impresum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktifkan analitik
analytics.disable=Nonaktifkan analitik
analytics.settings=Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Scegli immagine/i
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
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) :
@ -93,7 +90,6 @@ legal.terms=Termini e Condizioni
legal.accessibility=Accessibilità
legal.cookie=Informativa sui cookie
legal.impressum=Informazioni legali
legal.showCookieBanner=Preferenze sui cookie
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Abilita analytics
analytics.disable=Disabilita analytics
analytics.settings=È possibile modificare le impostazioni per analitycs nel file config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versione
validateSignature.cert.keyUsage=Utilizzo della chiave
validateSignature.cert.selfSigned=Autofirmato
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を選択 (又はドラッグ&ドロップ)
imgPrompt=画像を選択
genericSubmit=送信
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=警告:この処理はファイルサイズによって1分程度かかることがあります
pageOrderPrompt=ページ順序 (ページ番号をカンマ区切り又は2n+1のような関数で入力):
pageSelectionPrompt=カスタムページ選択(ページ番号1、5、6または2n + 1などの関数のコンマ区切りリストを入力します):
@ -93,7 +90,6 @@ legal.terms=利用規約
legal.accessibility=アクセシビリティ
legal.cookie=Cookieポリシー
legal.impressum=著作権利者情報
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=分析を有効にする
analytics.disable=分析を無効にする
analytics.settings=config/settings.ymlファイルでアナリティクスの設定を変更できます。
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=バージョン
validateSignature.cert.keyUsage=キーの使用法
validateSignature.cert.selfSigned=自己署名
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를 선택(또는 끌어다 놓기)하세요
imgPrompt=이미지 선택
genericSubmit=제출
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=경고: 이 과정은 파일 크기에 따라 최대 1분이 소요될 수 있습니다
pageOrderPrompt=사용자 지정 페이지 순서 (쉼표로 구분된 페이지 번호 목록 또는 2n+1과 같은 함수 입력):
pageSelectionPrompt=사용자 지정 페이지 선택 (페이지 번호 1,5,6 또는 2n+1과 같은 함수를 쉼표로 구분하여 목록 입력):
@ -93,7 +90,6 @@ legal.terms=이용약관
legal.accessibility=접근성
legal.cookie=쿠키 정책
legal.impressum=법적 고지
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=분석 활성화
analytics.disable=분석 비활성화
analytics.settings=config/settings.yml 파일에서 분석 설정을 변경할 수 있습니다
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=버전
validateSignature.cert.keyUsage=키 용도
validateSignature.cert.selfSigned=자체 서명
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
imgPrompt=Selecteer afbeelding(en)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Voorwaarden van gebruik
legal.accessibility=Toegankelijkheid
legal.cookie=Cookiesbeleid
legal.impressum=Imprint
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Velg Bilde(r)
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
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):
@ -93,7 +90,6 @@ legal.terms=Vilkår og betingelser
legal.accessibility=Tilgjengelighet
legal.cookie=Informasjonskapsler
legal.impressum=Juridisk informasjon
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktiver analyse
analytics.disable=Deaktiver analyse
analytics.settings=Du kan endre innstillingene for analyse i config/settings.yml filen
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versjon
validateSignature.cert.keyUsage=Nøkkelbruk
validateSignature.cert.selfSigned=Selv-signert
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
imgPrompt=Wybierz obraz(y)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Zasady i Postanowienia
legal.accessibility=Dostępność
legal.cookie=Polityka plików cookie
legal.impressum=Impresja
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Włącz analitykę
analytics.disable=Wyłącz analitykę
analytics.settings=Możesz zmienić ustawienia analityki w pliku config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Wersja
validateSignature.cert.keyUsage=Zastosowanie klucza
validateSignature.cert.selfSigned=Samopodpisany
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:
imgPrompt=Selecione a(s) Imagem(ns)
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
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):
@ -86,14 +83,13 @@ loading=Carregando...
addToDoc=Adicionar ao Documento
reset=Reiniciar
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.terms=Termos e Condições
legal.accessibility=Acessibilidade
legal.cookie=Política de Cookies
legal.impressum=Informações legais
legal.showCookieBanner=Preferências de Cookies
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Habilitar 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
#############
# NAVBAR #
#############
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=Usuários Ativos:
adminUserSettings.disabledUsers=Usuários Desabilitados:
adminUserSettings.totalUsers=Total de Usuários:
adminUserSettings.lastRequest=Última solicitação
adminUserSettings.usage=Ver Utilização
adminUserSettings.usage=View Usage
endpointStatistics.title=Estatísticas de Endpoints
endpointStatistics.header=Estatísticas de Endpoints
endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=Top 10
endpointStatistics.top20=Top 20
endpointStatistics.all=Todos
endpointStatistics.refresh=Atualizar
endpointStatistics.includeHomepage=Incluir Página Inicial ('/')
endpointStatistics.includeLoginPage=Incluir Página de Login ('/login')
endpointStatistics.totalEndpoints=Total de Endpoints
endpointStatistics.totalVisits=Total de Visitas
endpointStatistics.showing=Mostrando
endpointStatistics.selectedVisits=Visitas Selecionadas
endpointStatistics.all=All
endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=Visitas
endpointStatistics.percentage=Percentagem
endpointStatistics.loading=Carregando...
endpointStatistics.failedToLoad=Falha ao carregar dados do Endpoint. Por favor, tente atualizar.
endpointStatistics.visits=Visits
endpointStatistics.percentage=Percentage
endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=Home
endpointStatistics.login=Login
endpointStatistics.top=Top
endpointStatistics.numberOfVisits=Número de Visitas
endpointStatistics.visitsTooltip=Visitas: {0} ({1}% do total)
endpointStatistics.retry=Tentar novamente
endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=Retry
database.title=Importar/Exportar banco de dados
database.header=Importar/Exportar banco de dados
@ -739,10 +734,10 @@ sanitizePDF.title=Higienizar
sanitizePDF.header=Higienizar
sanitizePDF.selectText.1=Remover scripts de JavaScript.
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.5=Remover fontes.
sanitizePDF.selectText.6=Remover metadados de informações do documento.
sanitizePDF.selectText.6=Remove Document Info Metadata
sanitizePDF.submit=Higienizar PDF
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versão
validateSignature.cert.keyUsage=Uso da chave
validateSignature.cert.selfSigned=Autoassinados
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
imgPrompt=Selecione Imagem(ns)
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
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):
@ -93,7 +90,6 @@ legal.terms=Termos e Condições
legal.accessibility=Acessibilidade
legal.cookie=Política de Cookies
legal.impressum=Aviso Legal
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Ativar análises
analytics.disable=Desativar análises
analytics.settings=Pode alterar as definições para análises no ficheiro config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Versão
validateSignature.cert.keyUsage=Utilização da Chave
validateSignature.cert.selfSigned=Auto-Assinado
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
imgPrompt=Selectează imagini
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
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) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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-файлы
imgPrompt=Выберите изображение(я)
genericSubmit=Отправить
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Внимание: Данный процесс может занять до минуты в зависимости от размера файла
pageOrderPrompt=Пользовательский порядок страниц (Введите список номеров страниц через запятую или функции типа 2n+1):
pageSelectionPrompt=Выбор страниц (Введите список номеров страниц через запятую 1,5,6 или функции типа 2n+1):
@ -93,7 +90,6 @@ legal.terms=Условия использования
legal.accessibility=Доступность
legal.cookie=Политика использования файлов cookie
legal.impressum=Выходные данные
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Включить аналитику
analytics.disable=Отключить аналитику
analytics.settings=Вы можете изменить настройки аналитики в файле config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версия
validateSignature.cert.keyUsage=Использование ключа
validateSignature.cert.selfSigned=Самоподписанный
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
imgPrompt=Vyberte obrázok(y)
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
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):
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Izberite sliko(e)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Določila in pogoji
legal.accessibility=Dostopnost
legal.cookie=Pravilnik o piškotkih
legal.impressum=Impresum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Omogoči analitiko
analytics.disable=Onemogoči analitiko
analytics.settings=Nastavitve za analitiko lahko spremenite v datoteki config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Različica
validateSignature.cert.keyUsage=Uporaba ključa
validateSignature.cert.selfSigned=Samopodpisano
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
imgPrompt=Odaberi sliku (slike)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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
imgPrompt=Välj bild(er)
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
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) :
@ -93,7 +90,6 @@ legal.terms=Villkor och betingelser
legal.accessibility=Gängeshållbarhet
legal.cookie=Cockiropfer
legal.impressum=Riksdagens utskott för teknikfrihet
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Aktivera analys
analytics.disable=Avaktivera analys
analytics.settings=Du kan ändra analysinställningarna i config/settings.yml-filen
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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 ทั้งหมดที่คุณต้องการ
imgPrompt=เลือกภาพ
genericSubmit=ส่ง
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=คำเตือน: กระบวนการนี้อาจใช้เวลาสูงสุดหนึ่งนาทีขึ้นอยู่กับขนาดไฟล์
pageOrderPrompt=เรียงลำดับหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาคหรือฟังก์ชัน เช่น 2n+1) :
pageSelectionPrompt=เลือกหน้าตามความต้องการ (ป้อนหมายเลขหน้าแยกด้วยเครื่องหมายจุลภาค เช่น 1,5,6 หรือฟังก์ชัน เช่น 2n+1) :
@ -93,7 +90,6 @@ legal.terms=ข้อกำหนดการใช้งาน
legal.accessibility=ความเข้าถึง
legal.cookie=นโยบายคุกกี้
legal.impressum=ปฏิญญา
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=เปิดการวิเคราะห์
analytics.disable=ปิดการวิเคราะห์
analytics.settings=คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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)
imgPrompt=Resim(leri) seçin
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.
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) :
@ -80,20 +77,19 @@ color=Renk
sponsor=Bağış
info=Bilgi
pro=Pro
page=Sayfa
pages=Sayfalar
loading=Yükleniyor...
addToDoc=Dökümana Ekle
reset=Sıfırla
apply=Uygula
noFileSelected=Hiçbir dosya seçilmedi. Lütfen bir dosya yükleyin.
page=Page
pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
apply=Apply
noFileSelected=No file selected. Please upload one.
legal.privacy=Gizlilik Politikası
legal.terms=Şartlar ve koşullar
legal.accessibility=Erişilebilirlik
legal.cookie=Çerez Politikası
legal.impressum=Hakkımızda
legal.showCookieBanner=Çerez Tercihleri
###############
# Pipeline #
@ -123,22 +119,21 @@ pipelineOptions.validateButton=Doğrula
########################
# ENTERPRISE EDITION #
########################
enterpriseEdition.button=Pro Sürümüne Yükselt
enterpriseEdition.warning=Bu özellik yalnızca Pro kullanıcılarına sunulmaktadır.
enterpriseEdition.yamlAdvert=Stirling PDF Pro, YAML yapılandırma dosyalarını ve diğer SSO özelliklerini destekler.
enterpriseEdition.ssoAdvert=Daha fazla kullanıcı yönetimi özelliği mi arıyorsunuz? Stirling PDF Pro'ya göz atın
enterpriseEdition.button=Upgrade to Pro
enterpriseEdition.warning=This feature is only available to Pro users.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
#################
# Analytics #
#################
analytics.title=Stirling PDFi daha iyi hale getirmek ister misiniz?
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.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.enable=Analizi Etkinleştir
analytics.disable=Analizi Devre Dışı Bırak
analytics.settings=Analiz ayarlarını config/settings.yml dosyasından değiştirebilirsiniz
analytics.title=Do you want make Stirling PDF better?
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=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=Aktif Kullanıcılar:
adminUserSettings.disabledUsers=Devre Dışı Kullanıcılar:
adminUserSettings.totalUsers=Toplam Kullanıcılar:
adminUserSettings.lastRequest=Son İstek
adminUserSettings.usage=Kullanımı Görüntüle
adminUserSettings.usage=View Usage
endpointStatistics.title=Endpoint İstatistikleri
endpointStatistics.header=Endpoint İstatistikleri
endpointStatistics.top10=En Çok Kullanılan 10
endpointStatistics.top20=En Çok Kullanılan 20
endpointStatistics.all=Hepsi
endpointStatistics.refresh=Yenile
endpointStatistics.includeHomepage=Ana Sayfayı Dahil Et ('/')
endpointStatistics.includeLoginPage=Giriş Sayfasını Dahil Et ('/login')
endpointStatistics.totalEndpoints=Toplam Uç Nokta
endpointStatistics.totalVisits=Toplam Ziyaret
endpointStatistics.showing=Gösteriliyor
endpointStatistics.selectedVisits=Seçilen Ziyaretler
endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=Top 10
endpointStatistics.top20=Top 20
endpointStatistics.all=All
endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=Ziyaret
endpointStatistics.percentage=Yüzde
endpointStatistics.loading=Yükleniyor...
endpointStatistics.failedToLoad=Endpoint verileri yüklenemedi. Lütfen sayfayı yenileyin.
endpointStatistics.home=Ana Sayfa
endpointStatistics.login=Giriş
endpointStatistics.top=En Çok
endpointStatistics.numberOfVisits=Ziyaret Sayısı
endpointStatistics.visitsTooltip=Ziyaret: {0} (toplamın %{1}i)
endpointStatistics.retry=Yeniden Dene
endpointStatistics.visits=Visits
endpointStatistics.percentage=Percentage
endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=Home
endpointStatistics.login=Login
endpointStatistics.top=Top
endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=Retry
database.title=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.submit=Yedeklemeyi İçe Aktar
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.fileNullOrEmpty=Dosya yok veya boş olmamalıdır
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.refreshPage=Sayfayı Yenile
session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh 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
viewPdf.tags=görüntüle,oku,açıklama ekle,metin,görüntü
home.setFavorites=Favorilere Ekle
home.hideFavorites=Favorileri Gizle
home.showFavorites=Favorileri Göster
home.legacyHomepage=Eski ana sayfa
home.newHomePage=Yeni ana sayfamızı deneyin!
home.alphabetical=Alfabetik
home.globalPopularity=Global Popülerlik
home.sortBy=Sıralama ölçütü:
home.setFavorites=Set Favourites
home.hideFavorites=Hide Favourites
home.showFavorites=Show Favourites
home.legacyHomepage=Old homepage
home.newHomePage=Try our new homepage!
home.alphabetical=Alphabetical
home.globalPopularity=Global Popularity
home.sortBy=Sort by:
home.multiTool.title=PDF Çoklu Araç
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
MarkdownToPDF.tags=biçimlendirme,web-içeriği,dönüşüm,dönüştür
home.PDFToMarkdown.title=PDF'den Markdown'a
home.PDFToMarkdown.desc=Herhangi bir PDF'yi Markdown formatına dönüştürür
PDFToMarkdown.tags=biçimlendirme,web-içeriği,dönüşüm,dönüştür,md
home.PDFToMarkdown.title=PDF to Markdown
home.PDFToMarkdown.desc=Converts any PDF to Markdown
PDFToMarkdown.tags=markup,web-content,transformation,convert,md
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
@ -519,9 +514,9 @@ home.autoRedact.title=Otomatik Karartma
home.autoRedact.desc=Giriş metnine dayanarak bir PDF'teki metni Otomatik Karartır (Redakte)
autoRedact.tags=Karart,Gizle,karartma,siyah,markör,gizli
home.redact.title=Manuel Sansürleme
home.redact.desc=Seçilen metinler, çizilen şekiller ve/veya belirli sayfalar üzerinden PDF'yi sansürler
redact.tags=Sansürle,Gizle,karart,karartma,işaretleyici,gizli,manuel
home.redact.title=Manual Redaction
home.redact.desc=Redacts a PDF based on selected text, drawn shapes and/or selected page(s)
redact.tags=Redact,Hide,black out,black,marker,hidden,manual
home.tableExtraxt.title=PDF'den CSV'ye
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ı
home.splitPdfByChapters.title=PDF'yi Bölümlere Göre Böl
home.splitPdfByChapters.desc=PDF'yi bölüm yapısına göre birden fazla dosyaya ayırın.
splitPdfByChapters.tags=böl, bölümler, yer imleri, düzenle
home.splitPdfByChapters.title=Split PDF by Chapters
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
splitPdfByChapters.tags=split,chapters,bookmarks,organize
home.validateSignature.title=PDF İmzasını Doğrula
home.validateSignature.desc=PDF belgelerindeki dijital imzaları ve sertifikaları doğrulayın
validateSignature.tags=imza, doğrula, geçerlilik kontrolü, pdf, sertifika, dijital imza, İmzayı Doğrula, Sertifikayı Doğrula
home.validateSignature.title=Validate PDF Signature
home.validateSignature.desc=Verify digital signatures and certificates in PDF documents
validateSignature.tags=signature,verify,validate,pdf,certificate,digital signature,Validate Signature,Validate certificate
#replace-invert-color
replace-color.title=Renk Değiştir-Tersine Çevir
replace-color.header=PDF Renklerini Değiştir veya Tersine Çevir
home.replaceColorPdf.title=Renkleri Değiştir ve Tersine Çevir
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
replaceColorPdf.tags=Renk Değiştir, Sayfa işlemleri, Arka yüz, Sunucu tarafı
replace-color.selectText.1=Renk Değiştir veya Tersine Çevirme Seçenekleri
replace-color.selectText.2=Varsayılan (Yüksek kontrastlı varsayılan renkler)
replace-color.selectText.3=Özel (Kişiselleştirilmiş renkler)
replace-color.selectText.4=Tümü Tersine Çevir (Tüm renkleri tersine çevir)
replace-color.selectText.5=Yüksek kontrastlı renk seçenekleri
replace-color.selectText.6=Siyah arka plan üzerine beyaz metin
replace-color.selectText.7=Beyaz arka plan üzerine siyah metin
replace-color.selectText.8=Siyah arka plan üzerine sarı metin
replace-color.selectText.9=Siyah arka plan üzerine yeşil metin
replace-color.selectText.10=Metin Rengini Seç
replace-color.selectText.11=Arka Plan Rengini Seç
replace-color.submit=Değiştir
replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF
home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
replace-color.selectText.1=Replace or Invert color Options
replace-color.selectText.2=Default(Default high contrast colors)
replace-color.selectText.3=Custom(Customized colors)
replace-color.selectText.4=Full-Invert(Invert all colors)
replace-color.selectText.5=High contrast color options
replace-color.selectText.6=white text on black background
replace-color.selectText.7=Black text on white background
replace-color.selectText.8=Yellow text on black background
replace-color.selectText.9=Green text on black background
replace-color.selectText.10=Choose text Color
replace-color.selectText.11=Choose background Color
replace-color.submit=Replace
@ -602,11 +597,11 @@ login.oauth2invalidRequest=Geçersiz İstek
login.oauth2AccessDenied=Erişim Reddedildi
login.oauth2InvalidTokenResponse=Geçersiz Belirteç Yanıtı
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.alreadyLoggedIn=Zaten şu cihazlarda oturum açılmış:
login.alreadyLoggedIn2=Lütfen bu cihazlardan çıkış yaparak tekrar deneyin.
login.toManySessions=Çok fazla aktif oturumunuz var
login.alreadyLoggedIn=You are already logged in to
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
login.toManySessions=You have too many active sessions
#auto-redact
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
#redact
redact.title=Manuel Sansürleme
redact.header=Manuel Sansürleme
redact.submit=Sansürle
redact.textBasedRedaction=Metin Tabanlı Sansürleme
redact.pageBasedRedaction=Sayfa Tabanlı Sansürleme
redact.convertPDFToImageLabel=PDF'yi Görsel PDF'ye Dönüştür (Kutunun arkasındaki metni kaldırmak için kullanılır)
redact.pageRedactionNumbers.title=Sayfalar
redact.pageRedactionNumbers.placeholder=(örneğin: 1,2,8 veya 4,7,12-16 ya da 2n-1)
redact.redactionColor.title=Sansür Rengi
redact.export=Dışa Aktar
redact.upload=Yükle
redact.boxRedaction=Kutu Çizerek Sansürleme
redact.zoom=Yakınlaştırma
redact.zoomIn=Yakınlaştır
redact.zoomOut=Uzaklaştır
redact.nextPage=Sonraki Sayfa
redact.previousPage=Önceki Sayfa
redact.toggleSidebar=Kenar Çubuğunu Aç/Kapat
redact.showThumbnails=Küçük Resimleri Göster
redact.showDocumentOutline=Belge Anahatlarını Göster (tüm öğeleri genişletmek/daraltmak için çift tıklayın)
redact.showAttatchments=Ekleri Göster
redact.showLayers=Katmanları Göster (tüm katmanları varsayılana döndürmek için çift tıklayın)
redact.colourPicker=Renk Seçici
redact.findCurrentOutlineItem=Geçerli Anahat Öğesini Bul
redact.applyChanges=Değişiklikleri Uygula
redact.title=Manual Redaction
redact.header=Manual Redaction
redact.submit=Redact
redact.textBasedRedaction=Text based Redaction
redact.pageBasedRedaction=Page-based Redaction
redact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box)
redact.pageRedactionNumbers.title=Pages
redact.pageRedactionNumbers.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
redact.redactionColor.title=Redaction Color
redact.export=Export
redact.upload=Upload
redact.boxRedaction=Box draw redaction
redact.zoom=Zoom
redact.zoomIn=Zoom in
redact.zoomOut=Zoom out
redact.nextPage=Next Page
redact.previousPage=Previous Page
redact.toggleSidebar=Toggle Sidebar
redact.showThumbnails=Show Thumbnails
redact.showDocumentOutline=Show Document Outline (double-click to expand/collapse all items)
redact.showAttatchments=Show Attachments
redact.showLayers=Show Layers (double-click to reset all layers to the default state)
redact.colourPicker=Colour Picker
redact.findCurrentOutlineItem=Find current outline item
redact.applyChanges=Apply Changes
#showJS
showJS.title=Javascript'i Göster
@ -739,10 +734,10 @@ sanitizePDF.title=PDF'i Temizle
sanitizePDF.header=PDF dosyasını temizle
sanitizePDF.selectText.1=JavaScript işlemlerini 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.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
@ -821,7 +816,7 @@ scalePages.submit=Gönder
certSign.title=Sertifika İmzalama
certSign.header=Sertifikanızla bir PDF imzalayın (Devam eden iş)
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.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):
@ -867,9 +862,9 @@ compare.highlightColor.2=Vurgu Rengi 2:
compare.document.1=Belge 1
compare.document.2=Belge 2
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.large.file.message=Verilen belgelerden biri veya her ikisi işlenemeyecek kadar büyük
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.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#sign
sign.title=İmzala
@ -879,20 +874,20 @@ sign.draw=İmza Çiz
sign.text=Metin Girişi
sign.clear=Temizle
sign.add=Ekle
sign.saved=Kaydedilmiş İmzalar
sign.save=İmzayı Kaydet
sign.personalSigs=Kişisel İmzalar
sign.sharedSigs=Paylaşılan İmzalar
sign.noSavedSigs=Kayıtlı imza bulunamadı
sign.addToAll=Tüm sayfalara ekle
sign.delete=Sil
sign.first=İlk sayfa
sign.last=Son sayfa
sign.next=Sonraki sayfa
sign.previous=Önceki sayfa
sign.maintainRatio=Oranı korumayı değiştir
sign.undo=Geri Al
sign.redo=Yinele
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
sign.addToAll=Add to all pages
sign.delete=Delete
sign.first=First page
sign.last=Last page
sign.next=Next page
sign.previous=Previous page
sign.maintainRatio=Toggle maintain aspect ratio
sign.undo=Undo
sign.redo=Redo
#repair
repair.title=Onar
@ -1003,7 +998,7 @@ pdfOrganiser.mode.7=İlk Önce Kaldır
pdfOrganiser.mode.8=Sonuncuyu Kaldır
pdfOrganiser.mode.9=İlk ve Sonu Kaldır
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)
@ -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.header=PDF Çoklu Araç
multiTool.uploadPrompts=Dosya Adı
multiTool.selectAll=Tümünü Seç
multiTool.deselectAll=Seçimi Kaldır
multiTool.selectPages=Sayfa Seç
multiTool.selectedPages=Seçilen Sayfalar
multiTool.page=Sayfa
multiTool.deleteSelected=Seçilenleri Sil
multiTool.downloadAll=Dışa Aktar
multiTool.downloadSelected=Seçilenleri Dışa Aktar
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
multiTool.insertPageBreak=Sayfa Sonu Ekle
multiTool.addFile=Dosya Ekle
multiTool.rotateLeft=Sola Döndür
multiTool.rotateRight=Sağa Döndür
multiTool.split=Böl
multiTool.moveLeft=Sola Taşı
multiTool.moveRight=Sağa Taşı
multiTool.delete=Sil
multiTool.dragDropMessage=Sayfa(lar) Seçildi
multiTool.undo=Geri Al
multiTool.redo=Yinele
multiTool.insertPageBreak=Insert Page Break
multiTool.addFile=Add File
multiTool.rotateLeft=Rotate Left
multiTool.rotateRight=Rotate Right
multiTool.split=Split
multiTool.moveLeft=Move Left
multiTool.moveRight=Move Right
multiTool.delete=Delete
multiTool.dragDropMessage=Page(s) Selected
multiTool.undo=Undo
multiTool.redo=Redo
#decrypt
decrypt.passwordPrompt=Bu dosya parola korumalı. Lütfen parolayı girin:
decrypt.cancelled=PDF için işlem iptal edildi: {0}
decrypt.noPassword=Şifrelenmiş PDF için parola girilmedi: {0}
decrypt.invalidPassword=Lütfen doğru parolayla tekrar deneyin.
decrypt.invalidPasswordHeader=PDF için yanlış parola veya desteklenmeyen şifreleme: {0}
decrypt.unexpectedError=Dosya işlenirken bir hata oluştu. Lütfen tekrar deneyin.
decrypt.serverError=Şifre çözme sırasında sunucu hatası: {0}
decrypt.success=Dosyanın şifresi başarıyla çözüldü.
decrypt.passwordPrompt=This file is password-protected. Please enter the password:
decrypt.cancelled=Operation cancelled for PDF: {0}
decrypt.noPassword=No password provided for encrypted PDF: {0}
decrypt.invalidPassword=Please try again with the correct password.
decrypt.invalidPasswordHeader=Incorrect password or unsupported encryption for PDF: {0}
decrypt.unexpectedError=There was an error processing the file. Please try again.
decrypt.serverError=Server error while decrypting: {0}
decrypt.success=File decrypted successfully.
#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
viewPdf.title=View/Edit PDF
@ -1306,21 +1301,21 @@ licenses.license=Lisans
survey.nav=Anket
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.changes=Stirling-PDF son ankete göre değişti! Daha fazla bilgi için blog yazımıza göz atın:
survey.changes2=Bu değişikliklerle birlikte ücretli kurumsal destek ve fon alıyoruz
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
survey.changes2=With these changes we are getting paid business support and funding
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.button=Ankete Katıl
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.2=Bu fırsat sayesinde:
survey.meeting.3=Kurulum, entegrasyonlar veya sorun giderme konularında yardım alabilirsiniz
survey.meeting.4=Performans, uç durumlar ve eksik özellikler hakkında doğrudan geri bildirim sağlayabilirsiniz
survey.meeting.5=Stirling PDFi gerçek dünya kurumsal kullanımı için daha iyi hale getirmemize yardımcı olabilirsiniz
survey.meeting.6=İlgileniyorsanız, ekibimizden doğrudan zaman ayırabilirsiniz. (Yalnızca İngilizce)
survey.meeting.7=Kullanım senaryolarınızı dinlemeyi ve Stirling PDFi daha da iyi hale getirmeyi sabırsızlıkla bekliyoruz!
survey.meeting.notInterested=Kurumsal kullanıcı değilseniz ve/veya görüşmeye ilgi duymuyorsanız
survey.meeting.button=Görüşme Planla
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=This is a chance to:
survey.meeting.3=Get help with deployment, integrations, or troubleshooting
survey.meeting.4=Provide direct feedback on performance, edge cases, and feature gaps
survey.meeting.5=Help us refine Stirling PDF for real-world enterprise use
survey.meeting.6=If you're interested, you can book time with our team directly. (English speaking only)
survey.meeting.7=Looking forward to digging into your use cases and making Stirling PDF even better!
survey.meeting.notInterested=Not a business and/or interested in a meeting?
survey.meeting.button=Book meeting
#error
error.sorry=Sorun için özür dileriz!
@ -1343,90 +1338,64 @@ removeImage.removeImage=Resmi kaldır
removeImage.submit=Resmi kaldır
splitByChapters.title=PDF'yi Bölümlere Ayır
splitByChapters.header=PDF'yi Bölümlere Ayır
splitByChapters.bookmarkLevel=Yer imi Seviyesi
splitByChapters.includeMetadata=Meta Veriyi Dahil Et
splitByChapters.allowDuplicates=Yinelenen Yer İmlerine İzin Ver
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.2=Bölme için kullanılacak yer imi seviyesini seçin (0 en üst seviye, 1 ikinci seviye vb.).
splitByChapters.desc.3=Meta Veriyi Dahil Et: İşaretlenirse, orijinal PDF'nin meta verisi her bir bölünmüş PDF'ye dahil edilir.
splitByChapters.desc.4=Yinelenen Yer İmlerine İzin Ver: İşaretlenirse, aynı sayfadaki birden fazla yer imi ayrı PDF'ler oluşturabilir.
splitByChapters.submit=PDF'yi Ayır
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
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=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
#File Chooser
fileChooser.click=Seç
fileChooser.or=veya
fileChooser.dragAndDrop=Sürükle & Bırak
fileChooser.dragAndDropPDF=PDF dosyasını Sürükle & Bırak
fileChooser.dragAndDropImage=Görsel dosyasını Sürükle & Bırak
fileChooser.hoveredDragAndDrop=Dosya(lar)ı buraya sürükleyip bırakın
fileChooser.extractPDF=PDF Çıkarılıyor...
fileChooser.click=Click
fileChooser.or=or
fileChooser.dragAndDrop=Drag & Drop
fileChooser.dragAndDropPDF=Drag & Drop PDF file
fileChooser.dragAndDropImage=Drag & Drop Image file
fileChooser.hoveredDragAndDrop=Drag & Drop file(s) here
fileChooser.extractPDF=Extracting...
#release notes
releases.footer=Sürümler
releases.title=Sürüm Notları
releases.header=Sürüm Notları
releases.current.version=Mevcut Sürüm
releases.note=Sürüm notları yalnızca İngilizce dilinde mevcuttur
releases.footer=Releases
releases.title=Release Notes
releases.header=Release Notes
releases.current.version=Current Release
releases.note=Release notes are only available in English
#Validate Signature
validateSignature.title=PDF İmzalarını Doğrula
validateSignature.header=Dijital İmzaları Doğrula
validateSignature.selectPDF=İmzalanmış PDF dosyasını seçin
validateSignature.submit=İmzaları Doğrula
validateSignature.results=Doğrulama Sonuçları
validateSignature.status=Durum
validateSignature.signer=İmzalayan
validateSignature.date=Tarih
validateSignature.reason=Gerekçe
validateSignature.location=Konum
validateSignature.noSignatures=Bu belgede dijital imza bulunamadı
validateSignature.status.valid=Geçerli
validateSignature.status.invalid=Geçersiz
validateSignature.chain.invalid=Sertifika zinciri doğrulaması başarısız - imzalayanın kimliği doğrulanamıyor
validateSignature.trust.invalid=Sertifika güvenilir mağazada değil - kaynak doğrulanamıyor
validateSignature.cert.expired=Sertifika süresi dolmuş
validateSignature.cert.revoked=Sertifika iptal edilmiş
validateSignature.signature.info=İmza Bilgisi
validateSignature.signature=İmza
validateSignature.signature.mathValid=İmza matematiksel olarak geçerli, ANCAK:
validateSignature.selectCustomCert=Özel Sertifika Dosyası X.509 (İsteğe Bağlı)
validateSignature.cert.info=Sertifika Detayları
validateSignature.cert.issuer=Veren
validateSignature.cert.subject=Konu
validateSignature.cert.serialNumber=Seri Numarası
validateSignature.cert.validFrom=Geçerlilik Başlangıcı
validateSignature.cert.validUntil=Geçerlilik Bitişi
validateSignature.cert.algorithm=Algoritma
validateSignature.cert.keySize=Anahtar Boyutu
validateSignature.cert.version=Sürüm
validateSignature.cert.keyUsage=Anahtar Kullanımı
validateSignature.cert.selfSigned=Kendi Kendine İmzalı
validateSignature.title=Validate PDF Signatures
validateSignature.header=Validate Digital Signatures
validateSignature.selectPDF=Select signed PDF file
validateSignature.submit=Validate Signatures
validateSignature.results=Validation Results
validateSignature.status=Status
validateSignature.signer=Signer
validateSignature.date=Date
validateSignature.reason=Reason
validateSignature.location=Location
validateSignature.noSignatures=No digital signatures found in this document
validateSignature.status.valid=Valid
validateSignature.status.invalid=Invalid
validateSignature.chain.invalid=Certificate chain validation failed - cannot verify signer's identity
validateSignature.trust.invalid=Certificate not in trust store - source cannot be verified
validateSignature.cert.expired=Certificate has expired
validateSignature.cert.revoked=Certificate has been revoked
validateSignature.signature.info=Signature Information
validateSignature.signature=Signature
validateSignature.signature.mathValid=Signature is mathematically valid BUT:
validateSignature.selectCustomCert=Custom Certificate File X.509 (Optional)
validateSignature.cert.info=Certificate Details
validateSignature.cert.issuer=Issuer
validateSignature.cert.subject=Subject
validateSignature.cert.serialNumber=Serial Number
validateSignature.cert.validFrom=Valid From
validateSignature.cert.validUntil=Valid Until
validateSignature.cert.algorithm=Algorithm
validateSignature.cert.keySize=Key Size
validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
validateSignature.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и
imgPrompt=Оберіть зображення(я)
genericSubmit=Надіслати
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=Увага: Цей процес може тривати до хвилини в залежності від розміру файлу.
pageOrderPrompt=Порядок сторінок (введіть список номерів сторінок через кому):
pageSelectionPrompt=Користувацький вибір сторінки (введіть список номерів сторінок через кому 1,5,6 або функції типу 2n+1) :
@ -93,7 +90,6 @@ legal.terms=Правила та умови
legal.accessibility=Доступність
legal.cookie=Політика використання файлів cookie
legal.impressum=Вихідні дані
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Увімкнути аналітику
analytics.disable=Вимкнути аналітику
analytics.settings=Ви можете змінити параметри аналітики у файлі config/settings.yml
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Версія
validateSignature.cert.keyUsage=Використання ключа
validateSignature.cert.selfSigned=Самоподписанный
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
imgPrompt=Chọn (các) hình ảnh
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
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) :
@ -93,7 +90,6 @@ legal.terms=Terms and Conditions
legal.accessibility=Accessibility
legal.cookie=Cookie Policy
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=Enable analytics
analytics.disable=Disable analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=Version
validateSignature.cert.keyUsage=Key Usage
validateSignature.cert.selfSigned=Self-Signed
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 ཡིག་ཆ་ཚང་མ་འདེམས་པའམ་འཐེན་རོགས།
imgPrompt=པར་རིས་འདེམས་རོགས།
genericSubmit=ཕུལ་བཅོས།
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=ཉེན་བཅོས། བྱ་རིམ་འདི་ཡིག་ཆའི་ཆེ་ཆུང་ལ་གཞིགས་ནས་སྐར་མ་གཅིག་བར་འགོར་སྲིད།
pageOrderPrompt=ཤོག་ངོས་གོ་རིམ་རང་སྒྲིག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ངམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།)
pageSelectionPrompt=ཤོག་ངོས་འདེམས་སྒྲུག(ཤོག་གྲངས་ཀྱི་ཐོ་གཞུང་ 1,5,6 འམ་རྩིས་རྒྱག་བྱེད་ཐབས་ 2n+1 ལྟ་བུ་འཇུག་རོགས།)
@ -93,7 +90,6 @@ legal.terms=བེད་སྤྱོད་ཆ་རྐྱེན།
legal.accessibility=བེད་སྤྱོད་ནུས་པ།
legal.cookie=Cookie སྲིད་བྱུས།
legal.impressum=པར་འདེབས་བདག་དབང་།
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=དཔྱད་ཞིབ་སྤྱོད་འགོ་འཛ
analytics.disable=དཔྱད་ཞིབ་སྤྱོད་མཚམས་འཇོག
analytics.settings=དཔྱད་ཞིབ་ཀྱི་སྒྲིག་འགོད་ config/settings.yml ཡིག་ཆའི་ནང་བསྒྱུར་བཅོས་བྱེད་ཆོག
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=པར་གཞི།
validateSignature.cert.keyUsage=ལྡེ་མིག་བེད་སྤྱོད།
validateSignature.cert.selfSigned=རང་མིང་རྟགས།
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
imgPrompt=选择图像
genericSubmit=提交
uploadLimit=Maximum file size:
uploadLimitExceededSingular=is too large. Maximum allowed size is
uploadLimitExceededPlural=are too large. Maximum allowed size is
processTimeWarning=警告:此过程可能需要多达一分钟,具体时间取决于文件大小
pageOrderPrompt=页面顺序(输入逗号分隔的页码列表或函数):
pageSelectionPrompt=自定义页面选择输入以逗号分隔的页码列表或函数1,5,6、2n+1
@ -93,7 +90,6 @@ legal.terms=服务条款
legal.accessibility=无障碍
legal.cookie=Cookie 政策
legal.impressum=Impressum
legal.showCookieBanner=Cookie Preferences
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=启用分析功能
analytics.disable=禁用分析功能
analytics.settings=您可以在 config/settings.yml 文件中变更分析功能的设定
#############
# NAVBAR #
#############
@ -1404,29 +1399,3 @@ validateSignature.cert.version=版本
validateSignature.cert.keyUsage=密钥用途
validateSignature.cert.selfSigned=自签名
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 檔案
imgPrompt=選擇圖片
genericSubmit=送出
uploadLimit=檔案大小上限:
uploadLimitExceededSingular=太大。允許的最大檔案大小為
uploadLimitExceededPlural=太大。允許的最大檔案大小為
processTimeWarning=警告:此過程可能長達一分鐘,具體取決於檔案大小
pageOrderPrompt=自訂頁面順序(輸入以逗號分隔的頁碼或函式,如 2n+1
pageSelectionPrompt=自訂頁面選擇(輸入以逗號分隔的頁碼 1、5、6 或 2n+1 等函式的清單):
@ -86,14 +83,13 @@ loading=載入中...
addToDoc=新增至文件
reset=重設
apply=套用
noFileSelected=未選擇檔案,請上傳一個。
noFileSelected=No file selected. Please upload one.
legal.privacy=隱私權政策
legal.terms=使用條款
legal.accessibility=無障礙性聲明
legal.cookie=Cookie 政策
legal.impressum=版本說明
legal.showCookieBanner=Cookie 偏好設定
###############
# Pipeline #
@ -139,7 +135,6 @@ analytics.enable=啟用分析功能
analytics.disable=停用分析功能
analytics.settings=您可以在 config/settings.yml 檔案中變更分析功能的設定
#############
# NAVBAR #
#############
@ -237,31 +232,31 @@ adminUserSettings.activeUsers=使用中的使用者:
adminUserSettings.disabledUsers=已停用的使用者:
adminUserSettings.totalUsers=使用者總數:
adminUserSettings.lastRequest=最後請求時間
adminUserSettings.usage=檢視使用情況
adminUserSettings.usage=View Usage
endpointStatistics.title=端點統計
endpointStatistics.header=端點統計
endpointStatistics.top10=前 10 名
endpointStatistics.top20=前 20 名
endpointStatistics.all=全部
endpointStatistics.refresh=重新整理
endpointStatistics.includeHomepage=包含首頁 ('/')
endpointStatistics.includeLoginPage=包含登入頁面 ('/login')
endpointStatistics.totalEndpoints=端點總數
endpointStatistics.totalVisits=總造訪次數
endpointStatistics.showing=顯示中
endpointStatistics.selectedVisits=選取的造訪次數
endpointStatistics.endpoint=端點
endpointStatistics.visits=造訪次數
endpointStatistics.percentage=百分比
endpointStatistics.loading=載入中...
endpointStatistics.failedToLoad=無法載入端點資料。請嘗試重新整理。
endpointStatistics.home=首頁
endpointStatistics.login=登入
endpointStatistics.top=
endpointStatistics.numberOfVisits=造訪次數
endpointStatistics.visitsTooltip=造訪次數:{0}(總數的 {1}%
endpointStatistics.retry=重試
endpointStatistics.title=Endpoint Statistics
endpointStatistics.header=Endpoint Statistics
endpointStatistics.top10=Top 10
endpointStatistics.top20=Top 20
endpointStatistics.all=All
endpointStatistics.refresh=Refresh
endpointStatistics.includeHomepage=Include Homepage ('/')
endpointStatistics.includeLoginPage=Include Login Page ('/login')
endpointStatistics.totalEndpoints=Total Endpoints
endpointStatistics.totalVisits=Total Visits
endpointStatistics.showing=Showing
endpointStatistics.selectedVisits=Selected Visits
endpointStatistics.endpoint=Endpoint
endpointStatistics.visits=Visits
endpointStatistics.percentage=Percentage
endpointStatistics.loading=Loading...
endpointStatistics.failedToLoad=Failed to load endpoint data. Please try refreshing.
endpointStatistics.home=Home
endpointStatistics.login=Login
endpointStatistics.top=Top
endpointStatistics.numberOfVisits=Number of Visits
endpointStatistics.visitsTooltip=Visits: {0} ({1}% of total)
endpointStatistics.retry=Retry
database.title=資料庫匯入/匯出
database.header=資料庫匯入/匯出
@ -683,9 +678,9 @@ MarkdownToPDF.credit=此服務使用 WeasyPrint 進行轉換
#pdf-to-markdown
PDFToMarkdown.title=PDF Markdown
PDFToMarkdown.header=PDF Markdown
PDFToMarkdown.submit=轉換
PDFToMarkdown.title=PDF To Markdown
PDFToMarkdown.header=PDF To Markdown
PDFToMarkdown.submit=Convert
#url-to-pdf
@ -739,10 +734,10 @@ sanitizePDF.title=清理 PDF
sanitizePDF.header=清理 PDF 檔案
sanitizePDF.selectText.1=移除 JavaScript 操作
sanitizePDF.selectText.2=移除內嵌文件
sanitizePDF.selectText.3=移除內嵌 XMP 資訊
sanitizePDF.selectText.3=Remove XMP metadata
sanitizePDF.selectText.4=移除連結
sanitizePDF.selectText.5=移除字型
sanitizePDF.selectText.6=移除文件中繼資料
sanitizePDF.selectText.6=Remove Document Info Metadata
sanitizePDF.submit=清理 PDF
@ -891,7 +886,7 @@ sign.last=最後一頁
sign.next=下一頁
sign.previous=上一頁
sign.maintainRatio=切換維持長寬比
sign.undo=
sign.undo=
sign.redo=重做
#repair
@ -1319,7 +1314,7 @@ survey.meeting.4=針對效能、特殊案例和缺少的功能提供直接意見
survey.meeting.5=協助我們改良 Stirling PDF 以符合實際企業使用需求
survey.meeting.6=如果您有興趣,可以直接預約時間與我們的團隊交流。(僅提供英語服務)
survey.meeting.7=期待深入了解您的使用情境,讓 Stirling PDF 變得更好!
survey.meeting.notInterested=不是企業使用者或對會議不感興趣?
survey.meeting.notInterested=不是企業用戶或對會議不感興趣?
survey.meeting.button=預約會議
#error
@ -1404,29 +1399,3 @@ validateSignature.cert.version=版本
validateSignature.cert.keyUsage=金鑰用途
validateSignature.cert.selfSigned=自我簽署
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:
weasyprint: '' #Defaults to /opt/venv/bin/weasyprint
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:
appName: '' # application's visible name

View File

@ -128,7 +128,7 @@
},
{
"moduleName": "com.fathzer:javaluator",
"moduleVersion": "3.0.6",
"moduleVersion": "3.0.5",
"moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
},
@ -526,7 +526,7 @@
{
"moduleName": "commons-io:commons-io",
"moduleUrl": "https://commons.apache.org/proper/commons-io/",
"moduleVersion": "2.19.0",
"moduleVersion": "2.18.0",
"moduleLicense": "Apache-2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt"
},
@ -553,7 +553,7 @@
{
"moduleName": "io.micrometer:micrometer-core",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.14.6",
"moduleVersion": "1.14.5",
"moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
},
@ -1673,7 +1673,7 @@
{
"moduleName": "org.springframework:spring-jdbc",
"moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.2.6",
"moduleVersion": "6.2.5",
"moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
},
@ -1701,7 +1701,7 @@
{
"moduleName": "org.springframework:spring-webmvc",
"moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.2.6",
"moduleVersion": "6.2.5",
"moduleLicense": "Apache License, Version 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;
transition: width 0.1s;
animation: end-drop-expand 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
margin-left:16px;
border-radius: 8px;
}
.drag-manager_endpoint svg {
width: 50px;
height: 50px;
display: block;
position: absolute;
left: 50%;
top: 50%;
translate: -50% -50%;
}
.drag-manager_endpoint.drag-manager_draghover {

View File

@ -85,14 +85,18 @@ label {
flex-direction: column;
padding: 1rem;
border-radius: 25px;
overflow-y: clip;
overflow-x: auto;
min-height: 275px;
margin: 0 0 30px 0;
}
#pages-container {
margin: 0 auto;
width: 95%;
font-size: 0;
gap: 0px;
display: flex;
flex-wrap: wrap;
margin-left: -15px;
margin-right: -15px;
}
/* width */
@ -117,20 +121,18 @@ label {
background: var(--scroll-bar-thumb-hover);
}
.page-container {
display: inline-block;
list-style-type: none;
width: 250px;
height: 250px;
line-height: 50px;
margin: 15px 25px;
box-sizing: border-box;
text-align: center;
display: flex;
align-items: center;
flex-direction: column-reverse;
aspect-ratio: 1;
text-align: center;
position: relative;
user-select: none;
transition: width 1s linear;
margin-top: 16px;
margin-bottom: 16px;
}
.page-container.split-before {
@ -194,8 +196,9 @@ label {
}
.page-container img {
max-width: calc(100% - 15px);
/* max-width: calc(100% - 15px); */
max-height: calc(100% - 15px);
max-width: 237px;
display: block;
position: absolute;
left: 50%;
@ -214,7 +217,6 @@ label {
position: absolute;
top: 5px;
left: 5px;
line-height: normal;
color: var(--md-sys-color-on-secondary);
background-color: rgba(162, 201, 255, 0.8);
padding: 6px 8px;
@ -292,13 +294,6 @@ label {
.checkbox-label {
font-size: medium;
}
.btn {
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 */
}
.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 {
border-right: 2px solid var(--md-nav-color-on-seperator);
}
@ -115,8 +99,8 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
/* Responsive adjustments */
@media (min-width: 1200px){
.lang-dropdown-item-wrapper .dropdown-item {
min-width: 200px
.lang_dropdown-mw{
min-width: 800px
}
}
@ -124,9 +108,7 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
.scalable-languages-container {
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) {
border: 0px
}
@ -136,23 +118,15 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
.scalable-languages-container {
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) {
border: 0px
}
}
}
@media (min-width: 901px) {
.scalable-languages-container {
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) {
border: 0px
}
@ -241,13 +215,13 @@ span.icon-text::after {
.dropdown-menu.scrollable-y {
overflow-y: scroll;
max-height: 360px;
height: 360px;
}
/* Dropdown Scrollbar*/
.scrollable-y {
overflow-y: scroll;
max-height: 190px;
height: 190px;
overscroll-behavior: contain;
}

View File

@ -1,12 +1,8 @@
.pdf-actions_button-container {
z-index: 4;
display: flex;
opacity: 0;
transition: opacity 0.1s linear;
position: absolute !important;
bottom: 0px;
left: 50%;
transform: translate(-50%, 0%);
}
.pdf-actions_container:hover .pdf-actions_button-container {
@ -46,43 +42,17 @@
/* "insert pdf" buttons that appear on the right when hover */
.pdf-actions_insert-file-button-container {
display:flex;
flex-direction: column;
gap: 10px;
translate: 0 -50%;
width: 80px;
height: 100%;
width: 100px;
padding-left: 30px;
padding-right:30px;
justify-content: center;
z-index: 3;
opacity: 0;
transition: opacity 0.4s;
transition: opacity 0.2s;
}
.pdf-actions_insert-file-button-container.left {
left: -50px;
}
.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 button .material-symbols-rounded {
vertical-align: top;
}
.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;
}
.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 {
opacity: 1;
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 {
position: absolute;
top: 5px;
@ -115,3 +144,12 @@ html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-butto
.hidden {
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;
}
#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 {
cursor: pointer;
background-color: rgba(6, 114, 197, 0.82) !important;
@ -180,6 +200,15 @@ html {
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] {
flex: 1;
padding: 1px;

View File

@ -43,20 +43,6 @@
firstErrorOccurred = false;
const url = this.action;
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 submitButton = document.getElementById('submitBtn');
const showGameBtn = document.getElementById('show-game-btn');
@ -132,9 +118,7 @@
}
} catch (error) {
clearTimeout(timeoutId);
if(showGameBtn){
showGameBtn.style.display = 'none';
}
showGameBtn.style.display = 'none';
submitButton.textContent = originalButtonText;
submitButton.disabled = false;
handleDownloadError(error);

View File

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

View File

@ -170,7 +170,7 @@ function setupFileInput(chooser) {
inputContainer.querySelector('#fileInputText').innerHTML = window.fileInput.loading;
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
if (hasZipFiles) {
@ -196,28 +196,6 @@ function setupFileInput(chooser) {
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.map(async (file) => {
let decryptedFile = file;

View File

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

View File

@ -241,5 +241,10 @@ document.addEventListener('DOMContentLoaded', async function () {
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() {
document.addEventListener('DOMContentLoaded', function () {
const dropdownMenu = document.getElementById('languageSelection');
const dropdownMenu = document.querySelector('.dropdown-menu .dropdown-item.lang_dropdown-item').parentElement;
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
.sort((wrapperA, wrapperB) => {
const a = wrapperA.querySelector('a');
const b = wrapperB.querySelector('a');
return a.dataset.bsLanguageCode.localeCompare(b.dataset.bsLanguageCode);
})
.sort((a, b) => a.dataset.bsLanguageCode.localeCompare(b.dataset.bsLanguageCode))
.forEach((node) => dropdownMenu.appendChild(node));
}
});

View File

@ -194,21 +194,21 @@ class PdfActionsManager {
);
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);
insertFileButton.innerHTML = `<span class="material-symbols-rounded">add</span>`;
insertFileButton.onclick = this.insertFileButtonCallback;
insertFileButtonContainer.appendChild(insertFileButton);
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.innerHTML = `<span class="material-symbols-rounded">cut</span>`;
splitFileButton.onclick = this.splitFileButtonCallback;
insertFileButtonContainer.appendChild(splitFileButton);
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.innerHTML = `<span class="material-symbols-rounded">insert_page_break</span>`;
insertFileBlankButton.onclick = this.insertFileBlankButtonCallback;
@ -225,7 +225,7 @@ class PdfActionsManager {
);
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.onclick = () => addFiles();
insertFileButtonRightContainer.appendChild(insertFileButtonRight);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -83,19 +83,15 @@
<script th:inline="javascript">
function UpdatePosthogConsent(){
if(typeof(posthog) == "undefined") {
return;
}
window.CookieConsent.acceptedCategory('analytics')?
posthog.opt_in_capturing() : posthog.opt_out_capturing();
console.log("Posthog: Opted " + (posthog.has_opted_out_capturing()? "out" : "in"));
}
const stirlingPDFLabel = /*[[${@StirlingPDFLabel}]]*/ '';
const analyticsEnabled = /*[[${@analyticsEnabled}]]*/ false;
const cookieBannerPopUpTitle = /*[[#{cookieBanner.popUp.title}]]*/ "How we use Cookies";
const cookieBannerPopUpDescription1 = /*[[#{cookieBanner.popUp.description.1}]]*/ "";
const cookieBannerPopUpDescription2 = /*[[#{cookieBanner.popUp.description.2}]]*/ "";
const cookieBannerPopUpDescription = /*[[#{cookieBanner.popUp.description}]]*/ "";
const cookieBannerPopUpAcceptAllBtn = /*[[#{cookieBanner.popUp.acceptAllBtn}]]*/ "";
const cookieBannerPopUpAcceptNecessaryBtn = /*[[#{cookieBanner.popUp.acceptNecessaryBtn}]]*/ "";
const cookieBannerPopUpShowPreferencesBtn = /*[[#{cookieBanner.popUp.showPreferencesBtn}]]*/ "";
@ -106,11 +102,8 @@
const cookieBannerPreferencesModalCloseIconLabel = /*[[#{cookieBanner.preferencesModal.closeIconLabel}]]*/ "";
const cookieBannerPreferencesModalServiceCounterLabel = /*[[#{cookieBanner.preferencesModal.serviceCounterLabel}]]*/ "";
const cookieBannerPreferencesModalSubtitle = /*[[#{cookieBanner.preferencesModal.subtitle}]]*/ "";
const cookieBannerPreferencesModalDescription1 = /*[[#{cookieBanner.preferencesModal.description.1}]]*/ "";
const cookieBannerPreferencesModalDescription2= /*[[#{cookieBanner.preferencesModal.description.2}]]*/ "";
const cookieBannerPreferencesModalDescription3 = /*[[#{cookieBanner.preferencesModal.description.3}]]*/ "";
const cookieBannerPreferencesModalNecessaryTitle1 = /*[[#{cookieBanner.preferencesModal.necessary.title.1}]]*/ "";
const cookieBannerPreferencesModalNecessaryTitle2 = /*[[#{cookieBanner.preferencesModal.necessary.title.2}]]*/ "";
const cookieBannerPreferencesModalDescription = /*[[#{cookieBanner.preferencesModal.description}]]*/ "";
const cookieBannerPreferencesModalNecessaryTitle = /*[[#{cookieBanner.preferencesModal.necessary.title}]]*/ "";
const cookieBannerPreferencesModalNecessaryDescription = /*[[#{cookieBanner.preferencesModal.necessary.description}]]*/ "";
const cookieBannerPreferencesModalAnalyticsTitle = /*[[#{cookieBanner.preferencesModal.analytics.title}]]*/ "";
const cookieBannerPreferencesModalAnalyticsDescription = /*[[#{cookieBanner.preferencesModal.analytics.description}]]*/ "";
@ -148,9 +141,8 @@
const baseUrl = window.location.hostname;
posthog.register_once({
'hostname': baseUrl,
'UUID': /*[[${@UUID}]]*/ '',
'app_version': /*[[${@appVersion}]]*/ '',
});
'UUID': /*[[${@UUID}]]*/ ''
})
}
window.addEventListener("cc:onConsent", UpdatePosthogConsent);
@ -240,10 +232,6 @@
window.stirlingPDF.sessionExpired = /*[[#{session.expired}]]*/ '';
window.stirlingPDF.refreshPage = /*[[#{session.refreshPage}]]*/ 'Refresh Page';
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 type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
@ -292,11 +280,8 @@
</div>
</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 class="progressBarContainer" style="display: none; position: relative;">
<div class="progress" style="height: 1rem;">
<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">
<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="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 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>

View File

@ -1,6 +1,6 @@
<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">
<a
<div class="lang-dropdown-item-wrapper">
<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}">
</a>
</div>

View File

@ -143,7 +143,7 @@
</a>
<div class="dropdown-menu dropdown-menu-tp" aria-labelledby="languageDropdown">
<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>
</div>
</div>

View File

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

View File

@ -143,7 +143,7 @@
</button>
<div class="dropdown-menu" aria-labelledby="languageDropdown">
<!-- 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>
</div>
</div>

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