Merge pull request #4016 from Stirling-Tools/V2-rebase

V2 rebase
This commit is contained in:
Anthony Stirling 2025-07-21 20:11:54 +01:00 committed by GitHub
commit 088466b742
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
78 changed files with 1817 additions and 1695 deletions

2
.github/CODEOWNERS vendored
View File

@ -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
View 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

View File

@ -7,6 +7,7 @@
"sbplat", "sbplat",
"reecebrowne", "reecebrowne",
"DarioGii", "DarioGii",
"ConnorYoh" "ConnorYoh",
"EthanHealy01"
] ]
} }

View File

@ -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'

View File

@ -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: |

View File

@ -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

View File

@ -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: |

View File

@ -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:

View File

@ -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

View File

@ -143,7 +143,7 @@ Stirling-PDF currently supports 40 languages!
| Portuguese (Português) (pt_PT) | ![70%](https://geps.dev/progress/70) | | Portuguese (Português) (pt_PT) | ![70%](https://geps.dev/progress/70) |
| Portuguese Brazilian (Português) (pt_BR) | ![77%](https://geps.dev/progress/77) | | Portuguese Brazilian (Português) (pt_BR) | ![77%](https://geps.dev/progress/77) |
| Romanian (Română) (ro_RO) | ![59%](https://geps.dev/progress/59) | | Romanian (Română) (ro_RO) | ![59%](https://geps.dev/progress/59) |
| Russian (Русский) (ru_RU) | ![70%](https://geps.dev/progress/70) | | Russian (Русский) (ru_RU) | ![90%](https://geps.dev/progress/90) |
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![97%](https://geps.dev/progress/97) | | Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![97%](https://geps.dev/progress/97) |
| Simplified Chinese (简体中文) (zh_CN) | ![95%](https://geps.dev/progress/95) | | Simplified Chinese (简体中文) (zh_CN) | ![95%](https://geps.dev/progress/95) |
| Slovakian (Slovensky) (sk_SK) | ![53%](https://geps.dev/progress/53) | | Slovakian (Slovensky) (sk_SK) | ![53%](https://geps.dev/progress/53) |

View File

@ -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'

View File

@ -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;
} }

View File

@ -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
View File

@ -194,3 +194,5 @@ id_ed25519.pub
# node_modules # node_modules
node_modules/ node_modules/
scripts/**/*

View File

@ -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"

View File

@ -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");

View File

@ -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) {

View File

@ -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",

View File

@ -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 {

View File

@ -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);

View File

@ -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();

View File

@ -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);

View File

@ -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();

View File

@ -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")

View File

@ -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,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 youd 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 cant 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=Применить оглавление

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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 -->

View File

@ -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>

View File

@ -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>

View File

@ -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">

View File

@ -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')}">

View File

@ -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>

View File

@ -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'

View File

@ -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',