mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-07-27 15:45:21 +00:00
commit
088466b742
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@ -1,2 +1,2 @@
|
|||||||
# All PRs to V1 must be approved by Frooodle
|
# All PRs to V1 must be approved by Frooodle
|
||||||
* @Frooodle @reecebrowne @Ludy87 @DarioGii @ConnorYoh
|
* @Frooodle @reecebrowne @Ludy87 @DarioGii @ConnorYoh @EthanHealy01
|
||||||
|
29
.github/config/.files.yaml
vendored
Normal file
29
.github/config/.files.yaml
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
build: &build
|
||||||
|
- build.gradle
|
||||||
|
- app/(common|core|proprietary)/build.gradle
|
||||||
|
|
||||||
|
app: &app
|
||||||
|
- app/(common|core|proprietary)/src/main/java/**
|
||||||
|
|
||||||
|
openapi: &openapi
|
||||||
|
- build.gradle
|
||||||
|
- app/(common|core|proprietary)/build.gradle
|
||||||
|
- app/(common|core|proprietary)/src/main/java/**
|
||||||
|
|
||||||
|
project: &project
|
||||||
|
- app/(common|core|proprietary)/src/(main|test)/java/**
|
||||||
|
- app/(common|core|proprietary)/build.gradle
|
||||||
|
- 'app/(common|core|proprietary)/src/(main|test)/resources/**/!(messages_*.properties|*.md)*'
|
||||||
|
- exampleYmlFiles/**
|
||||||
|
- gradle/**
|
||||||
|
- libs/**
|
||||||
|
- testing/**
|
||||||
|
- build.gradle
|
||||||
|
- Dockerfile
|
||||||
|
- Dockerfile.fat
|
||||||
|
- Dockerfile.ultra-lite
|
||||||
|
- gradle.properties
|
||||||
|
- gradlew
|
||||||
|
- gradlew.bat
|
||||||
|
- launch4jConfig.xml
|
||||||
|
- settings.gradle
|
3
.github/config/repo_devs.json
vendored
3
.github/config/repo_devs.json
vendored
@ -7,6 +7,7 @@
|
|||||||
"sbplat",
|
"sbplat",
|
||||||
"reecebrowne",
|
"reecebrowne",
|
||||||
"DarioGii",
|
"DarioGii",
|
||||||
"ConnorYoh"
|
"ConnorYoh",
|
||||||
|
"EthanHealy01"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
8
.github/labeler-config-srvaroa.yml
vendored
8
.github/labeler-config-srvaroa.yml
vendored
@ -76,8 +76,8 @@ labels:
|
|||||||
- 'app/core/src/main/resources/settings.yml.template'
|
- 'app/core/src/main/resources/settings.yml.template'
|
||||||
- 'app/core/src/main/resources/application.properties'
|
- 'app/core/src/main/resources/application.properties'
|
||||||
- 'app/core/src/main/resources/banner.txt'
|
- 'app/core/src/main/resources/banner.txt'
|
||||||
- 'scripts/png_to_webp.py'
|
- 'app/core/src/main/resources/static/python/png_to_webp.py'
|
||||||
- 'split_photos.py'
|
- 'app/core/src/main/resources/static/python/split_photos.py'
|
||||||
- 'application.properties'
|
- 'application.properties'
|
||||||
|
|
||||||
- label: 'Security'
|
- label: 'Security'
|
||||||
@ -95,8 +95,8 @@ labels:
|
|||||||
- 'app/core/src/main/java/stirling/software/SPDF/model/api/.*'
|
- 'app/core/src/main/java/stirling/software/SPDF/model/api/.*'
|
||||||
- 'app/core/src/main/java/stirling/software/SPDF/service/ApiDocService.java'
|
- 'app/core/src/main/java/stirling/software/SPDF/service/ApiDocService.java'
|
||||||
- 'app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*'
|
- 'app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*'
|
||||||
- 'scripts/png_to_webp.py'
|
- 'app/core/src/main/resources/static/python/png_to_webp.py'
|
||||||
- 'split_photos.py'
|
- 'app/core/src/main/resources/static/python/split_photos.py'
|
||||||
- '.github/workflows/swagger.yml'
|
- '.github/workflows/swagger.yml'
|
||||||
|
|
||||||
- label: 'Documentation'
|
- label: 'Documentation'
|
||||||
|
134
.github/workflows/build.yml
vendored
134
.github/workflows/build.yml
vendored
@ -1,50 +1,62 @@
|
|||||||
name: Build repo
|
name: Build and Test Workflow
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: ["main", "V2", "V2-gha"]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: ["main", "V2", "V2-gha"]
|
branches: ["main", "V2", "V2-gha"]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
files-changed:
|
||||||
|
name: detect what files changed
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 3
|
||||||
|
outputs:
|
||||||
|
build: ${{ steps.changes.outputs.build }}
|
||||||
|
app: ${{ steps.changes.outputs.app }}
|
||||||
|
project: ${{ steps.changes.outputs.project }}
|
||||||
|
openapi: ${{ steps.changes.outputs.openapi }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Check for file changes
|
||||||
|
uses: dorny/paths-filter@v3.0.2
|
||||||
|
id: changes
|
||||||
|
with:
|
||||||
|
filters: .github/config/.files.yaml
|
||||||
|
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
actions: read
|
actions: read
|
||||||
security-events: write
|
security-events: write
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
jdk-version: [17, 21]
|
jdk-version: [17, 21]
|
||||||
spring-security: [true, false]
|
spring-security: [true, false]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Harden Runner
|
- name: Harden Runner
|
||||||
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
|
uses: step-security/harden-runner@v2.12.2
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Set up JDK ${{ matrix.jdk-version }}
|
- name: Set up JDK ${{ matrix.jdk-version }}
|
||||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
uses: actions/setup-java@v4.7.1
|
||||||
with:
|
with:
|
||||||
java-version: ${{ matrix.jdk-version }}
|
java-version: ${{ matrix.jdk-version }}
|
||||||
distribution: "temurin"
|
distribution: "temurin"
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@v4.4.1
|
||||||
|
with:
|
||||||
|
gradle-version: 8.14
|
||||||
- name: Build with Gradle and spring security ${{ matrix.spring-security }}
|
- name: Build with Gradle and spring security ${{ matrix.spring-security }}
|
||||||
run: ./gradlew clean build
|
run: ./gradlew clean build
|
||||||
env:
|
env:
|
||||||
DISABLE_ADDITIONAL_FEATURES: ${{ matrix.spring-security }}
|
DISABLE_ADDITIONAL_FEATURES: ${{ matrix.spring-security }}
|
||||||
|
|
||||||
- name: Check Test Reports Exist
|
- name: Check Test Reports Exist
|
||||||
id: check-reports
|
|
||||||
if: always()
|
if: always()
|
||||||
run: |
|
run: |
|
||||||
declare -a dirs=(
|
declare -a dirs=(
|
||||||
@ -55,61 +67,45 @@ jobs:
|
|||||||
"app/proprietary/build/reports/tests/"
|
"app/proprietary/build/reports/tests/"
|
||||||
"app/proprietary/build/test-results/"
|
"app/proprietary/build/test-results/"
|
||||||
)
|
)
|
||||||
missing_reports=()
|
|
||||||
for dir in "${dirs[@]}"; do
|
for dir in "${dirs[@]}"; do
|
||||||
if [ ! -d "$dir" ]; then
|
if [ ! -d "$dir" ]; then
|
||||||
missing_reports+=("$dir")
|
echo "Missing $dir"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ ${#missing_reports[@]} -gt 0 ]; then
|
|
||||||
echo "ERROR: The following required test report directories are missing:"
|
|
||||||
printf '%s\n' "${missing_reports[@]}"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "All required test report directories are present"
|
|
||||||
|
|
||||||
- name: Upload Test Reports
|
- name: Upload Test Reports
|
||||||
if: always()
|
if: always()
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
uses: actions/upload-artifact@v4.6.2
|
||||||
with:
|
with:
|
||||||
name: test-reports-jdk-${{ matrix.jdk-version }}-spring-security-${{ matrix.spring-security }}
|
name: test-reports-jdk-${{ matrix.jdk-version }}-spring-security-${{ matrix.spring-security }}
|
||||||
path: |
|
path: |
|
||||||
app/core/build/reports/tests/
|
app/**/build/reports/tests/
|
||||||
app/core/build/test-results/
|
app/**/build/test-results/
|
||||||
app/core/build/reports/problems/
|
app/**/build/reports/problems/
|
||||||
app/common/build/reports/tests/
|
|
||||||
app/common/build/test-results/
|
|
||||||
app/common/build/reports/problems/
|
|
||||||
app/proprietary/build/reports/tests/
|
|
||||||
app/proprietary/build/test-results/
|
|
||||||
app/proprietary/build/reports/problems/
|
|
||||||
build/reports/problems/
|
build/reports/problems/
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
if-no-files-found: warn
|
if-no-files-found: warn
|
||||||
|
|
||||||
check-generateOpenApiDocs:
|
check-generateOpenApiDocs:
|
||||||
|
if: needs.files-changed.outputs.openapi == 'true'
|
||||||
|
needs: [files-changed]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Harden Runner
|
- name: Harden Runner
|
||||||
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
|
uses: step-security/harden-runner@v2.12.2
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
uses: actions/setup-java@v4.7.1
|
||||||
with:
|
with:
|
||||||
java-version: "17"
|
java-version: "17"
|
||||||
distribution: "temurin"
|
distribution: "temurin"
|
||||||
|
- uses: gradle/actions/setup-gradle@v4.4.1
|
||||||
- uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
|
||||||
|
|
||||||
- name: Generate OpenAPI documentation
|
- name: Generate OpenAPI documentation
|
||||||
run: ./gradlew :stirling-pdf:generateOpenApiDocs
|
run: ./gradlew :stirling-pdf:generateOpenApiDocs
|
||||||
|
|
||||||
- name: Upload OpenAPI Documentation
|
- name: Upload OpenAPI Documentation
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
uses: actions/upload-artifact@v4.6.2
|
||||||
with:
|
with:
|
||||||
name: openapi-docs
|
name: openapi-docs
|
||||||
path: ./SwaggerDoc.json
|
path: ./SwaggerDoc.json
|
||||||
@ -118,72 +114,59 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Harden Runner
|
- name: Harden Runner
|
||||||
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
|
uses: step-security/harden-runner@v2.12.2
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
uses: actions/setup-node@v4.1.0
|
||||||
with:
|
with:
|
||||||
node-version: '20'
|
node-version: '20'
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
cache-dependency-path: frontend/package-lock.json
|
cache-dependency-path: frontend/package-lock.json
|
||||||
|
|
||||||
- name: Install frontend dependencies
|
- name: Install frontend dependencies
|
||||||
run: |
|
run: cd frontend && npm ci
|
||||||
cd frontend
|
|
||||||
npm ci
|
|
||||||
|
|
||||||
- name: Build frontend
|
- name: Build frontend
|
||||||
run: |
|
run: cd frontend && npm run build
|
||||||
cd frontend
|
- name: Run frontend tests
|
||||||
npm run build
|
run: cd frontend && npm test --passWithNoTests --watchAll=false || true
|
||||||
|
|
||||||
- name: Run frontend tests (if available)
|
|
||||||
run: |
|
|
||||||
cd frontend
|
|
||||||
npm test --passWithNoTests --watchAll=false || true
|
|
||||||
|
|
||||||
- name: Upload frontend build artifacts
|
- name: Upload frontend build artifacts
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
uses: actions/upload-artifact@v4.6.2
|
||||||
with:
|
with:
|
||||||
name: frontend-build
|
name: frontend-build
|
||||||
path: frontend/dist/
|
path: frontend/dist/
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
check-licence:
|
check-licence:
|
||||||
|
if: needs.files-changed.outputs.build == 'true'
|
||||||
|
needs: [files-changed, build]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Harden Runner
|
- name: Harden Runner
|
||||||
uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2
|
uses: step-security/harden-runner@v2.12.2
|
||||||
with:
|
with:
|
||||||
egress-policy: audit
|
egress-policy: audit
|
||||||
|
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 17
|
||||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
uses: actions/setup-java@v4.7.1
|
||||||
with:
|
with:
|
||||||
java-version: "17"
|
java-version: "17"
|
||||||
distribution: "adopt"
|
distribution: "temurin"
|
||||||
|
|
||||||
- name: check the licenses for compatibility
|
- name: check the licenses for compatibility
|
||||||
run: ./gradlew clean checkLicense
|
run: ./gradlew clean checkLicense
|
||||||
|
|
||||||
- name: FAILED - check the licenses for compatibility
|
- name: FAILED - check the licenses for compatibility
|
||||||
if: failure()
|
if: failure()
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
uses: actions/upload-artifact@v4.6.2
|
||||||
with:
|
with:
|
||||||
name: dependencies-without-allowed-license.json
|
name: dependencies-without-allowed-license.json
|
||||||
path: |
|
path: build/reports/dependency-license/dependencies-without-allowed-license.json
|
||||||
build/reports/dependency-license/dependencies-without-allowed-license.json
|
|
||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
docker-compose-tests:
|
docker-compose-tests:
|
||||||
|
if: needs.files-changed.outputs.project == 'true'
|
||||||
|
needs: files-changed
|
||||||
# if: github.event_name == 'push' && github.ref == 'refs/heads/main' ||
|
# if: github.event_name == 'push' && github.ref == 'refs/heads/main' ||
|
||||||
# (github.event_name == 'pull_request' &&
|
# (github.event_name == 'pull_request' &&
|
||||||
# contains(github.event.pull_request.labels.*.name, 'licenses') == false &&
|
# contains(github.event.pull_request.labels.*.name, 'licenses') == false &&
|
||||||
@ -213,7 +196,7 @@ jobs:
|
|||||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||||
with:
|
with:
|
||||||
java-version: "17"
|
java-version: "17"
|
||||||
distribution: "adopt"
|
distribution: "temurin"
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
|
||||||
@ -228,6 +211,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: "3.12"
|
python-version: "3.12"
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
|
cache-dependency-path: ./testing/cucumber/requirements.txt
|
||||||
|
|
||||||
- name: Pip requirements
|
- name: Pip requirements
|
||||||
run: |
|
run: |
|
||||||
|
2
.github/workflows/licenses-update.yml
vendored
2
.github/workflows/licenses-update.yml
vendored
@ -39,7 +39,7 @@ jobs:
|
|||||||
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
||||||
with:
|
with:
|
||||||
java-version: "17"
|
java-version: "17"
|
||||||
distribution: "adopt"
|
distribution: "temurin"
|
||||||
|
|
||||||
- name: Setup Gradle
|
- name: Setup Gradle
|
||||||
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
||||||
|
1
.github/workflows/pre_commit.yml
vendored
1
.github/workflows/pre_commit.yml
vendored
@ -37,6 +37,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: 3.12
|
python-version: 3.12
|
||||||
cache: 'pip' # caching pip dependencies
|
cache: 'pip' # caching pip dependencies
|
||||||
|
cache-dependency-path: ./.github/scripts/requirements_pre_commit.txt
|
||||||
|
|
||||||
- name: Run Pre-Commit Hooks
|
- name: Run Pre-Commit Hooks
|
||||||
run: |
|
run: |
|
||||||
|
10
.github/workflows/testdriver.yml
vendored
10
.github/workflows/testdriver.yml
vendored
@ -25,6 +25,11 @@ jobs:
|
|||||||
java-version: '17'
|
java-version: '17'
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
|
|
||||||
|
- name: Setup Gradle
|
||||||
|
uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1
|
||||||
|
with:
|
||||||
|
gradle-version: 8.14
|
||||||
|
|
||||||
- name: Build with Gradle
|
- name: Build with Gradle
|
||||||
run: ./gradlew clean build
|
run: ./gradlew clean build
|
||||||
env:
|
env:
|
||||||
@ -111,6 +116,11 @@ jobs:
|
|||||||
|
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||||
|
|
||||||
|
- name: Set up Node
|
||||||
|
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
||||||
|
with:
|
||||||
|
cache: 'npm'
|
||||||
|
|
||||||
- name: Run TestDriver.ai
|
- name: Run TestDriver.ai
|
||||||
uses: testdriverai/action@f0d0f45fdd684db628baa843fe9313f3ca3a8aa8 #1.1.3
|
uses: testdriverai/action@f0d0f45fdd684db628baa843fe9313f3ca3a8aa8 #1.1.3
|
||||||
with:
|
with:
|
||||||
|
@ -6,10 +6,10 @@ repos:
|
|||||||
args:
|
args:
|
||||||
- --fix
|
- --fix
|
||||||
- --line-length=127
|
- --line-length=127
|
||||||
files: ^((\.github/scripts|scripts)/.+)?[^/]+\.py$
|
files: ^((\.github/scripts|scripts|app/core/src/main/resources/static/python)/.+)?[^/]+\.py$
|
||||||
exclude: (split_photos.py)
|
exclude: (split_photos.py)
|
||||||
- id: ruff-format
|
- id: ruff-format
|
||||||
files: ^((\.github/scripts|scripts)/.+)?[^/]+\.py$
|
files: ^((\.github/scripts|scripts|app/core/src/main/resources/static/python)/.+)?[^/]+\.py$
|
||||||
exclude: (split_photos.py)
|
exclude: (split_photos.py)
|
||||||
- repo: https://github.com/codespell-project/codespell
|
- repo: https://github.com/codespell-project/codespell
|
||||||
rev: v2.4.1
|
rev: v2.4.1
|
||||||
|
@ -143,7 +143,7 @@ Stirling-PDF currently supports 40 languages!
|
|||||||
| Portuguese (Português) (pt_PT) |  |
|
| Portuguese (Português) (pt_PT) |  |
|
||||||
| Portuguese Brazilian (Português) (pt_BR) |  |
|
| Portuguese Brazilian (Português) (pt_BR) |  |
|
||||||
| Romanian (Română) (ro_RO) |  |
|
| Romanian (Română) (ro_RO) |  |
|
||||||
| Russian (Русский) (ru_RU) |  |
|
| Russian (Русский) (ru_RU) |  |
|
||||||
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
||||||
| Simplified Chinese (简体中文) (zh_CN) |  |
|
| Simplified Chinese (简体中文) (zh_CN) |  |
|
||||||
| Slovakian (Slovensky) (sk_SK) |  |
|
| Slovakian (Slovensky) (sk_SK) |  |
|
||||||
|
@ -26,7 +26,7 @@ dependencies {
|
|||||||
api 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8'
|
api 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8'
|
||||||
api "org.apache.pdfbox:pdfbox:$pdfboxVersion"
|
api "org.apache.pdfbox:pdfbox:$pdfboxVersion"
|
||||||
api 'jakarta.servlet:jakarta.servlet-api:6.1.0'
|
api 'jakarta.servlet:jakarta.servlet-api:6.1.0'
|
||||||
api 'org.snakeyaml:snakeyaml-engine:2.9'
|
api 'org.snakeyaml:snakeyaml-engine:2.10'
|
||||||
api "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9"
|
api "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9"
|
||||||
api 'jakarta.mail:jakarta.mail-api:2.1.3'
|
api 'jakarta.mail:jakarta.mail-api:2.1.3'
|
||||||
runtimeOnly 'org.eclipse.angus:angus-mail:2.0.3'
|
runtimeOnly 'org.eclipse.angus:angus-mail:2.0.3'
|
||||||
|
@ -14,6 +14,7 @@ public class InstallationPathConfig {
|
|||||||
private static final String CONFIG_PATH;
|
private static final String CONFIG_PATH;
|
||||||
private static final String CUSTOM_FILES_PATH;
|
private static final String CUSTOM_FILES_PATH;
|
||||||
private static final String CLIENT_WEBUI_PATH;
|
private static final String CLIENT_WEBUI_PATH;
|
||||||
|
private static final String SCRIPTS_PATH;
|
||||||
|
|
||||||
// Config paths
|
// Config paths
|
||||||
private static final String SETTINGS_PATH;
|
private static final String SETTINGS_PATH;
|
||||||
@ -36,6 +37,7 @@ public class InstallationPathConfig {
|
|||||||
// Initialize config paths
|
// Initialize config paths
|
||||||
SETTINGS_PATH = CONFIG_PATH + "settings.yml";
|
SETTINGS_PATH = CONFIG_PATH + "settings.yml";
|
||||||
CUSTOM_SETTINGS_PATH = CONFIG_PATH + "custom_settings.yml";
|
CUSTOM_SETTINGS_PATH = CONFIG_PATH + "custom_settings.yml";
|
||||||
|
SCRIPTS_PATH = CONFIG_PATH + "scripts" + File.separator;
|
||||||
|
|
||||||
// Initialize custom file paths
|
// Initialize custom file paths
|
||||||
STATIC_PATH = CUSTOM_FILES_PATH + "static" + File.separator;
|
STATIC_PATH = CUSTOM_FILES_PATH + "static" + File.separator;
|
||||||
@ -89,6 +91,10 @@ public class InstallationPathConfig {
|
|||||||
return CLIENT_WEBUI_PATH;
|
return CLIENT_WEBUI_PATH;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getScriptsPath() {
|
||||||
|
return SCRIPTS_PATH;
|
||||||
|
}
|
||||||
|
|
||||||
public static String getSettingsPath() {
|
public static String getSettingsPath() {
|
||||||
return SETTINGS_PATH;
|
return SETTINGS_PATH;
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import org.springframework.core.io.ClassPathResource;
|
||||||
import org.springframework.core.io.Resource;
|
import org.springframework.core.io.Resource;
|
||||||
import org.springframework.core.io.ResourceLoader;
|
import org.springframework.core.io.ResourceLoader;
|
||||||
import org.springframework.core.io.support.ResourcePatternUtils;
|
import org.springframework.core.io.support.ResourcePatternUtils;
|
||||||
@ -33,6 +34,9 @@ import stirling.software.common.configuration.InstallationPathConfig;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class GeneralUtils {
|
public class GeneralUtils {
|
||||||
|
|
||||||
|
private static final List<String> DEFAULT_VALID_SCRIPTS =
|
||||||
|
List.of("png_to_webp.py", "split_photos.py");
|
||||||
|
|
||||||
public static File convertMultipartFileToFile(MultipartFile multipartFile) throws IOException {
|
public static File convertMultipartFileToFile(MultipartFile multipartFile) throws IOException {
|
||||||
String customTempDir = System.getenv("STIRLING_TEMPFILES_DIRECTORY");
|
String customTempDir = System.getenv("STIRLING_TEMPFILES_DIRECTORY");
|
||||||
if (customTempDir == null || customTempDir.isEmpty()) {
|
if (customTempDir == null || customTempDir.isEmpty()) {
|
||||||
@ -442,6 +446,40 @@ public class GeneralUtils {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Extracts a file from classpath:/static/python to a temporary directory and returns the path.
|
||||||
|
*/
|
||||||
|
public static Path extractScript(String scriptName) throws IOException {
|
||||||
|
// Validate input
|
||||||
|
if (scriptName == null || scriptName.trim().isEmpty()) {
|
||||||
|
throw new IllegalArgumentException("scriptName must not be null or empty");
|
||||||
|
}
|
||||||
|
if (scriptName.contains("..") || scriptName.contains("/")) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"scriptName must not contain path traversal characters");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!DEFAULT_VALID_SCRIPTS.contains(scriptName)) {
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"scriptName must be either 'png_to_webp.py' or 'split_photos.py'");
|
||||||
|
}
|
||||||
|
|
||||||
|
Path scriptsDir = Paths.get(InstallationPathConfig.getScriptsPath(), "python");
|
||||||
|
Files.createDirectories(scriptsDir);
|
||||||
|
|
||||||
|
Path scriptFile = scriptsDir.resolve(scriptName);
|
||||||
|
if (!Files.exists(scriptFile)) {
|
||||||
|
ClassPathResource resource = new ClassPathResource("static/python/" + scriptName);
|
||||||
|
try (InputStream in = resource.getInputStream()) {
|
||||||
|
Files.copy(in, scriptFile, StandardCopyOption.REPLACE_EXISTING);
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("Failed to extract Python script", e);
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return scriptFile;
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isVersionHigher(String currentVersion, String compareVersion) {
|
public static boolean isVersionHigher(String currentVersion, String compareVersion) {
|
||||||
if (currentVersion == null || compareVersion == null) {
|
if (currentVersion == null || compareVersion == null) {
|
||||||
return false;
|
return false;
|
||||||
|
2
app/core/.gitignore
vendored
2
app/core/.gitignore
vendored
@ -194,3 +194,5 @@ id_ed25519.pub
|
|||||||
|
|
||||||
# node_modules
|
# node_modules
|
||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
|
scripts/**/*
|
||||||
|
@ -46,7 +46,7 @@ dependencies {
|
|||||||
implementation 'commons-io:commons-io:2.19.0'
|
implementation 'commons-io:commons-io:2.19.0'
|
||||||
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion"
|
||||||
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion"
|
||||||
implementation 'io.micrometer:micrometer-core:1.15.1'
|
implementation 'io.micrometer:micrometer-core:1.15.2'
|
||||||
implementation 'com.google.zxing:core:3.5.3'
|
implementation 'com.google.zxing:core:3.5.3'
|
||||||
implementation "org.commonmark:commonmark:$commonmarkVersion" // https://mvnrepository.com/artifact/org.commonmark/commonmark
|
implementation "org.commonmark:commonmark:$commonmarkVersion" // https://mvnrepository.com/artifact/org.commonmark/commonmark
|
||||||
implementation "org.commonmark:commonmark-ext-gfm-tables:$commonmarkVersion"
|
implementation "org.commonmark:commonmark-ext-gfm-tables:$commonmarkVersion"
|
||||||
|
@ -238,14 +238,14 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("PageOps", "rotate-pdf");
|
addEndpointToGroup("PageOps", "rotate-pdf");
|
||||||
addEndpointToGroup("PageOps", "multi-page-layout");
|
addEndpointToGroup("PageOps", "multi-page-layout");
|
||||||
addEndpointToGroup("PageOps", "scale-pages");
|
addEndpointToGroup("PageOps", "scale-pages");
|
||||||
addEndpointToGroup("PageOps", "adjust-contrast");
|
|
||||||
addEndpointToGroup("PageOps", "crop");
|
addEndpointToGroup("PageOps", "crop");
|
||||||
addEndpointToGroup("PageOps", "auto-split-pdf");
|
|
||||||
addEndpointToGroup("PageOps", "extract-page");
|
addEndpointToGroup("PageOps", "extract-page");
|
||||||
addEndpointToGroup("PageOps", "pdf-to-single-page");
|
addEndpointToGroup("PageOps", "pdf-to-single-page");
|
||||||
|
addEndpointToGroup("PageOps", "auto-split-pdf");
|
||||||
addEndpointToGroup("PageOps", "split-by-size-or-count");
|
addEndpointToGroup("PageOps", "split-by-size-or-count");
|
||||||
addEndpointToGroup("PageOps", "overlay-pdf");
|
addEndpointToGroup("PageOps", "overlay-pdf");
|
||||||
addEndpointToGroup("PageOps", "split-pdf-by-sections");
|
addEndpointToGroup("PageOps", "split-pdf-by-sections");
|
||||||
|
addEndpointToGroup("PageOps", "split-pdf-by-chapters");
|
||||||
|
|
||||||
// Adding endpoints to "Convert" group
|
// Adding endpoints to "Convert" group
|
||||||
addEndpointToGroup("Convert", "pdf-to-img");
|
addEndpointToGroup("Convert", "pdf-to-img");
|
||||||
@ -274,27 +274,43 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("Security", "sanitize-pdf");
|
addEndpointToGroup("Security", "sanitize-pdf");
|
||||||
addEndpointToGroup("Security", "auto-redact");
|
addEndpointToGroup("Security", "auto-redact");
|
||||||
addEndpointToGroup("Security", "redact");
|
addEndpointToGroup("Security", "redact");
|
||||||
|
addEndpointToGroup("Security", "validate-signature");
|
||||||
|
addEndpointToGroup("Security", "stamp");
|
||||||
|
addEndpointToGroup("Security", "sign");
|
||||||
|
|
||||||
// Adding endpoints to "Other" group
|
// Adding endpoints to "Other" group
|
||||||
addEndpointToGroup("Other", "ocr-pdf");
|
addEndpointToGroup("Other", "ocr-pdf");
|
||||||
addEndpointToGroup("Other", "add-image");
|
addEndpointToGroup("Other", "add-image");
|
||||||
addEndpointToGroup("Other", "compress-pdf");
|
|
||||||
addEndpointToGroup("Other", "extract-images");
|
addEndpointToGroup("Other", "extract-images");
|
||||||
addEndpointToGroup("Other", "change-metadata");
|
addEndpointToGroup("Other", "change-metadata");
|
||||||
addEndpointToGroup("Other", "extract-image-scans");
|
|
||||||
addEndpointToGroup("Other", "sign");
|
|
||||||
addEndpointToGroup("Other", "flatten");
|
addEndpointToGroup("Other", "flatten");
|
||||||
addEndpointToGroup("Other", "repair");
|
|
||||||
addEndpointToGroup("Other", "unlock-pdf-forms");
|
addEndpointToGroup("Other", "unlock-pdf-forms");
|
||||||
addEndpointToGroup("Other", REMOVE_BLANKS);
|
addEndpointToGroup("Other", REMOVE_BLANKS);
|
||||||
addEndpointToGroup("Other", "remove-annotations");
|
addEndpointToGroup("Other", "remove-annotations");
|
||||||
addEndpointToGroup("Other", "compare");
|
addEndpointToGroup("Other", "compare");
|
||||||
addEndpointToGroup("Other", "add-page-numbers");
|
addEndpointToGroup("Other", "add-page-numbers");
|
||||||
addEndpointToGroup("Other", "auto-rename");
|
|
||||||
addEndpointToGroup("Other", "get-info-on-pdf");
|
addEndpointToGroup("Other", "get-info-on-pdf");
|
||||||
addEndpointToGroup("Other", "show-javascript");
|
|
||||||
addEndpointToGroup("Other", "remove-image-pdf");
|
addEndpointToGroup("Other", "remove-image-pdf");
|
||||||
addEndpointToGroup("Other", "add-attachments");
|
addEndpointToGroup("Other", "add-attachments");
|
||||||
|
addEndpointToGroup("Other", "view-pdf");
|
||||||
|
addEndpointToGroup("Other", "replace-and-invert-color-pdf");
|
||||||
|
addEndpointToGroup("Other", "multi-tool");
|
||||||
|
|
||||||
|
// Adding endpoints to "Advance" group
|
||||||
|
addEndpointToGroup("Advance", "adjust-contrast");
|
||||||
|
addEndpointToGroup("Advance", "compress-pdf");
|
||||||
|
addEndpointToGroup("Advance", "extract-image-scans");
|
||||||
|
addEndpointToGroup("Advance", "repair");
|
||||||
|
addEndpointToGroup("Advance", "auto-rename");
|
||||||
|
addEndpointToGroup("Advance", "pipeline");
|
||||||
|
addEndpointToGroup("Advance", "scanner-effect");
|
||||||
|
addEndpointToGroup("Advance", "auto-split-pdf");
|
||||||
|
addEndpointToGroup("Advance", "show-javascript");
|
||||||
|
addEndpointToGroup("Advance", "split-by-size-or-count");
|
||||||
|
addEndpointToGroup("Advance", "overlay-pdf");
|
||||||
|
addEndpointToGroup("Advance", "split-pdf-by-sections");
|
||||||
|
addEndpointToGroup("Advance", "edit-table-of-contents");
|
||||||
|
addEndpointToGroup("Advance", "split-pdf-by-chapters");
|
||||||
|
|
||||||
// CLI
|
// CLI
|
||||||
addEndpointToGroup("CLI", "compress-pdf");
|
addEndpointToGroup("CLI", "compress-pdf");
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package stirling.software.SPDF.controller.api.converters;
|
package stirling.software.SPDF.controller.api.converters;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URLConnection;
|
import java.net.URLConnection;
|
||||||
@ -87,7 +88,7 @@ public class ConvertImgPDFController {
|
|||||||
// returns bytes for image
|
// returns bytes for image
|
||||||
boolean singleImage = "single".equals(singleOrMultiple);
|
boolean singleImage = "single".equals(singleOrMultiple);
|
||||||
String filename =
|
String filename =
|
||||||
Filenames.toSimpleFileName(file.getOriginalFilename())
|
Filenames.toSimpleFileName(new File(file.getOriginalFilename()).getName())
|
||||||
.replaceFirst("[.][^.]+$", "");
|
.replaceFirst("[.][^.]+$", "");
|
||||||
|
|
||||||
result =
|
result =
|
||||||
@ -116,10 +117,14 @@ public class ConvertImgPDFController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String pythonVersion = CheckProgramInstall.getAvailablePythonCommand();
|
String pythonVersion = CheckProgramInstall.getAvailablePythonCommand();
|
||||||
|
Path pngToWebpScript = GeneralUtils.extractScript("png_to_webp.py");
|
||||||
|
|
||||||
List<String> command = new ArrayList<>();
|
List<String> command = new ArrayList<>();
|
||||||
command.add(pythonVersion);
|
command.add(pythonVersion);
|
||||||
command.add("./scripts/png_to_webp.py"); // Python script to handle the conversion
|
command.add(
|
||||||
|
pngToWebpScript
|
||||||
|
.toAbsolutePath()
|
||||||
|
.toString()); // Python script to handle the conversion
|
||||||
|
|
||||||
// Create a temporary directory for the output WebP files
|
// Create a temporary directory for the output WebP files
|
||||||
tempOutputDir = Files.createTempDirectory("webp_output");
|
tempOutputDir = Files.createTempDirectory("webp_output");
|
||||||
@ -231,7 +236,8 @@ public class ConvertImgPDFController {
|
|||||||
PdfUtils.imageToPdf(file, fitOption, autoRotate, colorType, pdfDocumentFactory);
|
PdfUtils.imageToPdf(file, fitOption, autoRotate, colorType, pdfDocumentFactory);
|
||||||
return WebResponseUtils.bytesToWebResponse(
|
return WebResponseUtils.bytesToWebResponse(
|
||||||
bytes,
|
bytes,
|
||||||
file[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_converted.pdf");
|
new File(file[0].getOriginalFilename()).getName().replaceFirst("[.][^.]+$", "")
|
||||||
|
+ "_converted.pdf");
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getMediaType(String imageFormat) {
|
private String getMediaType(String imageFormat) {
|
||||||
|
@ -34,6 +34,7 @@ import stirling.software.SPDF.model.api.misc.ExtractImageScansRequest;
|
|||||||
import stirling.software.common.service.CustomPDFDocumentFactory;
|
import stirling.software.common.service.CustomPDFDocumentFactory;
|
||||||
import stirling.software.common.util.CheckProgramInstall;
|
import stirling.software.common.util.CheckProgramInstall;
|
||||||
import stirling.software.common.util.ExceptionUtils;
|
import stirling.software.common.util.ExceptionUtils;
|
||||||
|
import stirling.software.common.util.GeneralUtils;
|
||||||
import stirling.software.common.util.ProcessExecutor;
|
import stirling.software.common.util.ProcessExecutor;
|
||||||
import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult;
|
import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult;
|
||||||
import stirling.software.common.util.WebResponseUtils;
|
import stirling.software.common.util.WebResponseUtils;
|
||||||
@ -78,6 +79,7 @@ public class ExtractImageScansController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String pythonVersion = CheckProgramInstall.getAvailablePythonCommand();
|
String pythonVersion = CheckProgramInstall.getAvailablePythonCommand();
|
||||||
|
Path splitPhotosScript = GeneralUtils.extractScript("split_photos.py");
|
||||||
try {
|
try {
|
||||||
// Check if input file is a PDF
|
// Check if input file is a PDF
|
||||||
if ("pdf".equalsIgnoreCase(extension)) {
|
if ("pdf".equalsIgnoreCase(extension)) {
|
||||||
@ -120,7 +122,7 @@ public class ExtractImageScansController {
|
|||||||
new ArrayList<>(
|
new ArrayList<>(
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
pythonVersion,
|
pythonVersion,
|
||||||
"./scripts/split_photos.py",
|
splitPhotosScript.toAbsolutePath().toString(),
|
||||||
images.get(i),
|
images.get(i),
|
||||||
tempDir.toString(),
|
tempDir.toString(),
|
||||||
"--angle_threshold",
|
"--angle_threshold",
|
||||||
|
@ -7,6 +7,7 @@ import java.awt.print.Printable;
|
|||||||
import java.awt.print.PrinterException;
|
import java.awt.print.PrinterException;
|
||||||
import java.awt.print.PrinterJob;
|
import java.awt.print.PrinterJob;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Paths;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
@ -45,6 +46,11 @@ public class PrintFileController {
|
|||||||
public ResponseEntity<String> printFile(@ModelAttribute PrintFileRequest request)
|
public ResponseEntity<String> printFile(@ModelAttribute PrintFileRequest request)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
MultipartFile file = request.getFileInput();
|
MultipartFile file = request.getFileInput();
|
||||||
|
String originalFilename = file.getOriginalFilename();
|
||||||
|
if (originalFilename != null
|
||||||
|
&& (originalFilename.contains("..") || Paths.get(originalFilename).isAbsolute())) {
|
||||||
|
throw new IOException("Invalid file path detected: " + originalFilename);
|
||||||
|
}
|
||||||
String printerName = request.getPrinterName();
|
String printerName = request.getPrinterName();
|
||||||
String contentType = file.getContentType();
|
String contentType = file.getContentType();
|
||||||
try {
|
try {
|
||||||
|
@ -33,7 +33,7 @@ import jakarta.validation.Valid;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import stirling.software.SPDF.model.api.misc.FakeScanRequest;
|
import stirling.software.SPDF.model.api.misc.ScannerEffectRequest;
|
||||||
import stirling.software.common.service.CustomPDFDocumentFactory;
|
import stirling.software.common.service.CustomPDFDocumentFactory;
|
||||||
import stirling.software.common.util.WebResponseUtils;
|
import stirling.software.common.util.WebResponseUtils;
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ import stirling.software.common.util.WebResponseUtils;
|
|||||||
@Tag(name = "Misc", description = "Miscellaneous PDF APIs")
|
@Tag(name = "Misc", description = "Miscellaneous PDF APIs")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class FakeScanController {
|
public class ScannerEffectController {
|
||||||
|
|
||||||
private final CustomPDFDocumentFactory pdfDocumentFactory;
|
private final CustomPDFDocumentFactory pdfDocumentFactory;
|
||||||
private static final Random RANDOM = new Random();
|
private static final Random RANDOM = new Random();
|
||||||
@ -52,12 +52,12 @@ public class FakeScanController {
|
|||||||
private static final int MAX_IMAGE_HEIGHT = 8192;
|
private static final int MAX_IMAGE_HEIGHT = 8192;
|
||||||
private static final long MAX_IMAGE_PIXELS = 16_777_216; // 4096x4096
|
private static final long MAX_IMAGE_PIXELS = 16_777_216; // 4096x4096
|
||||||
|
|
||||||
@PostMapping(value = "/fake-scan", consumes = "multipart/form-data")
|
@PostMapping(value = "/scanner-effect", consumes = "multipart/form-data")
|
||||||
@Operation(
|
@Operation(
|
||||||
summary = "Convert PDF to look like a scanned document",
|
summary = "Apply scanner effect to PDF",
|
||||||
description =
|
description =
|
||||||
"Applies various effects to make a PDF look like it was scanned, including rotation, noise, and edge softening. Input:PDF Output:PDF Type:SISO")
|
"Applies various effects to simulate a scanned document, including rotation, noise, and edge softening. Input:PDF Output:PDF Type:SISO")
|
||||||
public ResponseEntity<byte[]> fakeScan(@Valid @ModelAttribute FakeScanRequest request)
|
public ResponseEntity<byte[]> scannerEffect(@Valid @ModelAttribute ScannerEffectRequest request)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
MultipartFile file = request.getFileInput();
|
MultipartFile file = request.getFileInput();
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ public class FakeScanController {
|
|||||||
float noise = request.getNoise();
|
float noise = request.getNoise();
|
||||||
boolean yellowish = request.isYellowish();
|
boolean yellowish = request.isYellowish();
|
||||||
int resolution = request.getResolution();
|
int resolution = request.getResolution();
|
||||||
FakeScanRequest.Colorspace colorspace = request.getColorspace();
|
ScannerEffectRequest.Colorspace colorspace = request.getColorspace();
|
||||||
|
|
||||||
try (PDDocument document = pdfDocumentFactory.load(file)) {
|
try (PDDocument document = pdfDocumentFactory.load(file)) {
|
||||||
PDDocument outputDocument = new PDDocument();
|
PDDocument outputDocument = new PDDocument();
|
||||||
@ -130,7 +130,7 @@ public class FakeScanController {
|
|||||||
|
|
||||||
// 1. Convert to grayscale or keep color
|
// 1. Convert to grayscale or keep color
|
||||||
BufferedImage processed;
|
BufferedImage processed;
|
||||||
if (colorspace == FakeScanRequest.Colorspace.grayscale) {
|
if (colorspace == ScannerEffectRequest.Colorspace.grayscale) {
|
||||||
processed =
|
processed =
|
||||||
new BufferedImage(
|
new BufferedImage(
|
||||||
image.getWidth(),
|
image.getWidth(),
|
||||||
@ -316,7 +316,7 @@ public class FakeScanController {
|
|||||||
String outputFilename =
|
String outputFilename =
|
||||||
Filenames.toSimpleFileName(file.getOriginalFilename())
|
Filenames.toSimpleFileName(file.getOriginalFilename())
|
||||||
.replaceFirst("[.][^.]+$", "")
|
.replaceFirst("[.][^.]+$", "")
|
||||||
+ "_scanned.pdf";
|
+ "_scanner_effect.pdf";
|
||||||
|
|
||||||
return WebResponseUtils.bytesToWebResponse(
|
return WebResponseUtils.bytesToWebResponse(
|
||||||
outputStream.toByteArray(), outputFilename, MediaType.APPLICATION_PDF);
|
outputStream.toByteArray(), outputFilename, MediaType.APPLICATION_PDF);
|
@ -62,9 +62,18 @@ public class StampController {
|
|||||||
public ResponseEntity<byte[]> addStamp(@ModelAttribute AddStampRequest request)
|
public ResponseEntity<byte[]> addStamp(@ModelAttribute AddStampRequest request)
|
||||||
throws IOException, Exception {
|
throws IOException, Exception {
|
||||||
MultipartFile pdfFile = request.getFileInput();
|
MultipartFile pdfFile = request.getFileInput();
|
||||||
|
String pdfFileName = pdfFile.getOriginalFilename();
|
||||||
|
if (pdfFileName.contains("..") || pdfFileName.startsWith("/")) {
|
||||||
|
throw new IllegalArgumentException("Invalid PDF file path");
|
||||||
|
}
|
||||||
|
|
||||||
String stampType = request.getStampType();
|
String stampType = request.getStampType();
|
||||||
String stampText = request.getStampText();
|
String stampText = request.getStampText();
|
||||||
MultipartFile stampImage = request.getStampImage();
|
MultipartFile stampImage = request.getStampImage();
|
||||||
|
String stampImageName = stampImage.getOriginalFilename();
|
||||||
|
if (stampImageName.contains("..") || stampImageName.startsWith("/")) {
|
||||||
|
throw new IllegalArgumentException("Invalid stamp image file path");
|
||||||
|
}
|
||||||
String alphabet = request.getAlphabet();
|
String alphabet = request.getAlphabet();
|
||||||
float fontSize = request.getFontSize();
|
float fontSize = request.getFontSize();
|
||||||
float rotation = request.getRotation();
|
float rotation = request.getRotation();
|
||||||
|
@ -108,7 +108,9 @@ public class PipelineProcessor {
|
|||||||
if (inputFileTypes == null) {
|
if (inputFileTypes == null) {
|
||||||
inputFileTypes = new ArrayList<String>(Arrays.asList("ALL"));
|
inputFileTypes = new ArrayList<String>(Arrays.asList("ALL"));
|
||||||
}
|
}
|
||||||
// List outputFileTypes = apiDocService.getExtensionTypes(true, operation);
|
if (!operation.matches("^[a-zA-Z0-9_-]+$")) {
|
||||||
|
throw new IllegalArgumentException("Invalid operation value received.");
|
||||||
|
}
|
||||||
String url = getBaseUrl() + operation;
|
String url = getBaseUrl() + operation;
|
||||||
List<Resource> newOutputFiles = new ArrayList<>();
|
List<Resource> newOutputFiles = new ArrayList<>();
|
||||||
if (!isMultiInputOperation) {
|
if (!isMultiInputOperation) {
|
||||||
@ -327,6 +329,11 @@ public class PipelineProcessor {
|
|||||||
}
|
}
|
||||||
List<Resource> outputFiles = new ArrayList<>();
|
List<Resource> outputFiles = new ArrayList<>();
|
||||||
for (File file : files) {
|
for (File file : files) {
|
||||||
|
Path normalizedPath = Paths.get(file.getName()).normalize();
|
||||||
|
if (normalizedPath.startsWith("..")) {
|
||||||
|
throw new SecurityException(
|
||||||
|
"Potential path traversal attempt in file name: " + file.getName());
|
||||||
|
}
|
||||||
Path path = Paths.get(file.getAbsolutePath());
|
Path path = Paths.get(file.getAbsolutePath());
|
||||||
// debug statement
|
// debug statement
|
||||||
log.info("Reading file: " + path);
|
log.info("Reading file: " + path);
|
||||||
|
@ -74,9 +74,21 @@ public class WatermarkController {
|
|||||||
public ResponseEntity<byte[]> addWatermark(@ModelAttribute AddWatermarkRequest request)
|
public ResponseEntity<byte[]> addWatermark(@ModelAttribute AddWatermarkRequest request)
|
||||||
throws IOException, Exception {
|
throws IOException, Exception {
|
||||||
MultipartFile pdfFile = request.getFileInput();
|
MultipartFile pdfFile = request.getFileInput();
|
||||||
|
String pdfFileName = pdfFile.getOriginalFilename();
|
||||||
|
if (pdfFileName != null && (pdfFileName.contains("..") || pdfFileName.startsWith("/"))) {
|
||||||
|
throw new SecurityException("Invalid file path in pdfFile");
|
||||||
|
}
|
||||||
String watermarkType = request.getWatermarkType();
|
String watermarkType = request.getWatermarkType();
|
||||||
String watermarkText = request.getWatermarkText();
|
String watermarkText = request.getWatermarkText();
|
||||||
MultipartFile watermarkImage = request.getWatermarkImage();
|
MultipartFile watermarkImage = request.getWatermarkImage();
|
||||||
|
if (watermarkImage != null) {
|
||||||
|
String watermarkImageFileName = watermarkImage.getOriginalFilename();
|
||||||
|
if (watermarkImageFileName != null
|
||||||
|
&& (watermarkImageFileName.contains("..")
|
||||||
|
|| watermarkImageFileName.startsWith("/"))) {
|
||||||
|
throw new SecurityException("Invalid file path in watermarkImage");
|
||||||
|
}
|
||||||
|
}
|
||||||
String alphabet = request.getAlphabet();
|
String alphabet = request.getAlphabet();
|
||||||
float fontSize = request.getFontSize();
|
float fontSize = request.getFontSize();
|
||||||
float rotation = request.getRotation();
|
float rotation = request.getRotation();
|
||||||
|
@ -70,11 +70,11 @@ public class OtherWebController {
|
|||||||
return "misc/add-page-numbers";
|
return "misc/add-page-numbers";
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/fake-scan")
|
@GetMapping("/scanner-effect")
|
||||||
@Hidden
|
@Hidden
|
||||||
public String fakeScanForm(Model model) {
|
public String scannerEffectForm(Model model) {
|
||||||
model.addAttribute("currentPage", "fake-scan");
|
model.addAttribute("currentPage", "scanner-effect");
|
||||||
return "misc/fake-scan";
|
return "misc/scanner-effect";
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/extract-images")
|
@GetMapping("/extract-images")
|
||||||
|
@ -11,7 +11,7 @@ import lombok.EqualsAndHashCode;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode
|
@EqualsAndHashCode
|
||||||
public class FakeScanRequest {
|
public class ScannerEffectRequest {
|
||||||
public enum Quality {
|
public enum Quality {
|
||||||
low,
|
low,
|
||||||
medium,
|
medium,
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Diese Cookies sind für das
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analyse
|
cookieBanner.preferencesModal.analytics.title=Analyse
|
||||||
cookieBanner.preferencesModal.analytics.description=Diese Cookies helfen uns zu verstehen, wie unsere Tools genutzt werden, damit wir uns darauf konzentrieren können, die Funktionen zu entwickeln, die unserer Community am meisten am Herzen liegen. Seien Sie beruhigt – Stirling PDF kann und wird niemals den Inhalt der Dokumente verfolgen, mit denen Sie arbeiten.
|
cookieBanner.preferencesModal.analytics.description=Diese Cookies helfen uns zu verstehen, wie unsere Tools genutzt werden, damit wir uns darauf konzentrieren können, die Funktionen zu entwickeln, die unserer Community am meisten am Herzen liegen. Seien Sie beruhigt – Stirling PDF kann und wird niemals den Inhalt der Dokumente verfolgen, mit denen Sie arbeiten.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake-Scan-PDF
|
scannerEffect.title=Scanner-Effect-PDF
|
||||||
fakeScan.header=Fake-Scan-PDF
|
scannerEffect.header=Scanner-Effect-PDF
|
||||||
fakeScan.description=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden
|
scannerEffect.description=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden
|
||||||
fakeScan.selectPDF=Wählen Sie PDF:
|
scannerEffect.selectPDF=Wählen Sie PDF:
|
||||||
fakeScan.quality=Scan-Qualität
|
scannerEffect.quality=Scan-Qualität
|
||||||
fakeScan.quality.low=Niedrig
|
scannerEffect.quality.low=Niedrig
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=Hoch
|
scannerEffect.quality.high=Hoch
|
||||||
fakeScan.rotation=Rotationswinkel
|
scannerEffect.rotation=Rotationswinkel
|
||||||
fakeScan.rotation.none=Keiner
|
scannerEffect.rotation.none=Keiner
|
||||||
fakeScan.rotation.slight=Leicht
|
scannerEffect.rotation.slight=Leicht
|
||||||
fakeScan.rotation.moderate=Mäßig
|
scannerEffect.rotation.moderate=Mäßig
|
||||||
fakeScan.rotation.severe=Schwer
|
scannerEffect.rotation.severe=Schwer
|
||||||
fakeScan.submit=Erstellen Sie einen Fake-Scan
|
scannerEffect.submit=Erstellen Sie einen Scanner-Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake-Scan-PDF
|
home.scannerEffect.title=Scanner-Effect-PDF
|
||||||
home.fakeScan.desc=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden
|
home.scannerEffect.desc=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden
|
||||||
fakeScan.tags=scannen,simulieren,realistisch,konvertieren,fake,scan,pdf
|
scannerEffect.tags=scannen,simulieren,realistisch,konvertieren,fake,scan,pdf
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Aktivieren Sie erweiterte Scaneinstellungen
|
scannerEffect.advancedSettings=Aktivieren Sie erweiterte Scaneinstellungen
|
||||||
fakeScan.colorspace=Farbraum
|
scannerEffect.colorspace=Farbraum
|
||||||
fakeScan.colorspace.grayscale=Graustufen
|
scannerEffect.colorspace.grayscale=Graustufen
|
||||||
fakeScan.colorspace.color=Farbe
|
scannerEffect.colorspace.color=Farbe
|
||||||
fakeScan.border=Grenze (PX)
|
scannerEffect.border=Grenze (PX)
|
||||||
fakeScan.rotate=Grundrotation (Grad)
|
scannerEffect.rotate=Grundrotation (Grad)
|
||||||
fakeScan.rotateVariance=Rotationsvarianz (Grad)
|
scannerEffect.rotateVariance=Rotationsvarianz (Grad)
|
||||||
fakeScan.brightness=Helligkeit
|
scannerEffect.brightness=Helligkeit
|
||||||
fakeScan.contrast=Kontrast
|
scannerEffect.contrast=Kontrast
|
||||||
fakeScan.blur=Verwischen
|
scannerEffect.blur=Verwischen
|
||||||
fakeScan.noise=Rauschen
|
scannerEffect.noise=Rauschen
|
||||||
fakeScan.yellowish=Gelblich (simulieren Sie altes Papier)
|
scannerEffect.yellowish=Gelblich (simulieren Sie altes Papier)
|
||||||
fakeScan.resolution=Auflösung (DPI)
|
scannerEffect.resolution=Auflösung (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,6 +1811,49 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
|
#home.scannerEffect
|
||||||
|
home.scannerEffect.title=Scanner Effect
|
||||||
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
|
# ScannerEffect advanced settings (frontend)
|
||||||
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
|
scannerEffect.colorspace=Colorspace
|
||||||
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
|
scannerEffect.colorspace.color=Color
|
||||||
|
scannerEffect.border=Border (px)
|
||||||
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
|
scannerEffect.brightness=Brightness
|
||||||
|
scannerEffect.contrast=Contrast
|
||||||
|
scannerEffect.blur=Blur
|
||||||
|
scannerEffect.noise=Noise
|
||||||
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
|
# Table of Contents Feature
|
||||||
|
home.editTableOfContents.title=Edit Table of Contents
|
||||||
|
home.editTableOfContents.desc=Add or edit bookmarks and table of contents in PDF documents
|
||||||
|
|
||||||
|
editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline
|
||||||
|
editTableOfContents.title=Edit Table of Contents
|
||||||
|
editTableOfContents.header=Add or Edit PDF Table of Contents
|
||||||
|
editTableOfContents.replaceExisting=Replace existing bookmarks (uncheck to append to existing)
|
||||||
|
editTableOfContents.editorTitle=Bookmark Editor
|
||||||
|
editTableOfContents.editorDesc=Add and arrange bookmarks below. Click + to add child bookmarks.
|
||||||
|
editTableOfContents.addBookmark=Add New Bookmark
|
||||||
|
editTableOfContents.desc.1=This tool allows you to add or edit the table of contents (bookmarks) in a PDF document.
|
||||||
|
editTableOfContents.desc.2=You can create a hierarchical structure by adding child bookmarks to parent bookmarks.
|
||||||
|
editTableOfContents.desc.3=Each bookmark requires a title and target page number.
|
||||||
|
editTableOfContents.submit=Apply Table of Contents
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# React Frontend #
|
# React Frontend #
|
||||||
####################
|
####################
|
||||||
@ -1874,56 +1917,3 @@ viewer.nextPage=Next Page
|
|||||||
viewer.pageNavigation=Page Navigation
|
viewer.pageNavigation=Page Navigation
|
||||||
viewer.currentPage=Current Page
|
viewer.currentPage=Current Page
|
||||||
viewer.totalPages=Total Pages
|
viewer.totalPages=Total Pages
|
||||||
|
|
||||||
#fakeScan
|
|
||||||
fakeScan.title=Fake Scan
|
|
||||||
fakeScan.header=Fake Scan
|
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
|
||||||
fakeScan.selectPDF=Select PDF:
|
|
||||||
fakeScan.quality=Scan Quality
|
|
||||||
fakeScan.quality.low=Low
|
|
||||||
fakeScan.quality.medium=Medium
|
|
||||||
fakeScan.quality.high=High
|
|
||||||
fakeScan.rotation=Rotation Angle
|
|
||||||
fakeScan.rotation.none=None
|
|
||||||
fakeScan.rotation.slight=Slight
|
|
||||||
fakeScan.rotation.moderate=Moderate
|
|
||||||
fakeScan.rotation.severe=Severe
|
|
||||||
fakeScan.submit=Create Fake Scan
|
|
||||||
|
|
||||||
#home.fakeScan
|
|
||||||
home.fakeScan.title=Fake Scan
|
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
|
||||||
fakeScan.colorspace=Colorspace
|
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
|
||||||
fakeScan.colorspace.color=Color
|
|
||||||
fakeScan.border=Border (px)
|
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
|
||||||
fakeScan.brightness=Brightness
|
|
||||||
fakeScan.contrast=Contrast
|
|
||||||
fakeScan.blur=Blur
|
|
||||||
fakeScan.noise=Noise
|
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
|
||||||
fakeScan.resolution=Resolution (DPI)
|
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
|
||||||
home.editTableOfContents.title=Edit Table of Contents
|
|
||||||
home.editTableOfContents.desc=Add or edit bookmarks and table of contents in PDF documents
|
|
||||||
|
|
||||||
editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline
|
|
||||||
editTableOfContents.title=Edit Table of Contents
|
|
||||||
editTableOfContents.header=Add or Edit PDF Table of Contents
|
|
||||||
editTableOfContents.replaceExisting=Replace existing bookmarks (uncheck to append to existing)
|
|
||||||
editTableOfContents.editorTitle=Bookmark Editor
|
|
||||||
editTableOfContents.editorDesc=Add and arrange bookmarks below. Click + to add child bookmarks.
|
|
||||||
editTableOfContents.addBookmark=Add New Bookmark
|
|
||||||
editTableOfContents.desc.1=This tool allows you to add or edit the table of contents (bookmarks) in a PDF document.
|
|
||||||
editTableOfContents.desc.2=You can create a hierarchical structure by adding child bookmarks to parent bookmarks.
|
|
||||||
editTableOfContents.desc.3=Each bookmark requires a title and target page number.
|
|
||||||
editTableOfContents.submit=Apply Table of Contents
|
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Estas cookies son esenciales
|
|||||||
cookieBanner.preferencesModal.analytics.title=Análisis
|
cookieBanner.preferencesModal.analytics.title=Análisis
|
||||||
cookieBanner.preferencesModal.analytics.description=Estas cookies nos ayudan a entender cómo se están utilizando nuestras herramientas, para que podamos centrarnos en desarrollar las funciones que nuestra comunidad valora más. Tenga la seguridad de que Stirling PDF no puede y nunca podrá rastrear el contenido de los documentos con los que trabaja.
|
cookieBanner.preferencesModal.analytics.description=Estas cookies nos ayudan a entender cómo se están utilizando nuestras herramientas, para que podamos centrarnos en desarrollar las funciones que nuestra comunidad valora más. Tenga la seguridad de que Stirling PDF no puede y nunca podrá rastrear el contenido de los documentos con los que trabaja.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ces cookies sont essentiels
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analyse
|
cookieBanner.preferencesModal.analytics.title=Analyse
|
||||||
cookieBanner.preferencesModal.analytics.description=Ces cookies nous aident à comprendre comment nos outils sont utilisés, afin que nous puissions nous concentrer sur les fonctionnalités les plus appréciées par notre communauté. Soyez rassuré — Stirling PDF ne peut pas et ne suivra jamais le contenu des documents que vous utilisez.
|
cookieBanner.preferencesModal.analytics.description=Ces cookies nous aident à comprendre comment nos outils sont utilisés, afin que nous puissions nous concentrer sur les fonctionnalités les plus appréciées par notre communauté. Soyez rassuré — Stirling PDF ne peut pas et ne suivra jamais le contenu des documents que vous utilisez.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fausse numérisation
|
scannerEffect.title=Fausse numérisation
|
||||||
fakeScan.header=Fausse numérisation
|
scannerEffect.header=Fausse numérisation
|
||||||
fakeScan.description=Créer un PDF qui ressemble à une numérisation
|
scannerEffect.description=Créer un PDF qui ressemble à une numérisation
|
||||||
fakeScan.selectPDF=Sélectionner un PDF :
|
scannerEffect.selectPDF=Sélectionner un PDF :
|
||||||
fakeScan.quality=Qualité de numérisation
|
scannerEffect.quality=Qualité de numérisation
|
||||||
fakeScan.quality.low=Faible
|
scannerEffect.quality.low=Faible
|
||||||
fakeScan.quality.medium=Moyenne
|
scannerEffect.quality.medium=Moyenne
|
||||||
fakeScan.quality.high=Élevée
|
scannerEffect.quality.high=Élevée
|
||||||
fakeScan.rotation=Angle de rotation
|
scannerEffect.rotation=Angle de rotation
|
||||||
fakeScan.rotation.none=Aucun
|
scannerEffect.rotation.none=Aucun
|
||||||
fakeScan.rotation.slight=Léger
|
scannerEffect.rotation.slight=Léger
|
||||||
fakeScan.rotation.moderate=Modéré
|
scannerEffect.rotation.moderate=Modéré
|
||||||
fakeScan.rotation.severe=Sévère
|
scannerEffect.rotation.severe=Sévère
|
||||||
fakeScan.submit=Créer une fausse numérisation
|
scannerEffect.submit=Créer une fausse numérisation
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fausse numérisation
|
home.scannerEffect.title=Fausse numérisation
|
||||||
home.fakeScan.desc=Créer un PDF qui ressemble à une numérisation
|
home.scannerEffect.desc=Créer un PDF qui ressemble à une numérisation
|
||||||
fakeScan.tags=numérisation,simuler,réaliste,convertir,scan,simulate,realistic,convert
|
scannerEffect.tags=numérisation,simuler,réaliste,convertir,scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Activer les paramètres de numérisation avancés
|
scannerEffect.advancedSettings=Activer les paramètres de numérisation avancés
|
||||||
fakeScan.colorspace=Espace colorimétrique
|
scannerEffect.colorspace=Espace colorimétrique
|
||||||
fakeScan.colorspace.grayscale=Niveaux de gris
|
scannerEffect.colorspace.grayscale=Niveaux de gris
|
||||||
fakeScan.colorspace.color=Couleur
|
scannerEffect.colorspace.color=Couleur
|
||||||
fakeScan.border=Bordure (px)
|
scannerEffect.border=Bordure (px)
|
||||||
fakeScan.rotate=Rotation de base (degrés)
|
scannerEffect.rotate=Rotation de base (degrés)
|
||||||
fakeScan.rotateVariance=Variance de rotation (degrés)
|
scannerEffect.rotateVariance=Variance de rotation (degrés)
|
||||||
fakeScan.brightness=Luminosité
|
scannerEffect.brightness=Luminosité
|
||||||
fakeScan.contrast=Contraste
|
scannerEffect.contrast=Contraste
|
||||||
fakeScan.blur=Flou
|
scannerEffect.blur=Flou
|
||||||
fakeScan.noise=Bruit
|
scannerEffect.noise=Bruit
|
||||||
fakeScan.yellowish=Jaunâtre (simuler du vieux papier)
|
scannerEffect.yellowish=Jaunâtre (simuler du vieux papier)
|
||||||
fakeScan.resolution=Résolution (DPI)
|
scannerEffect.resolution=Résolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ezek a sütik elengedhetetle
|
|||||||
cookieBanner.preferencesModal.analytics.title=Adatelemzések
|
cookieBanner.preferencesModal.analytics.title=Adatelemzések
|
||||||
cookieBanner.preferencesModal.analytics.description=Ezek a sütik segítenek megérteni, hogyan használják eszközeinket, így a közösségünk által leginkább értékelt funkciókra összpontosíthatunk. Nyugodt lehet-a Stirling PDF nem képes és soha nem is fog nyomon követni az Ön által használt dokumentumok tartalmát.
|
cookieBanner.preferencesModal.analytics.description=Ezek a sütik segítenek megérteni, hogyan használják eszközeinket, így a közösségünk által leginkább értékelt funkciókra összpontosíthatunk. Nyugodt lehet-a Stirling PDF nem képes és soha nem is fog nyomon követni az Ön által használt dokumentumok tartalmát.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Látszat szkennelés
|
scannerEffect.title=Látszat szkennelés
|
||||||
fakeScan.header=Látszat szkennelés
|
scannerEffect.header=Látszat szkennelés
|
||||||
fakeScan.description=Olyan PDF létrehozása, amely szkenneltnek tűnik
|
scannerEffect.description=Olyan PDF létrehozása, amely szkenneltnek tűnik
|
||||||
fakeScan.selectPDF=PDF kiválasztása:
|
scannerEffect.selectPDF=PDF kiválasztása:
|
||||||
fakeScan.quality=Szkennelési minőség
|
scannerEffect.quality=Szkennelési minőség
|
||||||
fakeScan.quality.low=Alacsony
|
scannerEffect.quality.low=Alacsony
|
||||||
fakeScan.quality.medium=Közepes
|
scannerEffect.quality.medium=Közepes
|
||||||
fakeScan.quality.high=Magas
|
scannerEffect.quality.high=Magas
|
||||||
fakeScan.rotation=Forgatási szög
|
scannerEffect.rotation=Forgatási szög
|
||||||
fakeScan.rotation.none=Nincs
|
scannerEffect.rotation.none=Nincs
|
||||||
fakeScan.rotation.slight=Enyhe
|
scannerEffect.rotation.slight=Enyhe
|
||||||
fakeScan.rotation.moderate=Mérsékelt
|
scannerEffect.rotation.moderate=Mérsékelt
|
||||||
fakeScan.rotation.severe=Erős
|
scannerEffect.rotation.severe=Erős
|
||||||
fakeScan.submit=Látszat szkennelés létrehozása
|
scannerEffect.submit=Látszat szkennelés létrehozása
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Látszat szkennelés
|
home.scannerEffect.title=Látszat szkennelés
|
||||||
home.fakeScan.desc=Olyan PDF létrehozása, amely szkenneltnek tűnik
|
home.scannerEffect.desc=Olyan PDF létrehozása, amely szkenneltnek tűnik
|
||||||
fakeScan.tags=szkennelés,szimuláció,valósághű,konvertálás
|
scannerEffect.tags=szkennelés,szimuláció,valósághű,konvertálás
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Haladó szkennelési beállítások engedélyezése
|
scannerEffect.advancedSettings=Haladó szkennelési beállítások engedélyezése
|
||||||
fakeScan.colorspace=Színtér
|
scannerEffect.colorspace=Színtér
|
||||||
fakeScan.colorspace.grayscale=Szürkeárnyalatos
|
scannerEffect.colorspace.grayscale=Szürkeárnyalatos
|
||||||
fakeScan.colorspace.color=Színes
|
scannerEffect.colorspace.color=Színes
|
||||||
fakeScan.border=Keret (px)
|
scannerEffect.border=Keret (px)
|
||||||
fakeScan.rotate=Alapforgatás (fok)
|
scannerEffect.rotate=Alapforgatás (fok)
|
||||||
fakeScan.rotateVariance=Forgatási változó (fok)
|
scannerEffect.rotateVariance=Forgatási változó (fok)
|
||||||
fakeScan.brightness=Fényerő
|
scannerEffect.brightness=Fényerő
|
||||||
fakeScan.contrast=Kontraszt
|
scannerEffect.contrast=Kontraszt
|
||||||
fakeScan.blur=Elmosás
|
scannerEffect.blur=Elmosás
|
||||||
fakeScan.noise=Zaj
|
scannerEffect.noise=Zaj
|
||||||
fakeScan.yellowish=Sárgás (régi papír szimulálása)
|
scannerEffect.yellowish=Sárgás (régi papír szimulálása)
|
||||||
fakeScan.resolution=Felbontás (DPI)
|
scannerEffect.resolution=Felbontás (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Questi cookie sono essenzial
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
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.
|
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.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Falsa scansione
|
scannerEffect.title=Falsa scansione
|
||||||
fakeScan.header=Falsa scansione
|
scannerEffect.header=Falsa scansione
|
||||||
fakeScan.description=Crea un PDF che sembra scansionato
|
scannerEffect.description=Crea un PDF che sembra scansionato
|
||||||
fakeScan.selectPDF=Seleziona PDF:
|
scannerEffect.selectPDF=Seleziona PDF:
|
||||||
fakeScan.quality=Qualità di scansione
|
scannerEffect.quality=Qualità di scansione
|
||||||
fakeScan.quality.low=Bassa
|
scannerEffect.quality.low=Bassa
|
||||||
fakeScan.quality.medium=Media
|
scannerEffect.quality.medium=Media
|
||||||
fakeScan.quality.high=Alta
|
scannerEffect.quality.high=Alta
|
||||||
fakeScan.rotation=Angolo di rotazione
|
scannerEffect.rotation=Angolo di rotazione
|
||||||
fakeScan.rotation.none=Nessuno
|
scannerEffect.rotation.none=Nessuno
|
||||||
fakeScan.rotation.slight=Lieve
|
scannerEffect.rotation.slight=Lieve
|
||||||
fakeScan.rotation.moderate=Moderato
|
scannerEffect.rotation.moderate=Moderato
|
||||||
fakeScan.rotation.severe=Severo
|
scannerEffect.rotation.severe=Severo
|
||||||
fakeScan.submit=Crea una falsa scansione
|
scannerEffect.submit=Crea una falsa scansione
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Falsa scansione
|
home.scannerEffect.title=Falsa scansione
|
||||||
home.fakeScan.desc=Crea un PDF che sembra scansionato
|
home.scannerEffect.desc=Crea un PDF che sembra scansionato
|
||||||
fakeScan.tags=scansiona, simula, realistico, converti
|
scannerEffect.tags=scansiona, simula, realistico, converti
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Abilita impostazioni di scansione avanzate
|
scannerEffect.advancedSettings=Abilita impostazioni di scansione avanzate
|
||||||
fakeScan.colorspace=Spazio colore
|
scannerEffect.colorspace=Spazio colore
|
||||||
fakeScan.colorspace.grayscale=Scala di grigi
|
scannerEffect.colorspace.grayscale=Scala di grigi
|
||||||
fakeScan.colorspace.color=Colore
|
scannerEffect.colorspace.color=Colore
|
||||||
fakeScan.border=Bordo (px)
|
scannerEffect.border=Bordo (px)
|
||||||
fakeScan.rotate=Rotazione di base (gradi)
|
scannerEffect.rotate=Rotazione di base (gradi)
|
||||||
fakeScan.rotateVariance=Varianza di rotazione (gradi)
|
scannerEffect.rotateVariance=Varianza di rotazione (gradi)
|
||||||
fakeScan.brightness=Luminosità
|
scannerEffect.brightness=Luminosità
|
||||||
fakeScan.contrast=Contrasto
|
scannerEffect.contrast=Contrasto
|
||||||
fakeScan.blur=Sfocatura
|
scannerEffect.blur=Sfocatura
|
||||||
fakeScan.noise=Rumore
|
scannerEffect.noise=Rumore
|
||||||
fakeScan.yellowish=Giallastro (simula carta vecchia)
|
scannerEffect.yellowish=Giallastro (simula carta vecchia)
|
||||||
fakeScan.resolution=Risoluzione (DPI)
|
scannerEffect.resolution=Risoluzione (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=これらのCookieはウェ
|
|||||||
cookieBanner.preferencesModal.analytics.title=分析
|
cookieBanner.preferencesModal.analytics.title=分析
|
||||||
cookieBanner.preferencesModal.analytics.description=これらのCookieはツールがどのように使用されているかを把握するのに役立ちます。これによりコミュニティが最も重視する機能の開発に集中することができます。ご安心ください。Stirling PDFはお客様が操作するドキュメントの内容を追跡することは決してありません。
|
cookieBanner.preferencesModal.analytics.description=これらのCookieはツールがどのように使用されているかを把握するのに役立ちます。これによりコミュニティが最も重視する機能の開発に集中することができます。ご安心ください。Stirling PDFはお客様が操作するドキュメントの内容を追跡することは決してありません。
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=フェイクスキャン
|
scannerEffect.title=フェイクスキャン
|
||||||
fakeScan.header=フェイクスキャン
|
scannerEffect.header=フェイクスキャン
|
||||||
fakeScan.description=スキャンされたように見えるPDFを作成します
|
scannerEffect.description=スキャンされたように見えるPDFを作成します
|
||||||
fakeScan.selectPDF=PDFを選択:
|
scannerEffect.selectPDF=PDFを選択:
|
||||||
fakeScan.quality=スキャン品質
|
scannerEffect.quality=スキャン品質
|
||||||
fakeScan.quality.low=低
|
scannerEffect.quality.low=低
|
||||||
fakeScan.quality.medium=中
|
scannerEffect.quality.medium=中
|
||||||
fakeScan.quality.high=高
|
scannerEffect.quality.high=高
|
||||||
fakeScan.rotation=回転角度
|
scannerEffect.rotation=回転角度
|
||||||
fakeScan.rotation.none=なし
|
scannerEffect.rotation.none=なし
|
||||||
fakeScan.rotation.slight=微少
|
scannerEffect.rotation.slight=微少
|
||||||
fakeScan.rotation.moderate=適度
|
scannerEffect.rotation.moderate=適度
|
||||||
fakeScan.rotation.severe=多大
|
scannerEffect.rotation.severe=多大
|
||||||
fakeScan.submit=フェイクスキャンの生成
|
scannerEffect.submit=フェイクスキャンの生成
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=フェイクスキャン
|
home.scannerEffect.title=フェイクスキャン
|
||||||
home.fakeScan.desc=スキャンされたように見えるPDFを作成します
|
home.scannerEffect.desc=スキャンされたように見えるPDFを作成します
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=高度なスキャン設定を有効にする
|
scannerEffect.advancedSettings=高度なスキャン設定を有効にする
|
||||||
fakeScan.colorspace=色空間
|
scannerEffect.colorspace=色空間
|
||||||
fakeScan.colorspace.grayscale=グレースケール
|
scannerEffect.colorspace.grayscale=グレースケール
|
||||||
fakeScan.colorspace.color=カラー
|
scannerEffect.colorspace.color=カラー
|
||||||
fakeScan.border=縁 (px)
|
scannerEffect.border=縁 (px)
|
||||||
fakeScan.rotate=ベースの回転(度)
|
scannerEffect.rotate=ベースの回転(度)
|
||||||
fakeScan.rotateVariance=回転分散(度)
|
scannerEffect.rotateVariance=回転分散(度)
|
||||||
fakeScan.brightness=輝度
|
scannerEffect.brightness=輝度
|
||||||
fakeScan.contrast=コントラスト
|
scannerEffect.contrast=コントラスト
|
||||||
fakeScan.blur=ぼかし
|
scannerEffect.blur=ぼかし
|
||||||
fakeScan.noise=ノイズ
|
scannerEffect.noise=ノイズ
|
||||||
fakeScan.yellowish=黄色がかった(古い紙をシミュレート)
|
scannerEffect.yellowish=黄色がかった(古い紙をシミュレート)
|
||||||
fakeScan.resolution=解像度 (DPI)
|
scannerEffect.resolution=解像度 (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=വെബ്സൈറ്റ
|
|||||||
cookieBanner.preferencesModal.analytics.title=അനലിറ്റിക്സ്
|
cookieBanner.preferencesModal.analytics.title=അനലിറ്റിക്സ്
|
||||||
cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല.
|
cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Estes cookies são essenciai
|
|||||||
cookieBanner.preferencesModal.analytics.title=Cookies Analíticos
|
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.
|
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.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -221,7 +221,7 @@ error.fileNotFound=Файл с идентификатором: {0} не найд
|
|||||||
# Database and configuration messages
|
# Database and configuration messages
|
||||||
error.noBackupScripts=Сценарий резервного копирования не найден
|
error.noBackupScripts=Сценарий резервного копирования не найден
|
||||||
error.unsupportedProvider={0} в настоящее время не поддерживается.
|
error.unsupportedProvider={0} в настоящее время не поддерживается.
|
||||||
error.pathTraversalDetected=Path traversal detected for security reasons.
|
error.pathTraversalDetected=Обнаружено пересечение пути по соображениям безопасности.
|
||||||
|
|
||||||
# Validation messages
|
# Validation messages
|
||||||
error.invalidArgument=Недопустимый аргумент: {0}
|
error.invalidArgument=Недопустимый аргумент: {0}
|
||||||
@ -439,8 +439,8 @@ adminUserSettings.activeUsers=Активные пользователи:
|
|||||||
adminUserSettings.disabledUsers=Отключенные пользователи:
|
adminUserSettings.disabledUsers=Отключенные пользователи:
|
||||||
adminUserSettings.totalUsers=Всего пользователей:
|
adminUserSettings.totalUsers=Всего пользователей:
|
||||||
adminUserSettings.lastRequest=Последний запрос
|
adminUserSettings.lastRequest=Последний запрос
|
||||||
adminUserSettings.usage=View Usage
|
adminUserSettings.usage=Просмотр использования
|
||||||
adminUserSettings.teams=View/Edit Teams
|
adminUserSettings.teams=Просмотр/редактирование групп
|
||||||
adminUserSettings.team=Группа
|
adminUserSettings.team=Группа
|
||||||
adminUserSettings.manageTeams=Управление группами
|
adminUserSettings.manageTeams=Управление группами
|
||||||
adminUserSettings.createTeam=Создать группу
|
adminUserSettings.createTeam=Создать группу
|
||||||
@ -454,34 +454,34 @@ adminUserSettings.teamHidden=Скрытая
|
|||||||
adminUserSettings.totalMembers=Общее количество участников
|
adminUserSettings.totalMembers=Общее количество участников
|
||||||
adminUserSettings.confirmDeleteTeam=Вы уверены, что хотите удалить эту группу?
|
adminUserSettings.confirmDeleteTeam=Вы уверены, что хотите удалить эту группу?
|
||||||
|
|
||||||
teamCreated=Team created successfully
|
teamCreated=Группа успешно создана
|
||||||
teamExists=A team with that name already exists
|
teamExists=Группа с таким названием уже существует
|
||||||
teamNameExists=Another team with that name already exists
|
teamNameExists=Другая группа с таким названием уже существует
|
||||||
teamNotFound=Team not found
|
teamNotFound=Группа не найдена
|
||||||
teamDeleted=Team deleted
|
teamDeleted=Группа удалена
|
||||||
teamHasUsers=Cannot delete a team with users assigned
|
teamHasUsers=Не удается удалить группу с назначенными пользователями
|
||||||
teamRenamed=Team renamed successfully
|
teamRenamed=Команда успешно переименована
|
||||||
|
|
||||||
# Team user management
|
# Team user management
|
||||||
team.addUser=Add User to Team
|
team.addUser=Добавить пользователя в группу
|
||||||
team.selectUser=Select User
|
team.selectUser=Выбрать пользователя
|
||||||
team.warning.moveUser=Warning: This will move the user from "{0}" team to "{1}" team. Are you sure?
|
team.warning.moveUser=Внимание: Это приведет к перемещению пользователя из группы "{0}" в группу "{1}". Вы уверены?
|
||||||
team.confirm.moveUser=Are you sure you want to move this user from "{0}" team to "{1}" team?
|
team.confirm.moveUser=Вы уверены, что хотите перевести этого пользователя из группы "{0}" в группу "{1}"?
|
||||||
team.userAdded=User successfully added to team
|
team.userAdded=Пользователь успешно добавлен в группу
|
||||||
team.back=Back to Teams
|
team.back=Назад в группы
|
||||||
team.internal=Internal Team
|
team.internal=Внутренняя группа
|
||||||
team.internalTeamNotAccessible=The Internal team is a system team and cannot be accessed
|
team.internalTeamNotAccessible=Внутренняя группа - это системная группа, и доступ к ней невозможен
|
||||||
team.cannotMoveInternalUsers=Users in the Internal team cannot be moved to other teams
|
team.cannotMoveInternalUsers=Пользователи из внутренней группы не могут быть переведены в другие группы
|
||||||
team.hidden=Hidden
|
team.hidden=Скрытая
|
||||||
team.name=Team Name
|
team.name=Имя группы
|
||||||
team.totalMembers=Total Members
|
team.totalMembers=Общее количество участников
|
||||||
team.members=Members
|
team.members=Участники
|
||||||
team.username=Username
|
team.username=Имя пользователя
|
||||||
team.role=Role
|
team.role=Роль
|
||||||
team.status=Status
|
team.status=Статус
|
||||||
team.enabled=Enabled
|
team.enabled=Включен
|
||||||
team.disabled=Disabled
|
team.disabled=Отключен
|
||||||
team.noMembers=This team has no members yet.
|
team.noMembers=В этой команде пока нет участников.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -565,16 +565,16 @@ split.tags=операции со страницами,разделение,мн
|
|||||||
|
|
||||||
home.rotate.title=Повернуть
|
home.rotate.title=Повернуть
|
||||||
home.rotate.desc=Легко поворачивайте ваши PDF-файлы.
|
home.rotate.desc=Легко поворачивайте ваши PDF-файлы.
|
||||||
rotate.tags=серверная часть
|
rotate.tags=повернуть,наклонить
|
||||||
|
|
||||||
|
|
||||||
home.imageToPdf.title=Изображение в PDF
|
home.imageToPdf.title=Изображение в PDF
|
||||||
home.imageToPdf.desc=Преобразование изображения (PNG, JPEG, GIF) в PDF.
|
home.imageToPdf.desc=Преобразование изображения (PNG, JPEG, GIF) в PDF.
|
||||||
imageToPdf.tags=конвертация,изображение,jpg,картинка,фото
|
imageToPdf.tags=png,jpeg,gif,конвертация,изображение,картинка,фото
|
||||||
|
|
||||||
home.pdfToImage.title=PDF в изображение
|
home.pdfToImage.title=PDF в изображение
|
||||||
home.pdfToImage.desc=Преобразование PDF в изображение (PNG, JPEG, GIF).
|
home.pdfToImage.desc=Преобразование PDF в изображение (PNG, JPEG, GIF).
|
||||||
pdfToImage.tags=конвертация,изображение,jpg,картинка,фото
|
pdfToImage.tags=png,jpeg,gif,конвертация,изображение,картинка,фото
|
||||||
|
|
||||||
home.pdfOrganiser.title=Организация
|
home.pdfOrganiser.title=Организация
|
||||||
home.pdfOrganiser.desc=Удаление/переупорядочивание страниц в любом порядке
|
home.pdfOrganiser.desc=Удаление/переупорядочивание страниц в любом порядке
|
||||||
@ -587,7 +587,7 @@ addImage.tags=изображение,jpg,картинка,фото
|
|||||||
|
|
||||||
home.attachments.title=Добавлять вложения
|
home.attachments.title=Добавлять вложения
|
||||||
home.attachments.desc=Добавление или удаление встроенных файлов (вложений) в PDF-файл или из него
|
home.attachments.desc=Добавление или удаление встроенных файлов (вложений) в PDF-файл или из него
|
||||||
attachments.tags=embed,attach,file,attachment,attachments
|
attachments.tags=вставлять,прикреплять,файл,вложение,вложения
|
||||||
|
|
||||||
home.watermark.title=Добавить водяной знак
|
home.watermark.title=Добавить водяной знак
|
||||||
home.watermark.desc=Добавьте собственный водяной знак в ваш PDF-документ.
|
home.watermark.desc=Добавьте собственный водяной знак в ваш PDF-документ.
|
||||||
@ -615,8 +615,8 @@ home.compressPdfs.desc=Сжимайте PDF-файлы для уменьшени
|
|||||||
compressPdfs.tags=сжатие,маленький,крошечный
|
compressPdfs.tags=сжатие,маленький,крошечный
|
||||||
|
|
||||||
home.unlockPDFForms.title=Разблокировать PDF-формы
|
home.unlockPDFForms.title=Разблокировать PDF-формы
|
||||||
home.unlockPDFForms.desc=Удалите свойство "только для чтения" для полей формы в PDF-документа.
|
home.unlockPDFForms.desc=Удалите свойство 'только для чтения' для полей формы в PDF-документа.
|
||||||
unlockPDFForms.tags=remove,delete,form,field,readonly
|
unlockPDFForms.tags=удалить,форма,поле,только для чтения
|
||||||
|
|
||||||
home.changeMetadata.title=Изменить метаданные
|
home.changeMetadata.title=Изменить метаданные
|
||||||
home.changeMetadata.desc=Изменить/удалить/добавить метаданные из PDF-документа
|
home.changeMetadata.desc=Изменить/удалить/добавить метаданные из PDF-документа
|
||||||
@ -644,15 +644,15 @@ PDFToWord.tags=doc,docx,odt,word,преобразование,формат,ко
|
|||||||
|
|
||||||
home.PDFToPresentation.title=PDF в презентацию
|
home.PDFToPresentation.title=PDF в презентацию
|
||||||
home.PDFToPresentation.desc=Преобразование PDF в форматы презентаций (PPT, PPTX и ODP)
|
home.PDFToPresentation.desc=Преобразование PDF в форматы презентаций (PPT, PPTX и ODP)
|
||||||
PDFToPresentation.tags=слайды,показ,офис,microsoft
|
PDFToPresentation.tags=слайды,презентация,офис,microsoft
|
||||||
|
|
||||||
home.PDFToText.title=PDF в RTF (текст)
|
home.PDFToText.title=PDF в RTF (текст)
|
||||||
home.PDFToText.desc=Преобразование PDF в текстовый или RTF формат
|
home.PDFToText.desc=Преобразование PDF в текстовый или RTF формат
|
||||||
PDFToText.tags=richformat,richtextformat,rich text format
|
PDFToText.tags=rtf,richformat,richtextformat,rich text format
|
||||||
|
|
||||||
home.PDFToHTML.title=PDF в HTML
|
home.PDFToHTML.title=PDF в HTML
|
||||||
home.PDFToHTML.desc=Преобразование PDF в формат HTML
|
home.PDFToHTML.desc=Преобразование PDF в формат HTML
|
||||||
PDFToHTML.tags=веб-контент,браузерный формат
|
PDFToHTML.tags=html,веб-контент,браузерный формат
|
||||||
|
|
||||||
|
|
||||||
home.PDFToXML.title=PDF в XML
|
home.PDFToXML.title=PDF в XML
|
||||||
@ -733,16 +733,16 @@ sanitizePdf.tags=очистка,безопасность,защита,удале
|
|||||||
|
|
||||||
home.URLToPDF.title=URL/веб-сайт в PDF
|
home.URLToPDF.title=URL/веб-сайт в PDF
|
||||||
home.URLToPDF.desc=Преобразует любой http(s)URL в PDF
|
home.URLToPDF.desc=Преобразует любой http(s)URL в PDF
|
||||||
URLToPDF.tags=веб-захват,сохранение страницы,веб в док,архивация
|
URLToPDF.tags=url,веб-захват,сохранение страницы,веб в док,архивация
|
||||||
|
|
||||||
home.HTMLToPDF.title=HTML в PDF
|
home.HTMLToPDF.title=HTML в PDF
|
||||||
home.HTMLToPDF.desc=Преобразует любой HTML-файл или zip в PDF
|
home.HTMLToPDF.desc=Преобразует любой HTML-файл или zip в PDF
|
||||||
HTMLToPDF.tags=разметка,веб-контент,преобразование,конвертация
|
HTMLToPDF.tags=html,разметка,веб-контент,преобразование,конвертация
|
||||||
|
|
||||||
#eml-to-pdf
|
#eml-to-pdf
|
||||||
home.EMLToPDF.title=Email в PDF
|
home.EMLToPDF.title=Email в PDF
|
||||||
home.EMLToPDF.desc=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения
|
home.EMLToPDF.desc=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения
|
||||||
EMLToPDF.tags=email,conversion,eml,message,transformation,convert,mail
|
EMLToPDF.tags=eml,email,сообщение,преобразование,конвертация,почта,письмо
|
||||||
|
|
||||||
EMLToPDF.title=Email в PDF
|
EMLToPDF.title=Email в PDF
|
||||||
EMLToPDF.header=Email в PDF
|
EMLToPDF.header=Email в PDF
|
||||||
@ -752,17 +752,17 @@ EMLToPDF.downloadHtmlHelp=Это позволит вам просмотреть
|
|||||||
EMLToPDF.includeAttachments=Включать вложения в формате PDF
|
EMLToPDF.includeAttachments=Включать вложения в формате PDF
|
||||||
EMLToPDF.maxAttachmentSize=Максимальный размер вложения (MB)
|
EMLToPDF.maxAttachmentSize=Максимальный размер вложения (MB)
|
||||||
EMLToPDF.help=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения
|
EMLToPDF.help=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения
|
||||||
EMLToPDF.troubleshootingTip1=Электронная почта в формате HTML является более надежным процессом, поэтому при пакетной обработке рекомендуется сохранять оба
|
EMLToPDF.troubleshootingTip1=Электронная почта в формате HTML является более надежным процессом, поэтому при пакетной обработке рекомендуется сохранять оба формата
|
||||||
EMLToPDF.troubleshootingTip2=При небольшом количестве электронных писем, если формат PDF искажен, вы можете загрузить HTML и переопределить часть проблемного HTML/CSS-кода.
|
EMLToPDF.troubleshootingTip2=При небольшом количестве электронных писем, если формат PDF искажен, вы можете загрузить HTML и переопределить часть проблемного HTML/CSS-кода.
|
||||||
EMLToPDF.troubleshootingTip3=Embeddings, however, do not work with HTMLs
|
EMLToPDF.troubleshootingTip3=Однако, встраивания не работают с HTMLs
|
||||||
|
|
||||||
home.MarkdownToPDF.title=Markdown в PDF
|
home.MarkdownToPDF.title=Markdown в PDF
|
||||||
home.MarkdownToPDF.desc=Преобразует любой файл Markdown в PDF
|
home.MarkdownToPDF.desc=Преобразует любой файл Markdown в PDF
|
||||||
MarkdownToPDF.tags=разметка,веб-контент,преобразование,конвертация
|
MarkdownToPDF.tags=разметка,веб-контент,преобразование,конвертация,md
|
||||||
|
|
||||||
home.PDFToMarkdown.title=PDF to Markdown
|
home.PDFToMarkdown.title=PDF to Markdown
|
||||||
home.PDFToMarkdown.desc=Преобразует любой PDF-файл в формат Markdown
|
home.PDFToMarkdown.desc=Преобразует любой PDF-файл в формат Markdown
|
||||||
PDFToMarkdown.tags=markup,web-content,transformation,convert,md
|
PDFToMarkdown.tags=разметка,веб-контент,преобразование,конвертацтя,md
|
||||||
|
|
||||||
home.getPdfInfo.title=Получить ВСЮ информацию о PDF
|
home.getPdfInfo.title=Получить ВСЮ информацию о PDF
|
||||||
home.getPdfInfo.desc=Собирает всю возможную информацию о PDF
|
home.getPdfInfo.desc=Собирает всю возможную информацию о PDF
|
||||||
@ -781,11 +781,11 @@ PdfToSinglePage.tags=одна страница
|
|||||||
|
|
||||||
home.showJS.title=Показать Javascript
|
home.showJS.title=Показать Javascript
|
||||||
home.showJS.desc=Ищет и отображает любой JS, внедрённый в PDF
|
home.showJS.desc=Ищет и отображает любой JS, внедрённый в PDF
|
||||||
showJS.tags=JS
|
showJS.tags=JS,Javascript
|
||||||
|
|
||||||
home.autoRedact.title=Автоматическое редактирование
|
home.autoRedact.title=Автоматическое редактирование
|
||||||
home.autoRedact.desc=Автоматически закрашивает (чернит) текст в PDF на основе входного текста
|
home.autoRedact.desc=Автоматически закрашивает (чернит) текст в PDF на основе входного текста
|
||||||
autoRedact.tags=Редактирование,Скрытие,зачернение,чёрный,маркер,скрытый
|
autoRedact.tags=Редактирование,Скрытие,зачернение,чёрный,маркер,скрытый,автоматический
|
||||||
|
|
||||||
home.redact.title=Ручное редактирование
|
home.redact.title=Ручное редактирование
|
||||||
home.redact.desc=Редактирует PDF на основе выбранного текста, нарисованных форм и/или выбранных страниц
|
home.redact.desc=Редактирует PDF на основе выбранного текста, нарисованных форм и/или выбранных страниц
|
||||||
@ -798,7 +798,7 @@ tableExtraxt.tags=CSV,Извлечение таблиц,извлечение,к
|
|||||||
|
|
||||||
home.autoSizeSplitPDF.title=Авторазделение по размеру/количеству
|
home.autoSizeSplitPDF.title=Авторазделение по размеру/количеству
|
||||||
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
|
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
|
||||||
autoSizeSplitPDF.tags=pdf,разделение,документ,организация
|
autoSizeSplitPDF.tags=разделение,документ,организация
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=Наложение PDF
|
home.overlay-pdfs.title=Наложение PDF
|
||||||
@ -807,25 +807,25 @@ overlay-pdfs.tags=Наложение
|
|||||||
|
|
||||||
home.split-by-sections.title=Разделить PDF по секциям
|
home.split-by-sections.title=Разделить PDF по секциям
|
||||||
home.split-by-sections.desc=Разделяет каждую страницу PDF на меньшие горизонтальные и вертикальные секции
|
home.split-by-sections.desc=Разделяет каждую страницу PDF на меньшие горизонтальные и вертикальные секции
|
||||||
split-by-sections.tags=Разделение по секциям,Разделить,Настроить
|
split-by-sections.tags=Разделение по секциям,Разделить
|
||||||
|
|
||||||
home.AddStampRequest.title=Добавить штамп в PDF
|
home.AddStampRequest.title=Добавить штамп в PDF
|
||||||
home.AddStampRequest.desc=Добавляет текстовые или графические штампы в указанных местах
|
home.AddStampRequest.desc=Добавляет текстовые или графические штампы в указанных местах
|
||||||
AddStampRequest.tags=Штамп,Добавить изображение,центрировать изображение,Водяной знак,PDF,Встраивание,Настройка
|
AddStampRequest.tags=Штамп,Добавить изображение,центрировать изображение,Водяной знак,Встраивание
|
||||||
|
|
||||||
|
|
||||||
home.removeImagePdf.title=Удалить изображение
|
home.removeImagePdf.title=Удалить изображение
|
||||||
home.removeImagePdf.desc=Удаляет изображения из PDF для уменьшения размера файла
|
home.removeImagePdf.desc=Удаляет изображения из PDF для уменьшения размера файла
|
||||||
removeImagePdf.tags=Удаление изображения,операции со страницами,Серверная часть
|
removeImagePdf.tags=Удаление изображения,операции со страницами
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Разделить PDF по главам
|
home.splitPdfByChapters.title=Разделить PDF по главам
|
||||||
home.splitPdfByChapters.desc=Разделяет PDF на несколько файлов на основе структуры его глав
|
home.splitPdfByChapters.desc=Разделяет PDF на несколько файлов на основе структуры его глав
|
||||||
splitPdfByChapters.tags=разделение,главы,закладки,организация
|
splitPdfByChapters.tags=разделение,главы,закладки,оглавление
|
||||||
|
|
||||||
home.validateSignature.title=Проверка подписи PDF
|
home.validateSignature.title=Проверка подписи PDF
|
||||||
home.validateSignature.desc=Проверка цифровых подписей и сертификатов в PDF-документах
|
home.validateSignature.desc=Проверка цифровых подписей и сертификатов в PDF-документах
|
||||||
validateSignature.tags=подпись,проверка,валидация,pdf,сертификат,цифровая подпись,Проверка подписи,Проверка сертификата
|
validateSignature.tags=подпись,проверка,валидация,сертификат,цифровая подпись,проверка подписи,проверка сертификата
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Замена-Инверсия цвета
|
replace-color.title=Замена-Инверсия цвета
|
||||||
@ -941,7 +941,7 @@ getPdfInfo.title=Получить информацию о PDF
|
|||||||
getPdfInfo.header=Получить информацию о PDF
|
getPdfInfo.header=Получить информацию о PDF
|
||||||
getPdfInfo.submit=Получить информацию
|
getPdfInfo.submit=Получить информацию
|
||||||
getPdfInfo.downloadJson=Скачать JSON
|
getPdfInfo.downloadJson=Скачать JSON
|
||||||
getPdfInfo.summary=PDF Summary
|
getPdfInfo.summary=Краткое содержание PDF-файла
|
||||||
getPdfInfo.summary.encrypted=Этот PDF-файл зашифрован, поэтому с некоторыми приложениями могут возникнуть проблемы
|
getPdfInfo.summary.encrypted=Этот PDF-файл зашифрован, поэтому с некоторыми приложениями могут возникнуть проблемы
|
||||||
getPdfInfo.summary.permissions=Этот PDF-файл имеет {0} ограниченные права доступа, которые могут ограничить то, что вы можете с ним делать
|
getPdfInfo.summary.permissions=Этот PDF-файл имеет {0} ограниченные права доступа, которые могут ограничить то, что вы можете с ним делать
|
||||||
getPdfInfo.summary.compliance=Этот PDF-файл соответствует стандарту {0}
|
getPdfInfo.summary.compliance=Этот PDF-файл соответствует стандарту {0}
|
||||||
@ -951,18 +951,18 @@ getPdfInfo.summary.encrypted.alert=Зашифрованный PDF-файл - э
|
|||||||
getPdfInfo.summary.not.encrypted.alert=Незашифрованный PDF-файл - без защиты паролем
|
getPdfInfo.summary.not.encrypted.alert=Незашифрованный PDF-файл - без защиты паролем
|
||||||
getPdfInfo.summary.permissions.alert=Права доступа ограничены - {0} действия запрещены
|
getPdfInfo.summary.permissions.alert=Права доступа ограничены - {0} действия запрещены
|
||||||
getPdfInfo.summary.all.permissions.alert=Полные права доступа
|
getPdfInfo.summary.all.permissions.alert=Полные права доступа
|
||||||
getPdfInfo.summary.compliance.alert={0} Compliant
|
getPdfInfo.summary.compliance.alert={0} Совместимый
|
||||||
getPdfInfo.summary.no.compliance.alert=No Compliance Standards
|
getPdfInfo.summary.no.compliance.alert=Не содержит стандартов соответствия
|
||||||
getPdfInfo.summary.security.section=Security Status
|
getPdfInfo.summary.security.section=Уровень безопасности
|
||||||
getPdfInfo.section.BasicInfo=Basic Information about the PDF document including file size, page count, and language
|
getPdfInfo.section.BasicInfo=Основная информация о документе PDF включает: размер файла, количество страниц и язык
|
||||||
getPdfInfo.section.Metadata=Document metadata including title, author, creation date and other document properties
|
getPdfInfo.section.Metadata=Метаданные документа содержат: название, автора, дату создания и другие свойства документа
|
||||||
getPdfInfo.section.DocumentInfo=Technical details about the PDF document structure and version
|
getPdfInfo.section.DocumentInfo=Технические подробности о структуре и версии PDF-документа
|
||||||
getPdfInfo.section.Compliancy=PDF standards compliance information (PDF/A, PDF/X, etc.)
|
getPdfInfo.section.Compliancy=Информация о соответствии стандартам PDF (PDF/A, PDF/X, и т.д.)
|
||||||
getPdfInfo.section.Encryption=Security and encryption details of the document
|
getPdfInfo.section.Encryption=Сведения о безопасности и шифровании документа
|
||||||
getPdfInfo.section.Permissions=Document permission settings that control what actions can be performed
|
getPdfInfo.section.Permissions=Настройки разрешений документа, контролирующие, какие действия можно выполнять
|
||||||
getPdfInfo.section.Other=Additional document components like bookmarks, layers, and embedded files
|
getPdfInfo.section.Other=Дополнительные компоненты документа, такие как закладки, слои и встроенные файлы
|
||||||
getPdfInfo.section.FormFields=Interactive form fields present in the document
|
getPdfInfo.section.FormFields=Поля интерактивной формы, присутствующие в документе
|
||||||
getPdfInfo.section.PerPageInfo=Detailed information about each page in the document
|
getPdfInfo.section.PerPageInfo=Подробная информация о каждой странице документа
|
||||||
|
|
||||||
|
|
||||||
#markdown-to-pdf
|
#markdown-to-pdf
|
||||||
@ -970,7 +970,7 @@ MarkdownToPDF.title=Markdown в PDF
|
|||||||
MarkdownToPDF.header=Markdown в PDF
|
MarkdownToPDF.header=Markdown в PDF
|
||||||
MarkdownToPDF.submit=Преобразовать
|
MarkdownToPDF.submit=Преобразовать
|
||||||
MarkdownToPDF.help=В разработке
|
MarkdownToPDF.help=В разработке
|
||||||
MarkdownToPDF.credit=Использует WeasyPrint
|
MarkdownToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов
|
||||||
|
|
||||||
|
|
||||||
#pdf-to-markdown
|
#pdf-to-markdown
|
||||||
@ -983,7 +983,7 @@ PDFToMarkdown.submit=Преобразовать
|
|||||||
URLToPDF.title=URL в PDF
|
URLToPDF.title=URL в PDF
|
||||||
URLToPDF.header=URL в PDF
|
URLToPDF.header=URL в PDF
|
||||||
URLToPDF.submit=Преобразовать
|
URLToPDF.submit=Преобразовать
|
||||||
URLToPDF.credit=Использует WeasyPrint
|
URLToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов
|
||||||
|
|
||||||
|
|
||||||
#html-to-pdf
|
#html-to-pdf
|
||||||
@ -991,7 +991,7 @@ HTMLToPDF.title=HTML в PDF
|
|||||||
HTMLToPDF.header=HTML в PDF
|
HTMLToPDF.header=HTML в PDF
|
||||||
HTMLToPDF.help=Принимает HTML-файлы и ZIP-архивы, содержащие html/css/изображения и т.д.
|
HTMLToPDF.help=Принимает HTML-файлы и ZIP-архивы, содержащие html/css/изображения и т.д.
|
||||||
HTMLToPDF.submit=Преобразовать
|
HTMLToPDF.submit=Преобразовать
|
||||||
HTMLToPDF.credit=Использует WeasyPrint
|
HTMLToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов
|
||||||
HTMLToPDF.zoom=Уровень масштабирования для отображения веб-сайта.
|
HTMLToPDF.zoom=Уровень масштабирования для отображения веб-сайта.
|
||||||
HTMLToPDF.pageWidth=Ширина страницы в сантиметрах. (Пусто для значения по умолчанию)
|
HTMLToPDF.pageWidth=Ширина страницы в сантиметрах. (Пусто для значения по умолчанию)
|
||||||
HTMLToPDF.pageHeight=Высота страницы в сантиметрах. (Пусто для значения по умолчанию)
|
HTMLToPDF.pageHeight=Высота страницы в сантиметрах. (Пусто для значения по умолчанию)
|
||||||
@ -1047,7 +1047,7 @@ addPageNumbers.selectText.4=Начальный номер
|
|||||||
addPageNumbers.selectText.5=Страницы для нумерации
|
addPageNumbers.selectText.5=Страницы для нумерации
|
||||||
addPageNumbers.selectText.6=Пользовательский текст
|
addPageNumbers.selectText.6=Пользовательский текст
|
||||||
addPageNumbers.customTextDesc=Пользовательский текст
|
addPageNumbers.customTextDesc=Пользовательский текст
|
||||||
addPageNumbers.numberPagesDesc=Какие страницы нумеровать, по умолчанию 'все', также принимает 1-5 или 2,5,9 и т.д.
|
addPageNumbers.numberPagesDesc=Какие страницы нумеровать, по умолчанию 'все', также принимаются значения 1-5 или 2,5,9 и т.д.
|
||||||
addPageNumbers.customNumberDesc=По умолчанию {n}, также принимает 'Страница {n} из {total}', 'Текст-{n}', '{filename}-{n}'
|
addPageNumbers.customNumberDesc=По умолчанию {n}, также принимает 'Страница {n} из {total}', 'Текст-{n}', '{filename}-{n}'
|
||||||
addPageNumbers.submit=Добавить номера страниц
|
addPageNumbers.submit=Добавить номера страниц
|
||||||
|
|
||||||
@ -1083,7 +1083,7 @@ autoSplitPDF.selectText.3=Загрузите один большой отска
|
|||||||
autoSplitPDF.selectText.4=Разделительные страницы автоматически обнаруживаются и удаляются, гарантируя аккуратный конечный документ.
|
autoSplitPDF.selectText.4=Разделительные страницы автоматически обнаруживаются и удаляются, гарантируя аккуратный конечный документ.
|
||||||
autoSplitPDF.formPrompt=Отправить PDF, содержащий разделители страниц Stirling-PDF:
|
autoSplitPDF.formPrompt=Отправить PDF, содержащий разделители страниц Stirling-PDF:
|
||||||
autoSplitPDF.duplexMode=Двусторонний режим (сканирование с двух сторон)
|
autoSplitPDF.duplexMode=Двусторонний режим (сканирование с двух сторон)
|
||||||
autoSplitPDF.dividerDownload2=Скачать 'Автоматический разделитель (с инструкциями).pdf'
|
autoSplitPDF.dividerDownload2=Скачать 'Auto Splitter Divider (with instructions).pdf'
|
||||||
autoSplitPDF.submit=Отправить
|
autoSplitPDF.submit=Отправить
|
||||||
|
|
||||||
|
|
||||||
@ -1253,7 +1253,7 @@ fileToPDF.submit=Преобразовать в PDF
|
|||||||
compress.title=Сжать
|
compress.title=Сжать
|
||||||
compress.header=Сжать PDF
|
compress.header=Сжать PDF
|
||||||
compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF.
|
compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF.
|
||||||
compress.grayscale.label=Применить шкалу серого для сжатия
|
compress.grayscale.label=Примените оттенки серого для сжатия
|
||||||
compress.selectText.1=Параметры сжатия
|
compress.selectText.1=Параметры сжатия
|
||||||
compress.selectText.1.1=1-3 сжатие PDF,</br> 4-6 лёгкое сжатие изображений,</br> 7-9 интенсивное сжатие изображений (значительно снижает качество изображений)
|
compress.selectText.1.1=1-3 сжатие PDF,</br> 4-6 лёгкое сжатие изображений,</br> 7-9 интенсивное сжатие изображений (значительно снижает качество изображений)
|
||||||
compress.selectText.2=Уровень оптимизации:
|
compress.selectText.2=Уровень оптимизации:
|
||||||
@ -1265,7 +1265,7 @@ compress.submit=Сжать
|
|||||||
#Add image
|
#Add image
|
||||||
addImage.title=Добавить изображение
|
addImage.title=Добавить изображение
|
||||||
addImage.header=Добавить изображение в PDF
|
addImage.header=Добавить изображение в PDF
|
||||||
addImage.everyPage=Каждая страница?
|
addImage.everyPage=На каждую страницу?
|
||||||
addImage.upload=Добавить изображение
|
addImage.upload=Добавить изображение
|
||||||
addImage.submit=Добавить изображение
|
addImage.submit=Добавить изображение
|
||||||
|
|
||||||
@ -1341,7 +1341,7 @@ decrypt.serverError=Ошибка сервера при расшифровке: {
|
|||||||
decrypt.success=Файл успешно расшифрован.
|
decrypt.success=Файл успешно расшифрован.
|
||||||
|
|
||||||
#multiTool-advert
|
#multiTool-advert
|
||||||
multiTool-advert.message=Эта функция также доступна на нашей <a href="{0}">странице мультиинструмента</a>. Попробуйте её для улучшенного постраничного интерфейса и дополнительных возможностей!
|
multiTool-advert.message=Эта функция также доступна на нашей <a href="{0}">странице мультиинструментов</a>. Ознакомьтесь с расширенным постраничным интерфейсом и дополнительными функциями!
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Смотреть/Редактировать PDF
|
viewPdf.title=Смотреть/Редактировать PDF
|
||||||
@ -1486,7 +1486,7 @@ changeMetadata.keywords=Ключевые слова:
|
|||||||
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
|
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
|
||||||
changeMetadata.producer=Производитель:
|
changeMetadata.producer=Производитель:
|
||||||
changeMetadata.subject=Тема:
|
changeMetadata.subject=Тема:
|
||||||
changeMetadata.trapped=Trapped:
|
changeMetadata.trapped=Захвачен:
|
||||||
changeMetadata.selectText.4=Другие метаданные:
|
changeMetadata.selectText.4=Другие метаданные:
|
||||||
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
|
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
|
||||||
changeMetadata.submit=Изменить
|
changeMetadata.submit=Изменить
|
||||||
@ -1614,15 +1614,15 @@ survey.please=Пожалуйста, примите участие в нашем
|
|||||||
survey.disabled=(Всплывающее окно опроса будет отключено в следующих обновлениях, но будет доступно в нижней части страницы)
|
survey.disabled=(Всплывающее окно опроса будет отключено в следующих обновлениях, но будет доступно в нижней части страницы)
|
||||||
survey.button=Пройти опрос
|
survey.button=Пройти опрос
|
||||||
survey.dontShowAgain=Больше не показывать
|
survey.dontShowAgain=Больше не показывать
|
||||||
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.1=Если вы используете Stirling PDF в своей работе, мы будем рады с вами пообщаться. Мы предлагаем сеансы технической поддержки в обмен на 15-минутный сеанс знакомства с пользователями.
|
||||||
survey.meeting.2=This is a chance to:
|
survey.meeting.2=Это возможность:
|
||||||
survey.meeting.3=Get help with deployment, integrations, or troubleshooting
|
survey.meeting.3=Получить помощь в развертывании, интеграции или устранении неполадок
|
||||||
survey.meeting.4=Provide direct feedback on performance, edge cases, and feature gaps
|
survey.meeting.4=Предоставляйте прямые отзывы о производительности, передовых решениях и недостатках в функциях
|
||||||
survey.meeting.5=Help us refine Stirling PDF for real-world enterprise use
|
survey.meeting.5=Помогите нам усовершенствовать Stirling PDF для использования в реальных корпоративных условиях
|
||||||
survey.meeting.6=If you're interested, you can book time with our team directly. (English speaking only)
|
survey.meeting.6=Если вы заинтересованы, вы можете забронировать время у нашей команды напрямую. (Только для говорящих по-английски)
|
||||||
survey.meeting.7=Looking forward to digging into your use cases and making Stirling PDF even better!
|
survey.meeting.7=С нетерпением ждем возможности изучить ваши варианты использования и сделать Stirling PDF еще лучше!
|
||||||
survey.meeting.notInterested=Not a business and/or interested in a meeting?
|
survey.meeting.notInterested=Не занимаетесь бизнесом и/или не заинтересованы во встрече?
|
||||||
survey.meeting.button=Book meeting
|
survey.meeting.button=Забронировать встречу
|
||||||
|
|
||||||
#error
|
#error
|
||||||
error.sorry=Извините за неполадки!
|
error.sorry=Извините за неполадки!
|
||||||
@ -1664,7 +1664,7 @@ fileChooser.dragAndDropPDF=Перетащите PDF-файл
|
|||||||
fileChooser.dragAndDropImage=Перетащите файл изображения
|
fileChooser.dragAndDropImage=Перетащите файл изображения
|
||||||
fileChooser.hoveredDragAndDrop=Перетащите файл(ы) сюда
|
fileChooser.hoveredDragAndDrop=Перетащите файл(ы) сюда
|
||||||
fileChooser.extractPDF=Извлечение...
|
fileChooser.extractPDF=Извлечение...
|
||||||
fileChooser.addAttachments=drag & drop attachments here
|
fileChooser.addAttachments=Перетащите вложения сюда
|
||||||
|
|
||||||
#release notes
|
#release notes
|
||||||
releases.footer=Релизы
|
releases.footer=Релизы
|
||||||
@ -1709,20 +1709,20 @@ validateSignature.cert.selfSigned=Самоподписанный
|
|||||||
validateSignature.cert.bits=бит
|
validateSignature.cert.bits=бит
|
||||||
|
|
||||||
# Audit Dashboard
|
# Audit Dashboard
|
||||||
audit.dashboard.title=Audit Dashboard
|
audit.dashboard.title=Панель аудита
|
||||||
audit.dashboard.systemStatus=Audit System Status
|
audit.dashboard.systemStatus=Состояние системы аудита
|
||||||
audit.dashboard.status=Status
|
audit.dashboard.status=Состояние
|
||||||
audit.dashboard.enabled=Enabled
|
audit.dashboard.enabled=Включено
|
||||||
audit.dashboard.disabled=Disabled
|
audit.dashboard.disabled=Выключено
|
||||||
audit.dashboard.currentLevel=Current Level
|
audit.dashboard.currentLevel=Текущий уровень
|
||||||
audit.dashboard.retentionPeriod=Retention Period
|
audit.dashboard.retentionPeriod=Срок хранения
|
||||||
audit.dashboard.days=days
|
audit.dashboard.days=дней
|
||||||
audit.dashboard.totalEvents=Total Events
|
audit.dashboard.totalEvents=Общее количество событий
|
||||||
|
|
||||||
# Audit Dashboard Tabs
|
# Audit Dashboard Tabs
|
||||||
audit.dashboard.tab.dashboard=Dashboard
|
audit.dashboard.tab.dashboard=Панель инструментов
|
||||||
audit.dashboard.tab.events=Audit Events
|
audit.dashboard.tab.events=Аудит событий
|
||||||
audit.dashboard.tab.export=Export
|
audit.dashboard.tab.export=Экспорт
|
||||||
# Dashboard Charts
|
# Dashboard Charts
|
||||||
audit.dashboard.eventsByType=События по типу
|
audit.dashboard.eventsByType=События по типу
|
||||||
audit.dashboard.eventsByUser=События по пользователю
|
audit.dashboard.eventsByUser=События по пользователю
|
||||||
@ -1732,134 +1732,134 @@ audit.dashboard.period.30days=30 дней
|
|||||||
audit.dashboard.period.90days=90 дней
|
audit.dashboard.period.90days=90 дней
|
||||||
|
|
||||||
# Events Tab
|
# Events Tab
|
||||||
audit.dashboard.auditEvents=Audit Events
|
audit.dashboard.auditEvents=Аудит событий
|
||||||
audit.dashboard.filter.eventType=Event Type
|
audit.dashboard.filter.eventType=Тип события
|
||||||
audit.dashboard.filter.allEventTypes=All event types
|
audit.dashboard.filter.allEventTypes=Все типы событий
|
||||||
audit.dashboard.filter.user=User
|
audit.dashboard.filter.user=Пользователь
|
||||||
audit.dashboard.filter.userPlaceholder=Filter by user
|
audit.dashboard.filter.userPlaceholder=Фильтровать по пользователю
|
||||||
audit.dashboard.filter.startDate=Start Date
|
audit.dashboard.filter.startDate=Дата начала
|
||||||
audit.dashboard.filter.endDate=End Date
|
audit.dashboard.filter.endDate=Дата окончания
|
||||||
audit.dashboard.filter.apply=Apply Filters
|
audit.dashboard.filter.apply=Применить фильтры
|
||||||
audit.dashboard.filter.reset=Reset Filters
|
audit.dashboard.filter.reset=Сбросить фильтры
|
||||||
|
|
||||||
# Table Headers
|
# Table Headers
|
||||||
audit.dashboard.table.id=ID
|
audit.dashboard.table.id=ID
|
||||||
audit.dashboard.table.time=Time
|
audit.dashboard.table.time=Время
|
||||||
audit.dashboard.table.user=User
|
audit.dashboard.table.user=Пользователь
|
||||||
audit.dashboard.table.type=Type
|
audit.dashboard.table.type=Тип
|
||||||
audit.dashboard.table.details=Details
|
audit.dashboard.table.details=Подробности
|
||||||
audit.dashboard.table.viewDetails=View Details
|
audit.dashboard.table.viewDetails=Просмотр подробной информации
|
||||||
|
|
||||||
# Pagination
|
# Pagination
|
||||||
audit.dashboard.pagination.show=Show
|
audit.dashboard.pagination.show=Показать
|
||||||
audit.dashboard.pagination.entries=entries
|
audit.dashboard.pagination.entries=записи
|
||||||
audit.dashboard.pagination.pageInfo1=Page
|
audit.dashboard.pagination.pageInfo1=Страница
|
||||||
audit.dashboard.pagination.pageInfo2=of
|
audit.dashboard.pagination.pageInfo2=из
|
||||||
audit.dashboard.pagination.totalRecords=Total records:
|
audit.dashboard.pagination.totalRecords=Всего записей:
|
||||||
|
|
||||||
# Modal
|
# Modal
|
||||||
audit.dashboard.modal.eventDetails=Event Details
|
audit.dashboard.modal.eventDetails=Подробности события
|
||||||
audit.dashboard.modal.id=ID
|
audit.dashboard.modal.id=ID
|
||||||
audit.dashboard.modal.user=User
|
audit.dashboard.modal.user=Пользователь
|
||||||
audit.dashboard.modal.type=Type
|
audit.dashboard.modal.type=Тип
|
||||||
audit.dashboard.modal.time=Time
|
audit.dashboard.modal.time=Время
|
||||||
audit.dashboard.modal.data=Data
|
audit.dashboard.modal.data=Дата
|
||||||
|
|
||||||
# Export Tab
|
# Export Tab
|
||||||
audit.dashboard.export.title=Export Audit Data
|
audit.dashboard.export.title=Экспорт данных аудита
|
||||||
audit.dashboard.export.format=Export Format
|
audit.dashboard.export.format=Формат экспорта
|
||||||
audit.dashboard.export.csv=CSV (Comma Separated Values)
|
audit.dashboard.export.csv=CSV (Comma Separated Values)
|
||||||
audit.dashboard.export.json=JSON (JavaScript Object Notation)
|
audit.dashboard.export.json=JSON (JavaScript Object Notation)
|
||||||
audit.dashboard.export.button=Export Data
|
audit.dashboard.export.button=Экспортировать данные
|
||||||
audit.dashboard.export.infoTitle=Export Information
|
audit.dashboard.export.infoTitle=Экспорт информации
|
||||||
audit.dashboard.export.infoDesc1=The export will include all audit events matching the selected filters. For large datasets, the export may take a few moments to generate.
|
audit.dashboard.export.infoDesc1=Экспорт будет включать в себя все события аудита, соответствующие выбранным фильтрам. Для создания больших массивов данных экспорт может занять несколько минут.
|
||||||
audit.dashboard.export.infoDesc2=Exported data will include:
|
audit.dashboard.export.infoDesc2=Экспортируемые данные будут включать:
|
||||||
audit.dashboard.export.infoItem1=Event ID
|
audit.dashboard.export.infoItem1=Идентификатор события
|
||||||
audit.dashboard.export.infoItem2=User
|
audit.dashboard.export.infoItem2=Пользователь
|
||||||
audit.dashboard.export.infoItem3=Event Type
|
audit.dashboard.export.infoItem3=Тип события
|
||||||
audit.dashboard.export.infoItem4=Timestamp
|
audit.dashboard.export.infoItem4=Время события
|
||||||
audit.dashboard.export.infoItem5=Event Data
|
audit.dashboard.export.infoItem5=Данные события
|
||||||
|
|
||||||
# JavaScript i18n keys
|
# JavaScript i18n keys
|
||||||
audit.dashboard.js.noEventsFound=No audit events found matching the current filters
|
audit.dashboard.js.noEventsFound=События аудита, соответствующие текущим фильтрам, не найдены.
|
||||||
audit.dashboard.js.errorLoading=Error loading data:
|
audit.dashboard.js.errorLoading=Ошибка загрузки данных:
|
||||||
audit.dashboard.js.errorRendering=Error rendering table:
|
audit.dashboard.js.errorRendering=Ошибка рендеринга таблицы:
|
||||||
audit.dashboard.js.loadingPage=Loading page
|
audit.dashboard.js.loadingPage=Загрузка страницы
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# Cookie banner #
|
# Cookie banner #
|
||||||
####################
|
####################
|
||||||
cookieBanner.popUp.title=How we use Cookies
|
cookieBanner.popUp.title=Как мы используем файлы cookie
|
||||||
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.1=Мы используем файлы cookie и другие технологии, чтобы улучшить работу Stirling PDF для вас, это помогает нам совершенствовать наши инструменты и создавать функции, которые вам понравятся.
|
||||||
cookieBanner.popUp.description.2=If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly.
|
cookieBanner.popUp.description.2=Если вы предпочитаете этого не делать, нажав 'Нет, спасибо', вы активируете только основные файлы cookie, необходимые для бесперебойной работы.
|
||||||
cookieBanner.popUp.acceptAllBtn=Okay
|
cookieBanner.popUp.acceptAllBtn=Хорошо
|
||||||
cookieBanner.popUp.acceptNecessaryBtn=No Thanks
|
cookieBanner.popUp.acceptNecessaryBtn=Нет, спасибо
|
||||||
cookieBanner.popUp.showPreferencesBtn=Manage preferences
|
cookieBanner.popUp.showPreferencesBtn=Управление предпочтениями
|
||||||
cookieBanner.preferencesModal.title=Consent Preferences Center
|
cookieBanner.preferencesModal.title=Центр согласия предпочтений
|
||||||
cookieBanner.preferencesModal.acceptAllBtn=Accept all
|
cookieBanner.preferencesModal.acceptAllBtn=Принять все
|
||||||
cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all
|
cookieBanner.preferencesModal.acceptNecessaryBtn=Отклонить все
|
||||||
cookieBanner.preferencesModal.savePreferencesBtn=Save preferences
|
cookieBanner.preferencesModal.savePreferencesBtn=Сохранить предпочтения
|
||||||
cookieBanner.preferencesModal.closeIconLabel=Close modal
|
cookieBanner.preferencesModal.closeIconLabel=Закрыть модальное окно
|
||||||
cookieBanner.preferencesModal.serviceCounterLabel=Service|Services
|
cookieBanner.preferencesModal.serviceCounterLabel=Сервис|Услуги
|
||||||
cookieBanner.preferencesModal.subtitle=Cookie Usage
|
cookieBanner.preferencesModal.subtitle=Использование файлов cookie
|
||||||
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.1=Stirling PDF использует файлы cookie и аналогичные технологии, чтобы улучшить ваш опыт и понять, как используются наши инструменты. Это помогает нам повышать производительность, разрабатывать функции, которые вам интересны, и обеспечивать постоянную поддержку наших пользователей.
|
||||||
cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use.
|
cookieBanner.preferencesModal.description.2=Stirling PDF не может — и никогда не будет — отслеживать или получать доступ к содержимому используемых вами документов.
|
||||||
cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do.
|
cookieBanner.preferencesModal.description.3=Ваша конфиденциальность и доверие лежат в основе того, что мы делаем.
|
||||||
cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies
|
cookieBanner.preferencesModal.necessary.title.1=Строго необходимые файлы cookie
|
||||||
cookieBanner.preferencesModal.necessary.title.2=Always Enabled
|
cookieBanner.preferencesModal.necessary.title.2=Всегда включены
|
||||||
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 can’t be turned off.
|
cookieBanner.preferencesModal.necessary.description=Эти файлы cookie необходимы для корректной работы веб-сайта. Они позволяют выполнять основные функции, такие как настройка параметров конфиденциальности, вход в систему и заполнение форм — именно поэтому их нельзя отключить.
|
||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Аналитика
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=Эти файлы cookie помогают нам понять, как используются наши инструменты, чтобы мы могли сосредоточиться на создании функций, которые больше всего ценятся нашим сообществом. Будьте уверены — Stirling PDF не может и никогда не будет отслеживать содержание документов, с которыми вы работаете.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Поддельное сканирование
|
scannerEffect.title=Эффект сканирования
|
||||||
fakeScan.header=Поддельное сканирование
|
scannerEffect.header=Эффект сканирования
|
||||||
fakeScan.description=Создайте PDF-файл, который выглядит так, как будто он был отсканирован
|
scannerEffect.description=Создайте PDF-файл, который выглядит так, как будто он был отсканирован
|
||||||
fakeScan.selectPDF=Выбрать PDF:
|
scannerEffect.selectPDF=Выбрать PDF:
|
||||||
fakeScan.quality=Качество сканирования
|
scannerEffect.quality=Качество сканирования
|
||||||
fakeScan.quality.low=Низкое
|
scannerEffect.quality.low=Низкое
|
||||||
fakeScan.quality.medium=Среднее
|
scannerEffect.quality.medium=Среднее
|
||||||
fakeScan.quality.high=Хорошее
|
scannerEffect.quality.high=Хорошее
|
||||||
fakeScan.rotation=Угол поворота
|
scannerEffect.rotation=Угол поворота
|
||||||
fakeScan.rotation.none=Нет
|
scannerEffect.rotation.none=Нет
|
||||||
fakeScan.rotation.slight=Незначительный
|
scannerEffect.rotation.slight=Незначительный
|
||||||
fakeScan.rotation.moderate=Умеренный
|
scannerEffect.rotation.moderate=Умеренный
|
||||||
fakeScan.rotation.severe=Сильный
|
scannerEffect.rotation.severe=Сильный
|
||||||
fakeScan.submit=Создать поддельное сканирование
|
scannerEffect.submit=Создать эффект сканирования
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Поддельное сканирование
|
home.scannerEffect.title=Эффект сканирования
|
||||||
home.fakeScan.desc=Создайте PDF-файл, который выглядит так, как будто он был отсканирован
|
home.scannerEffect.desc=Создайте PDF-файл, который выглядит так, как будто он был отсканирован
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,сканирование,симуляция,имитация,реалистично,преобразование
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Включите расширенные параметры сканирования
|
scannerEffect.advancedSettings=Включите расширенные параметры сканирования
|
||||||
fakeScan.colorspace=Цветовое пространство
|
scannerEffect.colorspace=Цветовое пространство
|
||||||
fakeScan.colorspace.grayscale=Оттенки серого
|
scannerEffect.colorspace.grayscale=Оттенки серого
|
||||||
fakeScan.colorspace.color=Цветное
|
scannerEffect.colorspace.color=Цветное
|
||||||
fakeScan.border=Рамка (px)
|
scannerEffect.border=Рамка (px)
|
||||||
fakeScan.rotate=Базовый наклон (degrees)
|
scannerEffect.rotate=Базовый наклон (degrees)
|
||||||
fakeScan.rotateVariance=Скорость вращения (degrees)
|
scannerEffect.rotateVariance=Скорость вращения (degrees)
|
||||||
fakeScan.brightness=Яркость
|
scannerEffect.brightness=Яркость
|
||||||
fakeScan.contrast=Контраст
|
scannerEffect.contrast=Контраст
|
||||||
fakeScan.blur=Размытие
|
scannerEffect.blur=Размытие
|
||||||
fakeScan.noise=Шум
|
scannerEffect.noise=Шум
|
||||||
fakeScan.yellowish=Желтоватый оттенок (имитация старой бумаги)
|
scannerEffect.yellowish=Желтоватый оттенок (имитация старой бумаги)
|
||||||
fakeScan.resolution=Разрешение (DPI)
|
scannerEffect.resolution=Разрешение (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
home.editTableOfContents.title=Редактировать оглавление
|
home.editTableOfContents.title=Редактир оглавления
|
||||||
home.editTableOfContents.desc=Добавление или редактирование закладок и оглавления в PDF-документах
|
home.editTableOfContents.desc=Добавление или редактирование закладок и оглавления в PDF-документах
|
||||||
|
|
||||||
editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline
|
editTableOfContents.tags=закладки, указатель, индекс, оглавление, главы, разделы, схема, навигация, структура
|
||||||
editTableOfContents.title=Редактировать оглавление
|
editTableOfContents.title=Редактор оглавления
|
||||||
editTableOfContents.header=Добавление или редактирование закладок и оглавления в PDF-документах
|
editTableOfContents.header=Добавление или редактирование закладок и оглавления в PDF-документах
|
||||||
editTableOfContents.replaceExisting=Replace existing bookmarks (uncheck to append to existing)
|
editTableOfContents.replaceExisting=Заменить существующие закладки (снимите флажок, чтобы добавить к существующим)
|
||||||
editTableOfContents.editorTitle=Bookmark Editor
|
editTableOfContents.editorTitle=Редактор закладок
|
||||||
editTableOfContents.editorDesc=Add and arrange bookmarks below. Click + to add child bookmarks.
|
editTableOfContents.editorDesc=Добавьте и упорядочьте закладки ниже. Нажмите «+», чтобы добавить дочерние закладки.
|
||||||
editTableOfContents.addBookmark=Add New Bookmark
|
editTableOfContents.addBookmark=Добавить новую закладку
|
||||||
editTableOfContents.desc.1=This tool allows you to add or edit the table of contents (bookmarks) in a PDF document.
|
editTableOfContents.desc.1=Этот инструмент позволяет вам добавлять или редактировать оглавление (закладки) в PDF-документе.
|
||||||
editTableOfContents.desc.2=You can create a hierarchical structure by adding child bookmarks to parent bookmarks.
|
editTableOfContents.desc.2=Вы можете создать иерархическую структуру, добавив дочерние закладки к родительским.
|
||||||
editTableOfContents.desc.3=Each bookmark requires a title and target page number.
|
editTableOfContents.desc.3=Для каждой закладки требуется название и номер целевой страницы.
|
||||||
editTableOfContents.submit=Apply Table of Contents
|
editTableOfContents.submit=Применить оглавление
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ovi kolačići su neophodni
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analitika
|
cookieBanner.preferencesModal.analytics.title=Analitika
|
||||||
cookieBanner.preferencesModal.analytics.description=Ovi kolačići nam pomažu da razumemo kako se naši alati koriste, kako bismo mogli da se fokusiramo na razvoj funkcija koje naša zajednica najviše ceni. Budite sigurni — Stirling PDF ne može i nikada neće pratiti sadržaj dokumenata sa kojima radite.
|
cookieBanner.preferencesModal.analytics.description=Ovi kolačići nam pomažu da razumemo kako se naši alati koriste, kako bismo mogli da se fokusiramo na razvoj funkcija koje naša zajednica najviše ceni. Budite sigurni — Stirling PDF ne može i nikada neće pratiti sadržaj dokumenata sa kojima radite.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Lažno skeniranje
|
scannerEffect.title=Lažno skeniranje
|
||||||
fakeScan.header=Lažno skeniranje
|
scannerEffect.header=Lažno skeniranje
|
||||||
fakeScan.description=Kreiraj PDF koji izgleda kao da je skeniran
|
scannerEffect.description=Kreiraj PDF koji izgleda kao da je skeniran
|
||||||
fakeScan.selectPDF=Izaberi PDF:
|
scannerEffect.selectPDF=Izaberi PDF:
|
||||||
fakeScan.quality=Kvalitet skeniranja:
|
scannerEffect.quality=Kvalitet skeniranja:
|
||||||
fakeScan.quality.low=Nizak
|
scannerEffect.quality.low=Nizak
|
||||||
fakeScan.quality.medium=Srednji
|
scannerEffect.quality.medium=Srednji
|
||||||
fakeScan.quality.high=Visok
|
scannerEffect.quality.high=Visok
|
||||||
fakeScan.rotation=Ugao rotiranja:
|
scannerEffect.rotation=Ugao rotiranja:
|
||||||
fakeScan.rotation.none=Nijedno
|
scannerEffect.rotation.none=Nijedno
|
||||||
fakeScan.rotation.slight=Blago
|
scannerEffect.rotation.slight=Blago
|
||||||
fakeScan.rotation.moderate=Umereno
|
scannerEffect.rotation.moderate=Umereno
|
||||||
fakeScan.rotation.severe=Značajno
|
scannerEffect.rotation.severe=Značajno
|
||||||
fakeScan.submit=Kreiraj lažno skeniranje
|
scannerEffect.submit=Kreiraj lažno skeniranje
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Lažno skeniranje
|
home.scannerEffect.title=Lažno skeniranje
|
||||||
home.fakeScan.desc=Kreiraj PDF koji izgleda kao da je skeniran
|
home.scannerEffect.desc=Kreiraj PDF koji izgleda kao da je skeniran
|
||||||
fakeScan.tags=sken,simuliraj,realistično,konvertuj
|
scannerEffect.tags=sken,simuliraj,realistično,konvertuj
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Omogući naprednja podešavanja za skeniranje
|
scannerEffect.advancedSettings=Omogući naprednja podešavanja za skeniranje
|
||||||
fakeScan.colorspace=Režim boja:
|
scannerEffect.colorspace=Režim boja:
|
||||||
fakeScan.colorspace.grayscale=Monohromatski
|
scannerEffect.colorspace.grayscale=Monohromatski
|
||||||
fakeScan.colorspace.color=Kolor
|
scannerEffect.colorspace.color=Kolor
|
||||||
fakeScan.border=Ivica (px)
|
scannerEffect.border=Ivica (px)
|
||||||
fakeScan.rotate=Osnovni ugao rotacije (stepeni)
|
scannerEffect.rotate=Osnovni ugao rotacije (stepeni)
|
||||||
fakeScan.rotateVariance=Varijacija rotacije (stepeni)
|
scannerEffect.rotateVariance=Varijacija rotacije (stepeni)
|
||||||
fakeScan.brightness=Osvetljenje
|
scannerEffect.brightness=Osvetljenje
|
||||||
fakeScan.contrast=Kontrast
|
scannerEffect.contrast=Kontrast
|
||||||
fakeScan.blur=Zamućenje
|
scannerEffect.blur=Zamućenje
|
||||||
fakeScan.noise=Buka
|
scannerEffect.noise=Buka
|
||||||
fakeScan.yellowish=Žutilo (simulacija starog papira)
|
scannerEffect.yellowish=Žutilo (simulacija starog papira)
|
||||||
fakeScan.resolution=Rezolucija (DPI)
|
scannerEffect.resolution=Rezolucija (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Bu çerezler, web sitesinin
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analitik
|
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.
|
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.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Sahte Tarama
|
home.scannerEffect.title=Sahte Tarama
|
||||||
home.fakeScan.desc=Tarama yapılmış gibi görünen bir PDF oluşturun
|
home.scannerEffect.desc=Tarama yapılmış gibi görünen bir PDF oluşturun
|
||||||
fakeScan.tags=tarama,simülasyon,gerçekçi,dönüştürme
|
scannerEffect.tags=tarama,simülasyon,gerçekçi,dönüştürme
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Gelişmiş Tarama Ayarlarını Etkinleştir
|
scannerEffect.advancedSettings=Gelişmiş Tarama Ayarlarını Etkinleştir
|
||||||
fakeScan.colorspace=Renk Uzayı
|
scannerEffect.colorspace=Renk Uzayı
|
||||||
fakeScan.colorspace.grayscale=Gri Tonlama
|
scannerEffect.colorspace.grayscale=Gri Tonlama
|
||||||
fakeScan.colorspace.color=Renkli
|
scannerEffect.colorspace.color=Renkli
|
||||||
fakeScan.border=Kenar Boşluğu (piksel)
|
scannerEffect.border=Kenar Boşluğu (piksel)
|
||||||
fakeScan.rotate=Temel Döndürme (derece)
|
scannerEffect.rotate=Temel Döndürme (derece)
|
||||||
fakeScan.rotateVariance=Döndürme Varyansı (derece)
|
scannerEffect.rotateVariance=Döndürme Varyansı (derece)
|
||||||
fakeScan.brightness=Parlaklık
|
scannerEffect.brightness=Parlaklık
|
||||||
fakeScan.contrast=Kontrast
|
scannerEffect.contrast=Kontrast
|
||||||
fakeScan.blur=Bulanıklık
|
scannerEffect.blur=Bulanıklık
|
||||||
fakeScan.noise=Gürültü
|
scannerEffect.noise=Gürültü
|
||||||
fakeScan.yellowish=Sarartı (eski kağıt efekti)
|
scannerEffect.yellowish=Sarartı (eski kağıt efekti)
|
||||||
fakeScan.resolution=Çözünürlük (DPI)
|
scannerEffect.resolution=Çözünürlük (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential
|
|||||||
cookieBanner.preferencesModal.analytics.title=Analytics
|
cookieBanner.preferencesModal.analytics.title=Analytics
|
||||||
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with.
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=这些Cookie对网站基础
|
|||||||
cookieBanner.preferencesModal.analytics.title=分析统计
|
cookieBanner.preferencesModal.analytics.title=分析统计
|
||||||
cookieBanner.preferencesModal.analytics.description=这些Cookie帮助我们分析工具使用情况,以便聚焦开发用户最需要的功能。再次强调:Stirling PDF绝不会追踪您处理的文档内容。
|
cookieBanner.preferencesModal.analytics.description=这些Cookie帮助我们分析工具使用情况,以便聚焦开发用户最需要的功能。再次强调:Stirling PDF绝不会追踪您处理的文档内容。
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=模拟扫描
|
scannerEffect.title=模拟扫描
|
||||||
fakeScan.header=模拟扫描
|
scannerEffect.header=模拟扫描
|
||||||
fakeScan.description=创建一个看起来像扫描的 PDF
|
scannerEffect.description=创建一个看起来像扫描的 PDF
|
||||||
fakeScan.selectPDF=选择 PDF:
|
scannerEffect.selectPDF=选择 PDF:
|
||||||
fakeScan.quality=扫描质量
|
scannerEffect.quality=扫描质量
|
||||||
fakeScan.quality.low=低
|
scannerEffect.quality.low=低
|
||||||
fakeScan.quality.medium=中
|
scannerEffect.quality.medium=中
|
||||||
fakeScan.quality.high=高
|
scannerEffect.quality.high=高
|
||||||
fakeScan.rotation=旋转角度
|
scannerEffect.rotation=旋转角度
|
||||||
fakeScan.rotation.none=无
|
scannerEffect.rotation.none=无
|
||||||
fakeScan.rotation.slight=轻微
|
scannerEffect.rotation.slight=轻微
|
||||||
fakeScan.rotation.moderate=中等
|
scannerEffect.rotation.moderate=中等
|
||||||
fakeScan.rotation.severe=严重
|
scannerEffect.rotation.severe=严重
|
||||||
fakeScan.submit=创建模拟扫描
|
scannerEffect.submit=创建模拟扫描
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=模拟扫描
|
home.scannerEffect.title=模拟扫描
|
||||||
home.fakeScan.desc=创建一个看起来像扫描的 PDF
|
home.scannerEffect.desc=创建一个看起来像扫描的 PDF
|
||||||
fakeScan.tags=扫描、模拟、真实、转换
|
scannerEffect.tags=扫描、模拟、真实、转换
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=启用高级扫描设置
|
scannerEffect.advancedSettings=启用高级扫描设置
|
||||||
fakeScan.colorspace=色彩空间
|
scannerEffect.colorspace=色彩空间
|
||||||
fakeScan.colorspace.grayscale=灰度
|
scannerEffect.colorspace.grayscale=灰度
|
||||||
fakeScan.colorspace.color=颜色
|
scannerEffect.colorspace.color=颜色
|
||||||
fakeScan.border=边框(像素)
|
scannerEffect.border=边框(像素)
|
||||||
fakeScan.rotate=基础旋转(度)
|
scannerEffect.rotate=基础旋转(度)
|
||||||
fakeScan.rotateVariance=旋转偏差(度)
|
scannerEffect.rotateVariance=旋转偏差(度)
|
||||||
fakeScan.brightness=亮度
|
scannerEffect.brightness=亮度
|
||||||
fakeScan.contrast=对比度
|
scannerEffect.contrast=对比度
|
||||||
fakeScan.blur=模糊
|
scannerEffect.blur=模糊
|
||||||
fakeScan.noise=噪点
|
scannerEffect.noise=噪点
|
||||||
fakeScan.yellowish=泛黄效果(模拟旧纸张)
|
scannerEffect.yellowish=泛黄效果(模拟旧纸张)
|
||||||
fakeScan.resolution=分辨率(DPI)
|
scannerEffect.resolution=分辨率(DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=這些 Cookies 對網站正
|
|||||||
cookieBanner.preferencesModal.analytics.title=分析 Cookies
|
cookieBanner.preferencesModal.analytics.title=分析 Cookies
|
||||||
cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在建構社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件
|
cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在建構社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件
|
||||||
|
|
||||||
#fakeScan
|
#scannerEffect
|
||||||
fakeScan.title=Fake Scan
|
scannerEffect.title=Scanner Effect
|
||||||
fakeScan.header=Fake Scan
|
scannerEffect.header=Scanner Effect
|
||||||
fakeScan.description=Create a PDF that looks like it was scanned
|
scannerEffect.description=Create a PDF that looks like it was scanned
|
||||||
fakeScan.selectPDF=Select PDF:
|
scannerEffect.selectPDF=Select PDF:
|
||||||
fakeScan.quality=Scan Quality
|
scannerEffect.quality=Scan Quality
|
||||||
fakeScan.quality.low=Low
|
scannerEffect.quality.low=Low
|
||||||
fakeScan.quality.medium=Medium
|
scannerEffect.quality.medium=Medium
|
||||||
fakeScan.quality.high=High
|
scannerEffect.quality.high=High
|
||||||
fakeScan.rotation=Rotation Angle
|
scannerEffect.rotation=Rotation Angle
|
||||||
fakeScan.rotation.none=None
|
scannerEffect.rotation.none=None
|
||||||
fakeScan.rotation.slight=Slight
|
scannerEffect.rotation.slight=Slight
|
||||||
fakeScan.rotation.moderate=Moderate
|
scannerEffect.rotation.moderate=Moderate
|
||||||
fakeScan.rotation.severe=Severe
|
scannerEffect.rotation.severe=Severe
|
||||||
fakeScan.submit=Create Fake Scan
|
scannerEffect.submit=Create Scanner Effect
|
||||||
|
|
||||||
#home.fakeScan
|
#home.scannerEffect
|
||||||
home.fakeScan.title=Fake Scan
|
home.scannerEffect.title=Scanner Effect
|
||||||
home.fakeScan.desc=Create a PDF that looks like it was scanned
|
home.scannerEffect.desc=Create a PDF that looks like it was scanned
|
||||||
fakeScan.tags=scan,simulate,realistic,convert
|
scannerEffect.tags=scan,simulate,realistic,convert
|
||||||
|
|
||||||
# FakeScan advanced settings (frontend)
|
# ScannerEffect advanced settings (frontend)
|
||||||
fakeScan.advancedSettings=Enable Advanced Scan Settings
|
scannerEffect.advancedSettings=Enable Advanced Scan Settings
|
||||||
fakeScan.colorspace=Colorspace
|
scannerEffect.colorspace=Colorspace
|
||||||
fakeScan.colorspace.grayscale=Grayscale
|
scannerEffect.colorspace.grayscale=Grayscale
|
||||||
fakeScan.colorspace.color=Color
|
scannerEffect.colorspace.color=Color
|
||||||
fakeScan.border=Border (px)
|
scannerEffect.border=Border (px)
|
||||||
fakeScan.rotate=Base Rotation (degrees)
|
scannerEffect.rotate=Base Rotation (degrees)
|
||||||
fakeScan.rotateVariance=Rotation Variance (degrees)
|
scannerEffect.rotateVariance=Rotation Variance (degrees)
|
||||||
fakeScan.brightness=Brightness
|
scannerEffect.brightness=Brightness
|
||||||
fakeScan.contrast=Contrast
|
scannerEffect.contrast=Contrast
|
||||||
fakeScan.blur=Blur
|
scannerEffect.blur=Blur
|
||||||
fakeScan.noise=Noise
|
scannerEffect.noise=Noise
|
||||||
fakeScan.yellowish=Yellowish (simulate old paper)
|
scannerEffect.yellowish=Yellowish (simulate old paper)
|
||||||
fakeScan.resolution=Resolution (DPI)
|
scannerEffect.resolution=Resolution (DPI)
|
||||||
|
|
||||||
|
|
||||||
# Table of Contents Feature
|
# Table of Contents Feature
|
||||||
|
@ -251,6 +251,13 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
|
|||||||
border-left: 2px solid var(--md-nav-color-on-separator);
|
border-left: 2px solid var(--md-nav-color-on-separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.scroll-lock-y {
|
||||||
|
overflow-y: auto;
|
||||||
|
max-height: 30vh;
|
||||||
|
overscroll-behavior-y: contain;
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
/* Responsive adjustments */
|
/* Responsive adjustments */
|
||||||
@media (min-width: 1200px) {
|
@media (min-width: 1200px) {
|
||||||
.lang-dropdown-item-wrapper .dropdown-item {
|
.lang-dropdown-item-wrapper .dropdown-item {
|
||||||
@ -258,14 +265,10 @@ html[dir="rtl"] .lang-dropdown-item-wrapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.scroll-lock-y {
|
.scroll-lock-y {
|
||||||
overflow-y: auto;
|
|
||||||
max-height: 80vh;
|
max-height: 80vh;
|
||||||
overscroll-behavior-y: contain;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.dropdown-item .icon-text {
|
.dropdown-item .icon-text {
|
||||||
text-wrap: wrap;
|
text-wrap: wrap;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
|
@ -115,7 +115,7 @@
|
|||||||
|
|
||||||
// Set CSS custom property for mobile navbar scaling (for sidebar positioning)
|
// Set CSS custom property for mobile navbar scaling (for sidebar positioning)
|
||||||
// Use the ACTUAL scaled height, not a fixed assumption
|
// Use the ACTUAL scaled height, not a fixed assumption
|
||||||
const baseHeight = 60;
|
const baseHeight = 64;
|
||||||
const actualScaledHeight = baseHeight * navScale;
|
const actualScaledHeight = baseHeight * navScale;
|
||||||
document.documentElement.style.setProperty('--navbar-height', `${actualScaledHeight}px`);
|
document.documentElement.style.setProperty('--navbar-height', `${actualScaledHeight}px`);
|
||||||
|
|
||||||
@ -200,8 +200,8 @@
|
|||||||
<link rel="stylesheet" th:href="@{'/css/footer.css'}">
|
<link rel="stylesheet" th:href="@{'/css/footer.css'}">
|
||||||
|
|
||||||
<link rel="preload" th:href="@{'/fonts/google-symbol.woff2'}" as="font" type="font/woff2" crossorigin="anonymous">
|
<link rel="preload" th:href="@{'/fonts/google-symbol.woff2'}" as="font" type="font/woff2" crossorigin="anonymous">
|
||||||
<link rel="stylesheet" th:href="@{'/css/cookieconsent.css'}">
|
<link rel="stylesheet" th:href="@{'/css/cookieconsent.css'}" th:if="${@analyticsEnabled}">
|
||||||
<link rel="stylesheet" th:href="@{'/css/cookieconsentCustomisation.css'}">
|
<link rel="stylesheet" th:href="@{'/css/cookieconsentCustomisation.css'}" th:if="${@analyticsEnabled}">
|
||||||
<script th:src="@{'/js/thirdParty/fontfaceobserver.standalone.js'}"></script>
|
<script th:src="@{'/js/thirdParty/fontfaceobserver.standalone.js'}"></script>
|
||||||
|
|
||||||
<!-- Google MD Icons -->
|
<!-- Google MD Icons -->
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<footer th:fragment="footer" id="footer" class="text-center">
|
<footer th:fragment="footer" id="footer" class="text-center">
|
||||||
|
|
||||||
<script type="module" th:src="@{'/js/thirdParty/cookieconsent-config.js'}"></script>
|
<script type="module" th:src="@{'/js/thirdParty/cookieconsent-config.js'}" th:if="${@analyticsEnabled}"></script>
|
||||||
<div class="footer-center">
|
<div class="footer-center">
|
||||||
<!-- Links section -->
|
<!-- Links section -->
|
||||||
<div class="d-flex justify-content-center">
|
<div class="d-flex justify-content-center">
|
||||||
@ -13,7 +13,7 @@
|
|||||||
<li th:if="${@accessibilityStatement != ''}"><a class="footer-link px-2" target="_blank" th:href="${@accessibilityStatement}" th:text="#{legal.accessibility}">accessibilityStatement</a></li>
|
<li th:if="${@accessibilityStatement != ''}"><a class="footer-link px-2" target="_blank" th:href="${@accessibilityStatement}" th:text="#{legal.accessibility}">accessibilityStatement</a></li>
|
||||||
<li th:if="${@cookiePolicy != ''}"><a class="footer-link px-2" target="_blank" th:href="${@cookiePolicy}" th:text="#{legal.cookie}">cookiePolicy</a></li>
|
<li th:if="${@cookiePolicy != ''}"><a class="footer-link px-2" target="_blank" th:href="${@cookiePolicy}" th:text="#{legal.cookie}">cookiePolicy</a></li>
|
||||||
<li th:if="${@impressum != ''}"><a class="footer-link px-2" target="_blank" th:href="${@impressum}" th:text="#{legal.impressum}">impressum</a></li>
|
<li th:if="${@impressum != ''}"><a class="footer-link px-2" target="_blank" th:href="${@impressum}" th:text="#{legal.impressum}">impressum</a></li>
|
||||||
<li><a class="footer-link px-2" id="cookieBanner" target="_blank" th:text="#{legal.showCookieBanner}" onClick="CookieConsent.show(true)">Cookie Preferences</a></li>
|
<li th:if="${@analyticsEnabled}"><a class="footer-link px-2" id="cookieBanner" target="_blank" th:text="#{legal.showCookieBanner}" onClick="CookieConsent.show(true)">Cookie Preferences</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@
|
|||||||
<div
|
<div
|
||||||
th:replace="~{fragments/navbarEntry :: navbarEntry('show-javascript', 'javascript', 'home.showJS.title', 'home.showJS.desc', 'showJS.tags', 'advance')}">
|
th:replace="~{fragments/navbarEntry :: navbarEntry('show-javascript', 'javascript', 'home.showJS.title', 'home.showJS.desc', 'showJS.tags', 'advance')}">
|
||||||
</div>
|
</div>
|
||||||
<div th:replace="~{fragments/navbarEntry :: navbarEntry('fake-scan', 'scanner', 'fakeScan.title', 'fakeScan.description', 'fakeScan.tags', 'advance')}"></div>
|
<div th:replace="~{fragments/navbarEntry :: navbarEntry('scanner-effect', 'scanner', 'scannerEffect.title', 'scannerEffect.description', 'scannerEffect.tags', 'advance')}"></div>
|
||||||
<div
|
<div
|
||||||
th:replace="~{fragments/navbarEntryCustom :: navbarEntry('split-by-size-or-count', '/images/split-size.svg#icon-split-size', 'home.autoSizeSplitPDF.title', 'home.autoSizeSplitPDF.desc', 'autoSizeSplitPDF.tags', 'advance')}">
|
th:replace="~{fragments/navbarEntryCustom :: navbarEntry('split-by-size-or-count', '/images/split-size.svg#icon-split-size', 'home.autoSizeSplitPDF.title', 'home.autoSizeSplitPDF.desc', 'autoSizeSplitPDF.tags', 'advance')}">
|
||||||
</div>
|
</div>
|
||||||
|
@ -163,7 +163,7 @@
|
|||||||
<span class="material-symbols-rounded chevron-icon">expand_more</span>
|
<span class="material-symbols-rounded chevron-icon">expand_more</span>
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu dropdown-menu-tp" aria-labelledby="searchDropdown">
|
<div class="dropdown-menu dropdown-menu-tp" aria-labelledby="searchDropdown">
|
||||||
<div class="dropdown-menu-wrapper px-xl-2 px-2 scroll-lock-y" style="max-width: 95vw !important;">
|
<div class="dropdown-menu-wrapper px-xl-2 px-2" style="max-width: 95vw !important;">
|
||||||
<form th:action="@{''}" class="d-flex p-2 search-form" id="searchForm">
|
<form th:action="@{''}" class="d-flex p-2 search-form" id="searchForm">
|
||||||
<input class="form-control search-input" type="search" th:placeholder="#{navbar.search}"
|
<input class="form-control search-input" type="search" th:placeholder="#{navbar.search}"
|
||||||
aria-label="Search" id="navbarSearchInput">
|
aria-label="Search" id="navbarSearchInput">
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
th:insert="~{fragments/navbarEntry :: navbarEntry('add-attachments', 'attachment', 'home.attachments.title', 'home.attachments.desc', 'attachments.tags', 'other')}">
|
th:insert="~{fragments/navbarEntry :: navbarEntry('add-attachments', 'attachment', 'home.attachments.title', 'home.attachments.desc', 'attachments.tags', 'other')}">
|
||||||
</div>
|
</div>
|
||||||
<div class="newfeature"
|
<div class="newfeature"
|
||||||
th:insert="~{fragments/navbarEntry :: navbarEntry('fake-scan', 'scanner', 'fakeScan.title', 'fakeScan.description', 'fakeScan.tags', 'advance')}">
|
th:insert="~{fragments/navbarEntry :: navbarEntry('scanner-effect', 'scanner', 'scannerEffect.title', 'scannerEffect.description', 'scannerEffect.tags', 'advance')}">
|
||||||
</div>
|
</div>
|
||||||
<div class="newfeature"
|
<div class="newfeature"
|
||||||
th:insert="~{fragments/navbarEntry :: navbarEntry('compress-pdf', 'zoom_in_map', 'home.compressPdfs.title', 'home.compressPdfs.desc', 'compressPDFs.tags', 'advance')}">
|
th:insert="~{fragments/navbarEntry :: navbarEntry('compress-pdf', 'zoom_in_map', 'home.compressPdfs.title', 'home.compressPdfs.desc', 'compressPDFs.tags', 'advance')}">
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="https://www.thymeleaf.org">
|
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="https://www.thymeleaf.org">
|
||||||
<head>
|
<head>
|
||||||
<th:block th:insert="~{fragments/common :: head(title=#{fakeScan.title}, header=#{fakeScan.header})}"></th:block>
|
<th:block th:insert="~{fragments/common :: head(title=#{scannerEffect.title}, header=#{scannerEffect.header})}"></th:block>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -15,81 +15,81 @@
|
|||||||
<div class="col-md-6 bg-card">
|
<div class="col-md-6 bg-card">
|
||||||
<div class="tool-header">
|
<div class="tool-header">
|
||||||
<span class="material-symbols-rounded tool-header-icon advance">scanner</span>
|
<span class="material-symbols-rounded tool-header-icon advance">scanner</span>
|
||||||
<span class="tool-header-text" th:text="#{fakeScan.title}"></span>
|
<span class="tool-header-text" th:text="#{scannerEffect.title}"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form method="post" enctype="multipart/form-data" id="uploadForm" th:action="@{'/api/v1/misc/fake-scan'}">
|
<form method="post" enctype="multipart/form-data" id="uploadForm" th:action="@{'/api/v1/misc/scanner-effect'}">
|
||||||
<input type="hidden" name="advancedEnabled" id="advancedEnabled" value="false">
|
<input type="hidden" name="advancedEnabled" id="advancedEnabled" value="false">
|
||||||
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='application/pdf')}"></div>
|
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='application/pdf')}"></div>
|
||||||
<br>
|
<br>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="quality" class="form-label" th:text="#{fakeScan.quality}"></label>
|
<label for="quality" class="form-label" th:text="#{scannerEffect.quality}"></label>
|
||||||
<select class="form-select" id="quality" name="quality">
|
<select class="form-select" id="quality" name="quality">
|
||||||
<option value="low" th:text="#{fakeScan.quality.low}"></option>
|
<option value="low" th:text="#{scannerEffect.quality.low}"></option>
|
||||||
<option value="medium" th:text="#{fakeScan.quality.medium}"></option>
|
<option value="medium" th:text="#{scannerEffect.quality.medium}"></option>
|
||||||
<option value="high" th:text="#{fakeScan.quality.high}" selected></option>
|
<option value="high" th:text="#{scannerEffect.quality.high}" selected></option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="rotation" class="form-label" th:text="#{fakeScan.rotation}"></label>
|
<label for="rotation" class="form-label" th:text="#{scannerEffect.rotation}"></label>
|
||||||
<select class="form-select" id="rotation" name="rotation">
|
<select class="form-select" id="rotation" name="rotation">
|
||||||
<option value="none" th:text="#{fakeScan.rotation.none}"></option>
|
<option value="none" th:text="#{scannerEffect.rotation.none}"></option>
|
||||||
<option value="slight" th:text="#{fakeScan.rotation.slight}" selected></option>
|
<option value="slight" th:text="#{scannerEffect.rotation.slight}" selected></option>
|
||||||
<option value="moderate" th:text="#{fakeScan.rotation.moderate}"></option>
|
<option value="moderate" th:text="#{scannerEffect.rotation.moderate}"></option>
|
||||||
<option value="severe" th:text="#{fakeScan.rotation.severe}"></option>
|
<option value="severe" th:text="#{scannerEffect.rotation.severe}"></option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check mb-3">
|
<div class="form-check mb-3">
|
||||||
<input class="form-check-input" type="checkbox" id="advancedSettingsToggle">
|
<input class="form-check-input" type="checkbox" id="advancedSettingsToggle">
|
||||||
<label class="form-check-label" for="advancedSettingsToggle" th:text="#{fakeScan.advancedSettings}"></label>
|
<label class="form-check-label" for="advancedSettingsToggle" th:text="#{scannerEffect.advancedSettings}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div id="advancedSettings" style="display:none; border:1px solid #eee; padding:1em; border-radius:8px; margin-bottom:1em;">
|
<div id="advancedSettings" style="display:none; border:1px solid #eee; padding:1em; border-radius:8px; margin-bottom:1em;">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="colorspace" class="form-label" th:text="#{fakeScan.colorspace}"></label>
|
<label for="colorspace" class="form-label" th:text="#{scannerEffect.colorspace}"></label>
|
||||||
<select class="form-select" id="colorspace" name="colorspace">
|
<select class="form-select" id="colorspace" name="colorspace">
|
||||||
<option value="grayscale" th:text="#{fakeScan.colorspace.grayscale}" selected></option>
|
<option value="grayscale" th:text="#{scannerEffect.colorspace.grayscale}" selected></option>
|
||||||
<option value="color" th:text="#{fakeScan.colorspace.color}"></option>
|
<option value="color" th:text="#{scannerEffect.colorspace.color}"></option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="border" class="form-label" th:text="#{fakeScan.border}"></label>
|
<label for="border" class="form-label" th:text="#{scannerEffect.border}"></label>
|
||||||
<input type="number" class="form-control" id="border" name="border" min="0" max="100" value="20">
|
<input type="number" class="form-control" id="border" name="border" min="0" max="100" value="20">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="rotate" class="form-label" th:text="#{fakeScan.rotate}"></label>
|
<label for="rotate" class="form-label" th:text="#{scannerEffect.rotate}"></label>
|
||||||
<input type="number" class="form-control" id="rotate" name="rotate" min="-15" max="15" value="0">
|
<input type="number" class="form-control" id="rotate" name="rotate" min="-15" max="15" value="0">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="rotateVariance" class="form-label" th:text="#{fakeScan.rotateVariance}"></label>
|
<label for="rotateVariance" class="form-label" th:text="#{scannerEffect.rotateVariance}"></label>
|
||||||
<input type="number" class="form-control" id="rotateVariance" name="rotateVariance" min="0" max="10" value="2">
|
<input type="number" class="form-control" id="rotateVariance" name="rotateVariance" min="0" max="10" value="2">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="brightness" class="form-label" th:text="#{fakeScan.brightness}"></label>
|
<label for="brightness" class="form-label" th:text="#{scannerEffect.brightness}"></label>
|
||||||
<input type="range" class="form-range" id="brightness" name="brightness" min="0.5" max="1.5" step="0.01" value="1.0">
|
<input type="range" class="form-range" id="brightness" name="brightness" min="0.5" max="1.5" step="0.01" value="1.0">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="contrast" class="form-label" th:text="#{fakeScan.contrast}"></label>
|
<label for="contrast" class="form-label" th:text="#{scannerEffect.contrast}"></label>
|
||||||
<input type="range" class="form-range" id="contrast" name="contrast" min="0.5" max="1.5" step="0.01" value="1.0">
|
<input type="range" class="form-range" id="contrast" name="contrast" min="0.5" max="1.5" step="0.01" value="1.0">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="blur" class="form-label" th:text="#{fakeScan.blur}"></label>
|
<label for="blur" class="form-label" th:text="#{scannerEffect.blur}"></label>
|
||||||
<input type="range" class="form-range" id="blur" name="blur" min="0" max="5" step="0.1" value="1.0">
|
<input type="range" class="form-range" id="blur" name="blur" min="0" max="5" step="0.1" value="1.0">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="noise" class="form-label" th:text="#{fakeScan.noise}"></label>
|
<label for="noise" class="form-label" th:text="#{scannerEffect.noise}"></label>
|
||||||
<input type="range" class="form-range" id="noise" name="noise" min="0" max="20" step="0.1" value="8.0">
|
<input type="range" class="form-range" id="noise" name="noise" min="0" max="20" step="0.1" value="8.0">
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check mb-3">
|
<div class="form-check mb-3">
|
||||||
<input class="form-check-input" type="checkbox" id="yellowish" name="yellowish">
|
<input class="form-check-input" type="checkbox" id="yellowish" name="yellowish">
|
||||||
<label class="form-check-label" for="yellowish" th:text="#{fakeScan.yellowish}"></label>
|
<label class="form-check-label" for="yellowish" th:text="#{scannerEffect.yellowish}"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="resolution" class="form-label" th:text="#{fakeScan.resolution}"></label>
|
<label for="resolution" class="form-label" th:text="#{scannerEffect.resolution}"></label>
|
||||||
<input type="number" class="form-control" id="resolution" name="resolution" min="72" max="600" value="300">
|
<input type="number" class="form-control" id="resolution" name="resolution" min="72" max="600" value="300">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 text-left">
|
<div class="mb-3 text-left">
|
||||||
<button type="submit" class="btn btn-primary" th:text="#{fakeScan.submit}" id="submitBtn"></button>
|
<button type="submit" class="btn btn-primary" th:text="#{scannerEffect.submit}" id="submitBtn"></button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
@ -57,7 +57,7 @@ repositories {
|
|||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
group = 'stirling.software'
|
group = 'stirling.software'
|
||||||
version = '1.0.2'
|
version = '1.1.0'
|
||||||
|
|
||||||
configurations.configureEach {
|
configurations.configureEach {
|
||||||
exclude group: 'commons-logging', module: 'commons-logging'
|
exclude group: 'commons-logging', module: 'commons-logging'
|
||||||
|
@ -207,7 +207,6 @@ ignore = [
|
|||||||
'cookieBanner.popUp.acceptAllBtn',
|
'cookieBanner.popUp.acceptAllBtn',
|
||||||
'endpointStatistics.top10',
|
'endpointStatistics.top10',
|
||||||
'endpointStatistics.top20',
|
'endpointStatistics.top20',
|
||||||
'fakeScan.quality.medium',
|
|
||||||
'fileChooser.dragAndDrop',
|
'fileChooser.dragAndDrop',
|
||||||
'home.pipeline.title',
|
'home.pipeline.title',
|
||||||
'lang.afr',
|
'lang.afr',
|
||||||
@ -242,6 +241,7 @@ ignore = [
|
|||||||
'pipelineOptions.pipelineHeader',
|
'pipelineOptions.pipelineHeader',
|
||||||
'pro',
|
'pro',
|
||||||
'redact.zoom',
|
'redact.zoom',
|
||||||
|
'scannerEffect.quality.medium',
|
||||||
'sponsor',
|
'sponsor',
|
||||||
'team.status',
|
'team.status',
|
||||||
'text',
|
'text',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user