diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85e115bff..8d4e98e5a 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,2 +1,2 @@ # All PRs to V1 must be approved by Frooodle -* @Frooodle @reecebrowne @Ludy87 @DarioGii @ConnorYoh +* @Frooodle @reecebrowne @Ludy87 @DarioGii @ConnorYoh @EthanHealy01 diff --git a/.github/config/.files.yaml b/.github/config/.files.yaml new file mode 100644 index 000000000..2f4f242cb --- /dev/null +++ b/.github/config/.files.yaml @@ -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 \ No newline at end of file diff --git a/.github/config/repo_devs.json b/.github/config/repo_devs.json index 6f8b9f90c..86d43fd98 100644 --- a/.github/config/repo_devs.json +++ b/.github/config/repo_devs.json @@ -7,6 +7,7 @@ "sbplat", "reecebrowne", "DarioGii", - "ConnorYoh" + "ConnorYoh", + "EthanHealy01" ] } diff --git a/.github/labeler-config-srvaroa.yml b/.github/labeler-config-srvaroa.yml index bdc48da53..44a234e3b 100644 --- a/.github/labeler-config-srvaroa.yml +++ b/.github/labeler-config-srvaroa.yml @@ -76,8 +76,8 @@ labels: - 'app/core/src/main/resources/settings.yml.template' - 'app/core/src/main/resources/application.properties' - 'app/core/src/main/resources/banner.txt' - - 'scripts/png_to_webp.py' - - 'split_photos.py' + - 'app/core/src/main/resources/static/python/png_to_webp.py' + - 'app/core/src/main/resources/static/python/split_photos.py' - 'application.properties' - 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/service/ApiDocService.java' - 'app/proprietary/src/main/java/stirling/software/proprietary/security/controller/api/.*' - - 'scripts/png_to_webp.py' - - 'split_photos.py' + - 'app/core/src/main/resources/static/python/png_to_webp.py' + - 'app/core/src/main/resources/static/python/split_photos.py' - '.github/workflows/swagger.yml' - label: 'Documentation' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3c8a85782..f099fad10 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,50 +1,62 @@ -name: Build repo +name: Build and Test Workflow on: - push: - branches: ["main", "V2", "V2-gha"] pull_request: branches: ["main", "V2", "V2-gha"] + workflow_dispatch: permissions: contents: read 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: runs-on: ubuntu-latest - permissions: actions: read security-events: write - strategy: fail-fast: false matrix: jdk-version: [17, 21] spring-security: [true, false] - steps: - name: Harden Runner - uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 + uses: step-security/harden-runner@v2.12.2 with: egress-policy: audit - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - + uses: actions/checkout@v4.2.2 - name: Set up JDK ${{ matrix.jdk-version }} - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + uses: actions/setup-java@v4.7.1 with: java-version: ${{ matrix.jdk-version }} 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 }} run: ./gradlew clean build env: DISABLE_ADDITIONAL_FEATURES: ${{ matrix.spring-security }} - - name: Check Test Reports Exist - id: check-reports if: always() run: | declare -a dirs=( @@ -55,61 +67,45 @@ jobs: "app/proprietary/build/reports/tests/" "app/proprietary/build/test-results/" ) - missing_reports=() for dir in "${dirs[@]}"; do if [ ! -d "$dir" ]; then - missing_reports+=("$dir") + echo "Missing $dir" + exit 1 fi 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 if: always() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@v4.6.2 with: name: test-reports-jdk-${{ matrix.jdk-version }}-spring-security-${{ matrix.spring-security }} path: | - app/core/build/reports/tests/ - app/core/build/test-results/ - app/core/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/ + app/**/build/reports/tests/ + app/**/build/test-results/ + app/**/build/reports/problems/ build/reports/problems/ retention-days: 3 if-no-files-found: warn check-generateOpenApiDocs: + if: needs.files-changed.outputs.openapi == 'true' + needs: [files-changed] runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 + uses: step-security/harden-runner@v2.12.2 with: egress-policy: audit - - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - + - uses: actions/checkout@v4.2.2 - name: Set up JDK 17 - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + uses: actions/setup-java@v4.7.1 with: java-version: "17" distribution: "temurin" - - - uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 - + - uses: gradle/actions/setup-gradle@v4.4.1 - name: Generate OpenAPI documentation run: ./gradlew :stirling-pdf:generateOpenApiDocs - - name: Upload OpenAPI Documentation - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@v4.6.2 with: name: openapi-docs path: ./SwaggerDoc.json @@ -118,72 +114,59 @@ jobs: runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 + uses: step-security/harden-runner@v2.12.2 with: egress-policy: audit - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - + uses: actions/checkout@v4.2.2 - name: Set up Node.js - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 + uses: actions/setup-node@v4.1.0 with: node-version: '20' cache: 'npm' cache-dependency-path: frontend/package-lock.json - - name: Install frontend dependencies - run: | - cd frontend - npm ci - + run: cd frontend && npm ci - name: Build frontend - run: | - cd frontend - npm run build - - - name: Run frontend tests (if available) - run: | - cd frontend - npm test --passWithNoTests --watchAll=false || true - + run: cd frontend && npm run build + - name: Run frontend tests + run: cd frontend && npm test --passWithNoTests --watchAll=false || true - name: Upload frontend build artifacts - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@v4.6.2 with: name: frontend-build path: frontend/dist/ retention-days: 3 check-licence: + if: needs.files-changed.outputs.build == 'true' + needs: [files-changed, build] runs-on: ubuntu-latest steps: - name: Harden Runner - uses: step-security/harden-runner@6c439dc8bdf85cadbbce9ed30d1c7b959517bc49 # v2.12.2 + uses: step-security/harden-runner@v2.12.2 with: egress-policy: audit - - name: Checkout repository - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - + uses: actions/checkout@v4.2.2 - name: Set up JDK 17 - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 + uses: actions/setup-java@v4.7.1 with: java-version: "17" - distribution: "adopt" - + distribution: "temurin" - name: check the licenses for compatibility run: ./gradlew clean checkLicense - - name: FAILED - check the licenses for compatibility if: failure() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 + uses: actions/upload-artifact@v4.6.2 with: name: dependencies-without-allowed-license.json - path: | - build/reports/dependency-license/dependencies-without-allowed-license.json + path: build/reports/dependency-license/dependencies-without-allowed-license.json retention-days: 3 docker-compose-tests: + if: needs.files-changed.outputs.project == 'true' + needs: files-changed # if: github.event_name == 'push' && github.ref == 'refs/heads/main' || # (github.event_name == 'pull_request' && # contains(github.event.pull_request.labels.*.name, 'licenses') == false && @@ -213,7 +196,7 @@ jobs: uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: java-version: "17" - distribution: "adopt" + distribution: "temurin" - name: Set up Docker Buildx uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1 @@ -228,6 +211,7 @@ jobs: with: python-version: "3.12" cache: 'pip' # caching pip dependencies + cache-dependency-path: ./testing/cucumber/requirements.txt - name: Pip requirements run: | diff --git a/.github/workflows/licenses-update.yml b/.github/workflows/licenses-update.yml index ba66627ad..23c15816f 100644 --- a/.github/workflows/licenses-update.yml +++ b/.github/workflows/licenses-update.yml @@ -39,7 +39,7 @@ jobs: uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 with: java-version: "17" - distribution: "adopt" + distribution: "temurin" - name: Setup Gradle uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 diff --git a/.github/workflows/pre_commit.yml b/.github/workflows/pre_commit.yml index ebe81c5a8..ba80e9bcd 100644 --- a/.github/workflows/pre_commit.yml +++ b/.github/workflows/pre_commit.yml @@ -37,6 +37,7 @@ jobs: with: python-version: 3.12 cache: 'pip' # caching pip dependencies + cache-dependency-path: ./.github/scripts/requirements_pre_commit.txt - name: Run Pre-Commit Hooks run: | diff --git a/.github/workflows/testdriver.yml b/.github/workflows/testdriver.yml index 2f818fbd0..85c93a244 100644 --- a/.github/workflows/testdriver.yml +++ b/.github/workflows/testdriver.yml @@ -25,6 +25,11 @@ jobs: java-version: '17' distribution: 'temurin' + - name: Setup Gradle + uses: gradle/actions/setup-gradle@ac638b010cf58a27ee6c972d7336334ccaf61c96 # v4.4.1 + with: + gradle-version: 8.14 + - name: Build with Gradle run: ./gradlew clean build env: @@ -111,6 +116,11 @@ jobs: - 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 uses: testdriverai/action@f0d0f45fdd684db628baa843fe9313f3ca3a8aa8 #1.1.3 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 094e9b2fa..ec2d837e2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,10 +6,10 @@ repos: args: - --fix - --line-length=127 - files: ^((\.github/scripts|scripts)/.+)?[^/]+\.py$ + files: ^((\.github/scripts|scripts|app/core/src/main/resources/static/python)/.+)?[^/]+\.py$ exclude: (split_photos.py) - id: ruff-format - files: ^((\.github/scripts|scripts)/.+)?[^/]+\.py$ + files: ^((\.github/scripts|scripts|app/core/src/main/resources/static/python)/.+)?[^/]+\.py$ exclude: (split_photos.py) - repo: https://github.com/codespell-project/codespell rev: v2.4.1 diff --git a/README.md b/README.md index 02712a1ad..836762158 100644 --- a/README.md +++ b/README.md @@ -143,7 +143,7 @@ Stirling-PDF currently supports 40 languages! | Portuguese (Português) (pt_PT) | ![70%](https://geps.dev/progress/70) | | Portuguese Brazilian (Português) (pt_BR) | ![77%](https://geps.dev/progress/77) | | 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) | | Simplified Chinese (简体中文) (zh_CN) | ![95%](https://geps.dev/progress/95) | | Slovakian (Slovensky) (sk_SK) | ![53%](https://geps.dev/progress/53) | diff --git a/app/common/build.gradle b/app/common/build.gradle index 2ab8c3b97..3c46a59af 100644 --- a/app/common/build.gradle +++ b/app/common/build.gradle @@ -26,7 +26,7 @@ dependencies { api 'com.vladsch.flexmark:flexmark-html2md-converter:0.64.8' api "org.apache.pdfbox:pdfbox:$pdfboxVersion" 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 'jakarta.mail:jakarta.mail-api:2.1.3' runtimeOnly 'org.eclipse.angus:angus-mail:2.0.3' diff --git a/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java b/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java index d087f2a7a..08618329d 100644 --- a/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java +++ b/app/common/src/main/java/stirling/software/common/configuration/InstallationPathConfig.java @@ -14,6 +14,7 @@ public class InstallationPathConfig { private static final String CONFIG_PATH; private static final String CUSTOM_FILES_PATH; private static final String CLIENT_WEBUI_PATH; + private static final String SCRIPTS_PATH; // Config paths private static final String SETTINGS_PATH; @@ -36,6 +37,7 @@ public class InstallationPathConfig { // Initialize config paths SETTINGS_PATH = CONFIG_PATH + "settings.yml"; CUSTOM_SETTINGS_PATH = CONFIG_PATH + "custom_settings.yml"; + SCRIPTS_PATH = CONFIG_PATH + "scripts" + File.separator; // Initialize custom file paths STATIC_PATH = CUSTOM_FILES_PATH + "static" + File.separator; @@ -89,6 +91,10 @@ public class InstallationPathConfig { return CLIENT_WEBUI_PATH; } + public static String getScriptsPath() { + return SCRIPTS_PATH; + } + public static String getSettingsPath() { return SETTINGS_PATH; } diff --git a/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java b/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java index ddbec92e0..a164faec2 100644 --- a/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java +++ b/app/common/src/main/java/stirling/software/common/util/GeneralUtils.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.Locale; import java.util.UUID; +import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; import org.springframework.core.io.support.ResourcePatternUtils; @@ -33,6 +34,9 @@ import stirling.software.common.configuration.InstallationPathConfig; @Slf4j public class GeneralUtils { + private static final List DEFAULT_VALID_SCRIPTS = + List.of("png_to_webp.py", "split_photos.py"); + public static File convertMultipartFileToFile(MultipartFile multipartFile) throws IOException { String customTempDir = System.getenv("STIRLING_TEMPFILES_DIRECTORY"); 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) { if (currentVersion == null || compareVersion == null) { return false; diff --git a/app/core/.gitignore b/app/core/.gitignore index f85be51d5..2b3880de6 100644 --- a/app/core/.gitignore +++ b/app/core/.gitignore @@ -194,3 +194,5 @@ id_ed25519.pub # node_modules node_modules/ + +scripts/**/* diff --git a/app/core/build.gradle b/app/core/build.gradle index 0974a0577..745dbb87a 100644 --- a/app/core/build.gradle +++ b/app/core/build.gradle @@ -46,7 +46,7 @@ dependencies { implementation 'commons-io:commons-io:2.19.0' implementation "org.bouncycastle:bcprov-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 "org.commonmark:commonmark:$commonmarkVersion" // https://mvnrepository.com/artifact/org.commonmark/commonmark implementation "org.commonmark:commonmark-ext-gfm-tables:$commonmarkVersion" diff --git a/app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java b/app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java index e8ac284a8..a701487e1 100644 --- a/app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java +++ b/app/core/src/main/java/stirling/software/SPDF/config/EndpointConfiguration.java @@ -238,14 +238,14 @@ public class EndpointConfiguration { addEndpointToGroup("PageOps", "rotate-pdf"); addEndpointToGroup("PageOps", "multi-page-layout"); addEndpointToGroup("PageOps", "scale-pages"); - addEndpointToGroup("PageOps", "adjust-contrast"); addEndpointToGroup("PageOps", "crop"); - addEndpointToGroup("PageOps", "auto-split-pdf"); addEndpointToGroup("PageOps", "extract-page"); addEndpointToGroup("PageOps", "pdf-to-single-page"); + addEndpointToGroup("PageOps", "auto-split-pdf"); addEndpointToGroup("PageOps", "split-by-size-or-count"); addEndpointToGroup("PageOps", "overlay-pdf"); addEndpointToGroup("PageOps", "split-pdf-by-sections"); + addEndpointToGroup("PageOps", "split-pdf-by-chapters"); // Adding endpoints to "Convert" group addEndpointToGroup("Convert", "pdf-to-img"); @@ -274,27 +274,43 @@ public class EndpointConfiguration { addEndpointToGroup("Security", "sanitize-pdf"); addEndpointToGroup("Security", "auto-redact"); addEndpointToGroup("Security", "redact"); + addEndpointToGroup("Security", "validate-signature"); + addEndpointToGroup("Security", "stamp"); + addEndpointToGroup("Security", "sign"); // Adding endpoints to "Other" group addEndpointToGroup("Other", "ocr-pdf"); addEndpointToGroup("Other", "add-image"); - addEndpointToGroup("Other", "compress-pdf"); addEndpointToGroup("Other", "extract-images"); addEndpointToGroup("Other", "change-metadata"); - addEndpointToGroup("Other", "extract-image-scans"); - addEndpointToGroup("Other", "sign"); addEndpointToGroup("Other", "flatten"); - addEndpointToGroup("Other", "repair"); addEndpointToGroup("Other", "unlock-pdf-forms"); addEndpointToGroup("Other", REMOVE_BLANKS); addEndpointToGroup("Other", "remove-annotations"); addEndpointToGroup("Other", "compare"); addEndpointToGroup("Other", "add-page-numbers"); - addEndpointToGroup("Other", "auto-rename"); addEndpointToGroup("Other", "get-info-on-pdf"); - addEndpointToGroup("Other", "show-javascript"); addEndpointToGroup("Other", "remove-image-pdf"); 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 addEndpointToGroup("CLI", "compress-pdf"); diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java index 2466a0007..5eff72a4a 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java @@ -1,6 +1,7 @@ package stirling.software.SPDF.controller.api.converters; import java.io.ByteArrayOutputStream; +import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.URLConnection; @@ -87,7 +88,7 @@ public class ConvertImgPDFController { // returns bytes for image boolean singleImage = "single".equals(singleOrMultiple); String filename = - Filenames.toSimpleFileName(file.getOriginalFilename()) + Filenames.toSimpleFileName(new File(file.getOriginalFilename()).getName()) .replaceFirst("[.][^.]+$", ""); result = @@ -116,10 +117,14 @@ public class ConvertImgPDFController { } String pythonVersion = CheckProgramInstall.getAvailablePythonCommand(); + Path pngToWebpScript = GeneralUtils.extractScript("png_to_webp.py"); List command = new ArrayList<>(); 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 tempOutputDir = Files.createTempDirectory("webp_output"); @@ -231,7 +236,8 @@ public class ConvertImgPDFController { PdfUtils.imageToPdf(file, fitOption, autoRotate, colorType, pdfDocumentFactory); return WebResponseUtils.bytesToWebResponse( bytes, - file[0].getOriginalFilename().replaceFirst("[.][^.]+$", "") + "_converted.pdf"); + new File(file[0].getOriginalFilename()).getName().replaceFirst("[.][^.]+$", "") + + "_converted.pdf"); } private String getMediaType(String imageFormat) { diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java index 7ecc04e1a..3992595ab 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ExtractImageScansController.java @@ -34,6 +34,7 @@ import stirling.software.SPDF.model.api.misc.ExtractImageScansRequest; import stirling.software.common.service.CustomPDFDocumentFactory; import stirling.software.common.util.CheckProgramInstall; import stirling.software.common.util.ExceptionUtils; +import stirling.software.common.util.GeneralUtils; import stirling.software.common.util.ProcessExecutor; import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult; import stirling.software.common.util.WebResponseUtils; @@ -78,6 +79,7 @@ public class ExtractImageScansController { } String pythonVersion = CheckProgramInstall.getAvailablePythonCommand(); + Path splitPhotosScript = GeneralUtils.extractScript("split_photos.py"); try { // Check if input file is a PDF if ("pdf".equalsIgnoreCase(extension)) { @@ -120,7 +122,7 @@ public class ExtractImageScansController { new ArrayList<>( Arrays.asList( pythonVersion, - "./scripts/split_photos.py", + splitPhotosScript.toAbsolutePath().toString(), images.get(i), tempDir.toString(), "--angle_threshold", diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java index 79140c571..fc7b7d298 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/PrintFileController.java @@ -7,6 +7,7 @@ import java.awt.print.Printable; import java.awt.print.PrinterException; import java.awt.print.PrinterJob; import java.io.IOException; +import java.nio.file.Paths; import java.util.Arrays; import javax.imageio.ImageIO; @@ -45,6 +46,11 @@ public class PrintFileController { public ResponseEntity printFile(@ModelAttribute PrintFileRequest request) throws IOException { 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 contentType = file.getContentType(); try { diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ScannerEffectController.java similarity index 96% rename from app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java rename to app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ScannerEffectController.java index d221ed52c..a94b487b4 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/FakeScanController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/ScannerEffectController.java @@ -33,7 +33,7 @@ import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; 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.util.WebResponseUtils; @@ -42,7 +42,7 @@ import stirling.software.common.util.WebResponseUtils; @Tag(name = "Misc", description = "Miscellaneous PDF APIs") @RequiredArgsConstructor @Slf4j -public class FakeScanController { +public class ScannerEffectController { private final CustomPDFDocumentFactory pdfDocumentFactory; 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 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( - summary = "Convert PDF to look like a scanned document", + summary = "Apply scanner effect to PDF", 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") - public ResponseEntity fakeScan(@Valid @ModelAttribute FakeScanRequest request) + "Applies various effects to simulate a scanned document, including rotation, noise, and edge softening. Input:PDF Output:PDF Type:SISO") + public ResponseEntity scannerEffect(@Valid @ModelAttribute ScannerEffectRequest request) throws IOException { MultipartFile file = request.getFileInput(); @@ -80,7 +80,7 @@ public class FakeScanController { float noise = request.getNoise(); boolean yellowish = request.isYellowish(); int resolution = request.getResolution(); - FakeScanRequest.Colorspace colorspace = request.getColorspace(); + ScannerEffectRequest.Colorspace colorspace = request.getColorspace(); try (PDDocument document = pdfDocumentFactory.load(file)) { PDDocument outputDocument = new PDDocument(); @@ -130,7 +130,7 @@ public class FakeScanController { // 1. Convert to grayscale or keep color BufferedImage processed; - if (colorspace == FakeScanRequest.Colorspace.grayscale) { + if (colorspace == ScannerEffectRequest.Colorspace.grayscale) { processed = new BufferedImage( image.getWidth(), @@ -316,7 +316,7 @@ public class FakeScanController { String outputFilename = Filenames.toSimpleFileName(file.getOriginalFilename()) .replaceFirst("[.][^.]+$", "") - + "_scanned.pdf"; + + "_scanner_effect.pdf"; return WebResponseUtils.bytesToWebResponse( outputStream.toByteArray(), outputFilename, MediaType.APPLICATION_PDF); diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java index bdf27c519..f5bc9dc65 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/misc/StampController.java @@ -62,9 +62,18 @@ public class StampController { public ResponseEntity addStamp(@ModelAttribute AddStampRequest request) throws IOException, Exception { 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 stampText = request.getStampText(); 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(); float fontSize = request.getFontSize(); float rotation = request.getRotation(); diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java index 5c1fd5f4a..44f2b892a 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/pipeline/PipelineProcessor.java @@ -108,7 +108,9 @@ public class PipelineProcessor { if (inputFileTypes == null) { inputFileTypes = new ArrayList(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; List newOutputFiles = new ArrayList<>(); if (!isMultiInputOperation) { @@ -327,6 +329,11 @@ public class PipelineProcessor { } List outputFiles = new ArrayList<>(); 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()); // debug statement log.info("Reading file: " + path); diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java index 47a53a4f9..484a1c116 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/api/security/WatermarkController.java @@ -74,9 +74,21 @@ public class WatermarkController { public ResponseEntity addWatermark(@ModelAttribute AddWatermarkRequest request) throws IOException, Exception { 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 watermarkText = request.getWatermarkText(); 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(); float fontSize = request.getFontSize(); float rotation = request.getRotation(); diff --git a/app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java b/app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java index aac9cb6a0..bc63a4b84 100644 --- a/app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java +++ b/app/core/src/main/java/stirling/software/SPDF/controller/web/OtherWebController.java @@ -70,11 +70,11 @@ public class OtherWebController { return "misc/add-page-numbers"; } - @GetMapping("/fake-scan") + @GetMapping("/scanner-effect") @Hidden - public String fakeScanForm(Model model) { - model.addAttribute("currentPage", "fake-scan"); - return "misc/fake-scan"; + public String scannerEffectForm(Model model) { + model.addAttribute("currentPage", "scanner-effect"); + return "misc/scanner-effect"; } @GetMapping("/extract-images") diff --git a/app/core/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ScannerEffectRequest.java similarity index 98% rename from app/core/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java rename to app/core/src/main/java/stirling/software/SPDF/model/api/misc/ScannerEffectRequest.java index 1237d2305..72ecb42f6 100644 --- a/app/core/src/main/java/stirling/software/SPDF/model/api/misc/FakeScanRequest.java +++ b/app/core/src/main/java/stirling/software/SPDF/model/api/misc/ScannerEffectRequest.java @@ -11,7 +11,7 @@ import lombok.EqualsAndHashCode; @Data @EqualsAndHashCode -public class FakeScanRequest { +public class ScannerEffectRequest { public enum Quality { low, medium, diff --git a/app/core/src/main/resources/messages_ar_AR.properties b/app/core/src/main/resources/messages_ar_AR.properties index 4691fa989..2993800ac 100644 --- a/app/core/src/main/resources/messages_ar_AR.properties +++ b/app/core/src/main/resources/messages_ar_AR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_az_AZ.properties b/app/core/src/main/resources/messages_az_AZ.properties index 79ebfdcdb..c719d7139 100644 --- a/app/core/src/main/resources/messages_az_AZ.properties +++ b/app/core/src/main/resources/messages_az_AZ.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_bg_BG.properties b/app/core/src/main/resources/messages_bg_BG.properties index a5f12ec06..eaaeb5d95 100644 --- a/app/core/src/main/resources/messages_bg_BG.properties +++ b/app/core/src/main/resources/messages_bg_BG.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_bo_CN.properties b/app/core/src/main/resources/messages_bo_CN.properties index 87cf84b24..d84b4a387 100644 --- a/app/core/src/main/resources/messages_bo_CN.properties +++ b/app/core/src/main/resources/messages_bo_CN.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_ca_CA.properties b/app/core/src/main/resources/messages_ca_CA.properties index 488ac87a8..30a7f7624 100644 --- a/app/core/src/main/resources/messages_ca_CA.properties +++ b/app/core/src/main/resources/messages_ca_CA.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_cs_CZ.properties b/app/core/src/main/resources/messages_cs_CZ.properties index ab0b45b4d..7eb854aaa 100644 --- a/app/core/src/main/resources/messages_cs_CZ.properties +++ b/app/core/src/main/resources/messages_cs_CZ.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_da_DK.properties b/app/core/src/main/resources/messages_da_DK.properties index ba2b18cf5..118e545e6 100644 --- a/app/core/src/main/resources/messages_da_DK.properties +++ b/app/core/src/main/resources/messages_da_DK.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_de_DE.properties b/app/core/src/main/resources/messages_de_DE.properties index 207a36007..5f01823f1 100644 --- a/app/core/src/main/resources/messages_de_DE.properties +++ b/app/core/src/main/resources/messages_de_DE.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Diese Cookies sind für das 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. -#fakeScan -fakeScan.title=Fake-Scan-PDF -fakeScan.header=Fake-Scan-PDF -fakeScan.description=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden -fakeScan.selectPDF=Wählen Sie PDF: -fakeScan.quality=Scan-Qualität -fakeScan.quality.low=Niedrig -fakeScan.quality.medium=Medium -fakeScan.quality.high=Hoch -fakeScan.rotation=Rotationswinkel -fakeScan.rotation.none=Keiner -fakeScan.rotation.slight=Leicht -fakeScan.rotation.moderate=Mäßig -fakeScan.rotation.severe=Schwer -fakeScan.submit=Erstellen Sie einen Fake-Scan +#scannerEffect +scannerEffect.title=Scanner-Effect-PDF +scannerEffect.header=Scanner-Effect-PDF +scannerEffect.description=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden +scannerEffect.selectPDF=Wählen Sie PDF: +scannerEffect.quality=Scan-Qualität +scannerEffect.quality.low=Niedrig +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=Hoch +scannerEffect.rotation=Rotationswinkel +scannerEffect.rotation.none=Keiner +scannerEffect.rotation.slight=Leicht +scannerEffect.rotation.moderate=Mäßig +scannerEffect.rotation.severe=Schwer +scannerEffect.submit=Erstellen Sie einen Scanner-Effect -#home.fakeScan -home.fakeScan.title=Fake-Scan-PDF -home.fakeScan.desc=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden -fakeScan.tags=scannen,simulieren,realistisch,konvertieren,fake,scan,pdf +#home.scannerEffect +home.scannerEffect.title=Scanner-Effect-PDF +home.scannerEffect.desc=Erstellen Sie ein PDF, das so aussieht, als wäre es gescannt worden +scannerEffect.tags=scannen,simulieren,realistisch,konvertieren,fake,scan,pdf -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Aktivieren Sie erweiterte Scaneinstellungen -fakeScan.colorspace=Farbraum -fakeScan.colorspace.grayscale=Graustufen -fakeScan.colorspace.color=Farbe -fakeScan.border=Grenze (PX) -fakeScan.rotate=Grundrotation (Grad) -fakeScan.rotateVariance=Rotationsvarianz (Grad) -fakeScan.brightness=Helligkeit -fakeScan.contrast=Kontrast -fakeScan.blur=Verwischen -fakeScan.noise=Rauschen -fakeScan.yellowish=Gelblich (simulieren Sie altes Papier) -fakeScan.resolution=Auflösung (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Aktivieren Sie erweiterte Scaneinstellungen +scannerEffect.colorspace=Farbraum +scannerEffect.colorspace.grayscale=Graustufen +scannerEffect.colorspace.color=Farbe +scannerEffect.border=Grenze (PX) +scannerEffect.rotate=Grundrotation (Grad) +scannerEffect.rotateVariance=Rotationsvarianz (Grad) +scannerEffect.brightness=Helligkeit +scannerEffect.contrast=Kontrast +scannerEffect.blur=Verwischen +scannerEffect.noise=Rauschen +scannerEffect.yellowish=Gelblich (simulieren Sie altes Papier) +scannerEffect.resolution=Auflösung (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_el_GR.properties b/app/core/src/main/resources/messages_el_GR.properties index b04948a41..82fc98ef9 100644 --- a/app/core/src/main/resources/messages_el_GR.properties +++ b/app/core/src/main/resources/messages_el_GR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_en_GB.properties b/app/core/src/main/resources/messages_en_GB.properties index 1325a9e3e..f953ddd5b 100644 --- a/app/core/src/main/resources/messages_en_GB.properties +++ b/app/core/src/main/resources/messages_en_GB.properties @@ -1811,6 +1811,49 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. +#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 # #################### @@ -1874,56 +1917,3 @@ viewer.nextPage=Next Page viewer.pageNavigation=Page Navigation viewer.currentPage=Current Page 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 diff --git a/app/core/src/main/resources/messages_en_US.properties b/app/core/src/main/resources/messages_en_US.properties index 0b37cc0ea..eb8a9236c 100644 --- a/app/core/src/main/resources/messages_en_US.properties +++ b/app/core/src/main/resources/messages_en_US.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_es_ES.properties b/app/core/src/main/resources/messages_es_ES.properties index bf86c3dee..5601e76c0 100644 --- a/app/core/src/main/resources/messages_es_ES.properties +++ b/app/core/src/main/resources/messages_es_ES.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Estas cookies son esenciales 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_eu_ES.properties b/app/core/src/main/resources/messages_eu_ES.properties index 8a614af65..bda28227f 100644 --- a/app/core/src/main/resources/messages_eu_ES.properties +++ b/app/core/src/main/resources/messages_eu_ES.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_fa_IR.properties b/app/core/src/main/resources/messages_fa_IR.properties index 50dc3f6f7..a1cfbe5b5 100644 --- a/app/core/src/main/resources/messages_fa_IR.properties +++ b/app/core/src/main/resources/messages_fa_IR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_fr_FR.properties b/app/core/src/main/resources/messages_fr_FR.properties index 7b1e71100..2a3a7c6b5 100644 --- a/app/core/src/main/resources/messages_fr_FR.properties +++ b/app/core/src/main/resources/messages_fr_FR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ces cookies sont essentiels 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. -#fakeScan -fakeScan.title=Fausse numérisation -fakeScan.header=Fausse numérisation -fakeScan.description=Créer un PDF qui ressemble à une numérisation -fakeScan.selectPDF=Sélectionner un PDF : -fakeScan.quality=Qualité de numérisation -fakeScan.quality.low=Faible -fakeScan.quality.medium=Moyenne -fakeScan.quality.high=Élevée -fakeScan.rotation=Angle de rotation -fakeScan.rotation.none=Aucun -fakeScan.rotation.slight=Léger -fakeScan.rotation.moderate=Modéré -fakeScan.rotation.severe=Sévère -fakeScan.submit=Créer une fausse numérisation +#scannerEffect +scannerEffect.title=Fausse numérisation +scannerEffect.header=Fausse numérisation +scannerEffect.description=Créer un PDF qui ressemble à une numérisation +scannerEffect.selectPDF=Sélectionner un PDF : +scannerEffect.quality=Qualité de numérisation +scannerEffect.quality.low=Faible +scannerEffect.quality.medium=Moyenne +scannerEffect.quality.high=Élevée +scannerEffect.rotation=Angle de rotation +scannerEffect.rotation.none=Aucun +scannerEffect.rotation.slight=Léger +scannerEffect.rotation.moderate=Modéré +scannerEffect.rotation.severe=Sévère +scannerEffect.submit=Créer une fausse numérisation -#home.fakeScan -home.fakeScan.title=Fausse numérisation -home.fakeScan.desc=Créer un PDF qui ressemble à une numérisation -fakeScan.tags=numérisation,simuler,réaliste,convertir,scan,simulate,realistic,convert +#home.scannerEffect +home.scannerEffect.title=Fausse numérisation +home.scannerEffect.desc=Créer un PDF qui ressemble à une numérisation +scannerEffect.tags=numérisation,simuler,réaliste,convertir,scan,simulate,realistic,convert -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Activer les paramètres de numérisation avancés -fakeScan.colorspace=Espace colorimétrique -fakeScan.colorspace.grayscale=Niveaux de gris -fakeScan.colorspace.color=Couleur -fakeScan.border=Bordure (px) -fakeScan.rotate=Rotation de base (degrés) -fakeScan.rotateVariance=Variance de rotation (degrés) -fakeScan.brightness=Luminosité -fakeScan.contrast=Contraste -fakeScan.blur=Flou -fakeScan.noise=Bruit -fakeScan.yellowish=Jaunâtre (simuler du vieux papier) -fakeScan.resolution=Résolution (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Activer les paramètres de numérisation avancés +scannerEffect.colorspace=Espace colorimétrique +scannerEffect.colorspace.grayscale=Niveaux de gris +scannerEffect.colorspace.color=Couleur +scannerEffect.border=Bordure (px) +scannerEffect.rotate=Rotation de base (degrés) +scannerEffect.rotateVariance=Variance de rotation (degrés) +scannerEffect.brightness=Luminosité +scannerEffect.contrast=Contraste +scannerEffect.blur=Flou +scannerEffect.noise=Bruit +scannerEffect.yellowish=Jaunâtre (simuler du vieux papier) +scannerEffect.resolution=Résolution (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_ga_IE.properties b/app/core/src/main/resources/messages_ga_IE.properties index 332ac4e76..7a5d87de3 100644 --- a/app/core/src/main/resources/messages_ga_IE.properties +++ b/app/core/src/main/resources/messages_ga_IE.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_hi_IN.properties b/app/core/src/main/resources/messages_hi_IN.properties index 29d1e1ee5..ced3f3300 100644 --- a/app/core/src/main/resources/messages_hi_IN.properties +++ b/app/core/src/main/resources/messages_hi_IN.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_hr_HR.properties b/app/core/src/main/resources/messages_hr_HR.properties index 321e1b141..f311a93dd 100644 --- a/app/core/src/main/resources/messages_hr_HR.properties +++ b/app/core/src/main/resources/messages_hr_HR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_hu_HU.properties b/app/core/src/main/resources/messages_hu_HU.properties index 8c38c44c4..f04440968 100644 --- a/app/core/src/main/resources/messages_hu_HU.properties +++ b/app/core/src/main/resources/messages_hu_HU.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ezek a sütik elengedhetetle 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. -#fakeScan -fakeScan.title=Látszat szkennelés -fakeScan.header=Látszat szkennelés -fakeScan.description=Olyan PDF létrehozása, amely szkenneltnek tűnik -fakeScan.selectPDF=PDF kiválasztása: -fakeScan.quality=Szkennelési minőség -fakeScan.quality.low=Alacsony -fakeScan.quality.medium=Közepes -fakeScan.quality.high=Magas -fakeScan.rotation=Forgatási szög -fakeScan.rotation.none=Nincs -fakeScan.rotation.slight=Enyhe -fakeScan.rotation.moderate=Mérsékelt -fakeScan.rotation.severe=Erős -fakeScan.submit=Látszat szkennelés létrehozása +#scannerEffect +scannerEffect.title=Látszat szkennelés +scannerEffect.header=Látszat szkennelés +scannerEffect.description=Olyan PDF létrehozása, amely szkenneltnek tűnik +scannerEffect.selectPDF=PDF kiválasztása: +scannerEffect.quality=Szkennelési minőség +scannerEffect.quality.low=Alacsony +scannerEffect.quality.medium=Közepes +scannerEffect.quality.high=Magas +scannerEffect.rotation=Forgatási szög +scannerEffect.rotation.none=Nincs +scannerEffect.rotation.slight=Enyhe +scannerEffect.rotation.moderate=Mérsékelt +scannerEffect.rotation.severe=Erős +scannerEffect.submit=Látszat szkennelés létrehozása -#home.fakeScan -home.fakeScan.title=Látszat szkennelés -home.fakeScan.desc=Olyan PDF létrehozása, amely szkenneltnek tűnik -fakeScan.tags=szkennelés,szimuláció,valósághű,konvertálás +#home.scannerEffect +home.scannerEffect.title=Látszat szkennelés +home.scannerEffect.desc=Olyan PDF létrehozása, amely szkenneltnek tűnik +scannerEffect.tags=szkennelés,szimuláció,valósághű,konvertálás -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Haladó szkennelési beállítások engedélyezése -fakeScan.colorspace=Színtér -fakeScan.colorspace.grayscale=Szürkeárnyalatos -fakeScan.colorspace.color=Színes -fakeScan.border=Keret (px) -fakeScan.rotate=Alapforgatás (fok) -fakeScan.rotateVariance=Forgatási változó (fok) -fakeScan.brightness=Fényerő -fakeScan.contrast=Kontraszt -fakeScan.blur=Elmosás -fakeScan.noise=Zaj -fakeScan.yellowish=Sárgás (régi papír szimulálása) -fakeScan.resolution=Felbontás (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Haladó szkennelési beállítások engedélyezése +scannerEffect.colorspace=Színtér +scannerEffect.colorspace.grayscale=Szürkeárnyalatos +scannerEffect.colorspace.color=Színes +scannerEffect.border=Keret (px) +scannerEffect.rotate=Alapforgatás (fok) +scannerEffect.rotateVariance=Forgatási változó (fok) +scannerEffect.brightness=Fényerő +scannerEffect.contrast=Kontraszt +scannerEffect.blur=Elmosás +scannerEffect.noise=Zaj +scannerEffect.yellowish=Sárgás (régi papír szimulálása) +scannerEffect.resolution=Felbontás (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_id_ID.properties b/app/core/src/main/resources/messages_id_ID.properties index 218a7275c..3a706535a 100644 --- a/app/core/src/main/resources/messages_id_ID.properties +++ b/app/core/src/main/resources/messages_id_ID.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_it_IT.properties b/app/core/src/main/resources/messages_it_IT.properties index 2cce71c66..bba74394b 100644 --- a/app/core/src/main/resources/messages_it_IT.properties +++ b/app/core/src/main/resources/messages_it_IT.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Questi cookie sono essenzial 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. -#fakeScan -fakeScan.title=Falsa scansione -fakeScan.header=Falsa scansione -fakeScan.description=Crea un PDF che sembra scansionato -fakeScan.selectPDF=Seleziona PDF: -fakeScan.quality=Qualità di scansione -fakeScan.quality.low=Bassa -fakeScan.quality.medium=Media -fakeScan.quality.high=Alta -fakeScan.rotation=Angolo di rotazione -fakeScan.rotation.none=Nessuno -fakeScan.rotation.slight=Lieve -fakeScan.rotation.moderate=Moderato -fakeScan.rotation.severe=Severo -fakeScan.submit=Crea una falsa scansione +#scannerEffect +scannerEffect.title=Falsa scansione +scannerEffect.header=Falsa scansione +scannerEffect.description=Crea un PDF che sembra scansionato +scannerEffect.selectPDF=Seleziona PDF: +scannerEffect.quality=Qualità di scansione +scannerEffect.quality.low=Bassa +scannerEffect.quality.medium=Media +scannerEffect.quality.high=Alta +scannerEffect.rotation=Angolo di rotazione +scannerEffect.rotation.none=Nessuno +scannerEffect.rotation.slight=Lieve +scannerEffect.rotation.moderate=Moderato +scannerEffect.rotation.severe=Severo +scannerEffect.submit=Crea una falsa scansione -#home.fakeScan -home.fakeScan.title=Falsa scansione -home.fakeScan.desc=Crea un PDF che sembra scansionato -fakeScan.tags=scansiona, simula, realistico, converti +#home.scannerEffect +home.scannerEffect.title=Falsa scansione +home.scannerEffect.desc=Crea un PDF che sembra scansionato +scannerEffect.tags=scansiona, simula, realistico, converti -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Abilita impostazioni di scansione avanzate -fakeScan.colorspace=Spazio colore -fakeScan.colorspace.grayscale=Scala di grigi -fakeScan.colorspace.color=Colore -fakeScan.border=Bordo (px) -fakeScan.rotate=Rotazione di base (gradi) -fakeScan.rotateVariance=Varianza di rotazione (gradi) -fakeScan.brightness=Luminosità -fakeScan.contrast=Contrasto -fakeScan.blur=Sfocatura -fakeScan.noise=Rumore -fakeScan.yellowish=Giallastro (simula carta vecchia) -fakeScan.resolution=Risoluzione (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Abilita impostazioni di scansione avanzate +scannerEffect.colorspace=Spazio colore +scannerEffect.colorspace.grayscale=Scala di grigi +scannerEffect.colorspace.color=Colore +scannerEffect.border=Bordo (px) +scannerEffect.rotate=Rotazione di base (gradi) +scannerEffect.rotateVariance=Varianza di rotazione (gradi) +scannerEffect.brightness=Luminosità +scannerEffect.contrast=Contrasto +scannerEffect.blur=Sfocatura +scannerEffect.noise=Rumore +scannerEffect.yellowish=Giallastro (simula carta vecchia) +scannerEffect.resolution=Risoluzione (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_ja_JP.properties b/app/core/src/main/resources/messages_ja_JP.properties index b4a2bdbc0..bdb30dc7b 100644 --- a/app/core/src/main/resources/messages_ja_JP.properties +++ b/app/core/src/main/resources/messages_ja_JP.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=これらのCookieはウェ cookieBanner.preferencesModal.analytics.title=分析 cookieBanner.preferencesModal.analytics.description=これらのCookieはツールがどのように使用されているかを把握するのに役立ちます。これによりコミュニティが最も重視する機能の開発に集中することができます。ご安心ください。Stirling PDFはお客様が操作するドキュメントの内容を追跡することは決してありません。 -#fakeScan -fakeScan.title=フェイクスキャン -fakeScan.header=フェイクスキャン -fakeScan.description=スキャンされたように見えるPDFを作成します -fakeScan.selectPDF=PDFを選択: -fakeScan.quality=スキャン品質 -fakeScan.quality.low=低 -fakeScan.quality.medium=中 -fakeScan.quality.high=高 -fakeScan.rotation=回転角度 -fakeScan.rotation.none=なし -fakeScan.rotation.slight=微少 -fakeScan.rotation.moderate=適度 -fakeScan.rotation.severe=多大 -fakeScan.submit=フェイクスキャンの生成 +#scannerEffect +scannerEffect.title=フェイクスキャン +scannerEffect.header=フェイクスキャン +scannerEffect.description=スキャンされたように見えるPDFを作成します +scannerEffect.selectPDF=PDFを選択: +scannerEffect.quality=スキャン品質 +scannerEffect.quality.low=低 +scannerEffect.quality.medium=中 +scannerEffect.quality.high=高 +scannerEffect.rotation=回転角度 +scannerEffect.rotation.none=なし +scannerEffect.rotation.slight=微少 +scannerEffect.rotation.moderate=適度 +scannerEffect.rotation.severe=多大 +scannerEffect.submit=フェイクスキャンの生成 -#home.fakeScan -home.fakeScan.title=フェイクスキャン -home.fakeScan.desc=スキャンされたように見えるPDFを作成します -fakeScan.tags=scan,simulate,realistic,convert +#home.scannerEffect +home.scannerEffect.title=フェイクスキャン +home.scannerEffect.desc=スキャンされたように見えるPDFを作成します +scannerEffect.tags=scan,simulate,realistic,convert -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=高度なスキャン設定を有効にする -fakeScan.colorspace=色空間 -fakeScan.colorspace.grayscale=グレースケール -fakeScan.colorspace.color=カラー -fakeScan.border=縁 (px) -fakeScan.rotate=ベースの回転(度) -fakeScan.rotateVariance=回転分散(度) -fakeScan.brightness=輝度 -fakeScan.contrast=コントラスト -fakeScan.blur=ぼかし -fakeScan.noise=ノイズ -fakeScan.yellowish=黄色がかった(古い紙をシミュレート) -fakeScan.resolution=解像度 (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=高度なスキャン設定を有効にする +scannerEffect.colorspace=色空間 +scannerEffect.colorspace.grayscale=グレースケール +scannerEffect.colorspace.color=カラー +scannerEffect.border=縁 (px) +scannerEffect.rotate=ベースの回転(度) +scannerEffect.rotateVariance=回転分散(度) +scannerEffect.brightness=輝度 +scannerEffect.contrast=コントラスト +scannerEffect.blur=ぼかし +scannerEffect.noise=ノイズ +scannerEffect.yellowish=黄色がかった(古い紙をシミュレート) +scannerEffect.resolution=解像度 (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_ko_KR.properties b/app/core/src/main/resources/messages_ko_KR.properties index 224e84ce0..76f7ca715 100644 --- a/app/core/src/main/resources/messages_ko_KR.properties +++ b/app/core/src/main/resources/messages_ko_KR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_ml_IN.properties b/app/core/src/main/resources/messages_ml_IN.properties index 418cfe100..164209212 100644 --- a/app/core/src/main/resources/messages_ml_IN.properties +++ b/app/core/src/main/resources/messages_ml_IN.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=വെബ്സൈറ്റ cookieBanner.preferencesModal.analytics.title=അനലിറ്റിക്സ് cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_nl_NL.properties b/app/core/src/main/resources/messages_nl_NL.properties index eb6f132af..9a1af6e0a 100644 --- a/app/core/src/main/resources/messages_nl_NL.properties +++ b/app/core/src/main/resources/messages_nl_NL.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_no_NB.properties b/app/core/src/main/resources/messages_no_NB.properties index fa99d5ac9..03d42816d 100644 --- a/app/core/src/main/resources/messages_no_NB.properties +++ b/app/core/src/main/resources/messages_no_NB.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_pl_PL.properties b/app/core/src/main/resources/messages_pl_PL.properties index c08fda43d..4963d7bc6 100644 --- a/app/core/src/main/resources/messages_pl_PL.properties +++ b/app/core/src/main/resources/messages_pl_PL.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_pt_BR.properties b/app/core/src/main/resources/messages_pt_BR.properties index ef570453c..552139b52 100644 --- a/app/core/src/main/resources/messages_pt_BR.properties +++ b/app/core/src/main/resources/messages_pt_BR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Estes cookies são essenciai 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_pt_PT.properties b/app/core/src/main/resources/messages_pt_PT.properties index fd6c34b90..dc99a45c9 100644 --- a/app/core/src/main/resources/messages_pt_PT.properties +++ b/app/core/src/main/resources/messages_pt_PT.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_ro_RO.properties b/app/core/src/main/resources/messages_ro_RO.properties index da8f7eaf2..25bc477b1 100644 --- a/app/core/src/main/resources/messages_ro_RO.properties +++ b/app/core/src/main/resources/messages_ro_RO.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_ru_RU.properties b/app/core/src/main/resources/messages_ru_RU.properties index 66a1bc93d..e414408f1 100644 --- a/app/core/src/main/resources/messages_ru_RU.properties +++ b/app/core/src/main/resources/messages_ru_RU.properties @@ -221,7 +221,7 @@ error.fileNotFound=Файл с идентификатором: {0} не найд # Database and configuration messages error.noBackupScripts=Сценарий резервного копирования не найден error.unsupportedProvider={0} в настоящее время не поддерживается. -error.pathTraversalDetected=Path traversal detected for security reasons. +error.pathTraversalDetected=Обнаружено пересечение пути по соображениям безопасности. # Validation messages error.invalidArgument=Недопустимый аргумент: {0} @@ -439,8 +439,8 @@ adminUserSettings.activeUsers=Активные пользователи: adminUserSettings.disabledUsers=Отключенные пользователи: adminUserSettings.totalUsers=Всего пользователей: adminUserSettings.lastRequest=Последний запрос -adminUserSettings.usage=View Usage -adminUserSettings.teams=View/Edit Teams +adminUserSettings.usage=Просмотр использования +adminUserSettings.teams=Просмотр/редактирование групп adminUserSettings.team=Группа adminUserSettings.manageTeams=Управление группами adminUserSettings.createTeam=Создать группу @@ -454,34 +454,34 @@ adminUserSettings.teamHidden=Скрытая adminUserSettings.totalMembers=Общее количество участников adminUserSettings.confirmDeleteTeam=Вы уверены, что хотите удалить эту группу? -teamCreated=Team created successfully -teamExists=A team with that name already exists -teamNameExists=Another team with that name already exists -teamNotFound=Team not found -teamDeleted=Team deleted -teamHasUsers=Cannot delete a team with users assigned -teamRenamed=Team renamed successfully +teamCreated=Группа успешно создана +teamExists=Группа с таким названием уже существует +teamNameExists=Другая группа с таким названием уже существует +teamNotFound=Группа не найдена +teamDeleted=Группа удалена +teamHasUsers=Не удается удалить группу с назначенными пользователями +teamRenamed=Команда успешно переименована # Team user management -team.addUser=Add User to Team -team.selectUser=Select User -team.warning.moveUser=Warning: This will move the user from "{0}" team to "{1}" team. Are you sure? -team.confirm.moveUser=Are you sure you want to move this user from "{0}" team to "{1}" team? -team.userAdded=User successfully added to team -team.back=Back to Teams -team.internal=Internal Team -team.internalTeamNotAccessible=The Internal team is a system team and cannot be accessed -team.cannotMoveInternalUsers=Users in the Internal team cannot be moved to other teams -team.hidden=Hidden -team.name=Team Name -team.totalMembers=Total Members -team.members=Members -team.username=Username -team.role=Role -team.status=Status -team.enabled=Enabled -team.disabled=Disabled -team.noMembers=This team has no members yet. +team.addUser=Добавить пользователя в группу +team.selectUser=Выбрать пользователя +team.warning.moveUser=Внимание: Это приведет к перемещению пользователя из группы "{0}" в группу "{1}". Вы уверены? +team.confirm.moveUser=Вы уверены, что хотите перевести этого пользователя из группы "{0}" в группу "{1}"? +team.userAdded=Пользователь успешно добавлен в группу +team.back=Назад в группы +team.internal=Внутренняя группа +team.internalTeamNotAccessible=Внутренняя группа - это системная группа, и доступ к ней невозможен +team.cannotMoveInternalUsers=Пользователи из внутренней группы не могут быть переведены в другие группы +team.hidden=Скрытая +team.name=Имя группы +team.totalMembers=Общее количество участников +team.members=Участники +team.username=Имя пользователя +team.role=Роль +team.status=Статус +team.enabled=Включен +team.disabled=Отключен +team.noMembers=В этой команде пока нет участников. @@ -565,16 +565,16 @@ split.tags=операции со страницами,разделение,мн home.rotate.title=Повернуть home.rotate.desc=Легко поворачивайте ваши PDF-файлы. -rotate.tags=серверная часть +rotate.tags=повернуть,наклонить home.imageToPdf.title=Изображение в PDF home.imageToPdf.desc=Преобразование изображения (PNG, JPEG, GIF) в PDF. -imageToPdf.tags=конвертация,изображение,jpg,картинка,фото +imageToPdf.tags=png,jpeg,gif,конвертация,изображение,картинка,фото home.pdfToImage.title=PDF в изображение home.pdfToImage.desc=Преобразование PDF в изображение (PNG, JPEG, GIF). -pdfToImage.tags=конвертация,изображение,jpg,картинка,фото +pdfToImage.tags=png,jpeg,gif,конвертация,изображение,картинка,фото home.pdfOrganiser.title=Организация home.pdfOrganiser.desc=Удаление/переупорядочивание страниц в любом порядке @@ -587,7 +587,7 @@ addImage.tags=изображение,jpg,картинка,фото home.attachments.title=Добавлять вложения home.attachments.desc=Добавление или удаление встроенных файлов (вложений) в PDF-файл или из него -attachments.tags=embed,attach,file,attachment,attachments +attachments.tags=вставлять,прикреплять,файл,вложение,вложения home.watermark.title=Добавить водяной знак home.watermark.desc=Добавьте собственный водяной знак в ваш PDF-документ. @@ -615,8 +615,8 @@ home.compressPdfs.desc=Сжимайте PDF-файлы для уменьшени compressPdfs.tags=сжатие,маленький,крошечный home.unlockPDFForms.title=Разблокировать PDF-формы -home.unlockPDFForms.desc=Удалите свойство "только для чтения" для полей формы в PDF-документа. -unlockPDFForms.tags=remove,delete,form,field,readonly +home.unlockPDFForms.desc=Удалите свойство 'только для чтения' для полей формы в PDF-документа. +unlockPDFForms.tags=удалить,форма,поле,только для чтения home.changeMetadata.title=Изменить метаданные home.changeMetadata.desc=Изменить/удалить/добавить метаданные из PDF-документа @@ -644,15 +644,15 @@ PDFToWord.tags=doc,docx,odt,word,преобразование,формат,ко home.PDFToPresentation.title=PDF в презентацию home.PDFToPresentation.desc=Преобразование PDF в форматы презентаций (PPT, PPTX и ODP) -PDFToPresentation.tags=слайды,показ,офис,microsoft +PDFToPresentation.tags=слайды,презентация,офис,microsoft home.PDFToText.title=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.desc=Преобразование PDF в формат HTML -PDFToHTML.tags=веб-контент,браузерный формат +PDFToHTML.tags=html,веб-контент,браузерный формат home.PDFToXML.title=PDF в XML @@ -733,16 +733,16 @@ sanitizePdf.tags=очистка,безопасность,защита,удале home.URLToPDF.title=URL/веб-сайт в PDF home.URLToPDF.desc=Преобразует любой http(s)URL в PDF -URLToPDF.tags=веб-захват,сохранение страницы,веб в док,архивация +URLToPDF.tags=url,веб-захват,сохранение страницы,веб в док,архивация home.HTMLToPDF.title=HTML в PDF home.HTMLToPDF.desc=Преобразует любой HTML-файл или zip в PDF -HTMLToPDF.tags=разметка,веб-контент,преобразование,конвертация +HTMLToPDF.tags=html,разметка,веб-контент,преобразование,конвертация #eml-to-pdf home.EMLToPDF.title=Email в PDF home.EMLToPDF.desc=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения -EMLToPDF.tags=email,conversion,eml,message,transformation,convert,mail +EMLToPDF.tags=eml,email,сообщение,преобразование,конвертация,почта,письмо EMLToPDF.title=Email в PDF EMLToPDF.header=Email в PDF @@ -752,17 +752,17 @@ EMLToPDF.downloadHtmlHelp=Это позволит вам просмотреть EMLToPDF.includeAttachments=Включать вложения в формате PDF EMLToPDF.maxAttachmentSize=Максимальный размер вложения (MB) EMLToPDF.help=Преобразует файлы электронной почты (EML) в формат PDF, включая заголовки, основную часть и встроенные изображения -EMLToPDF.troubleshootingTip1=Электронная почта в формате HTML является более надежным процессом, поэтому при пакетной обработке рекомендуется сохранять оба +EMLToPDF.troubleshootingTip1=Электронная почта в формате HTML является более надежным процессом, поэтому при пакетной обработке рекомендуется сохранять оба формата 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.desc=Преобразует любой файл Markdown в PDF -MarkdownToPDF.tags=разметка,веб-контент,преобразование,конвертация +MarkdownToPDF.tags=разметка,веб-контент,преобразование,конвертация,md home.PDFToMarkdown.title=PDF to Markdown home.PDFToMarkdown.desc=Преобразует любой PDF-файл в формат Markdown -PDFToMarkdown.tags=markup,web-content,transformation,convert,md +PDFToMarkdown.tags=разметка,веб-контент,преобразование,конвертацтя,md home.getPdfInfo.title=Получить ВСЮ информацию о PDF home.getPdfInfo.desc=Собирает всю возможную информацию о PDF @@ -781,11 +781,11 @@ PdfToSinglePage.tags=одна страница home.showJS.title=Показать Javascript home.showJS.desc=Ищет и отображает любой JS, внедрённый в PDF -showJS.tags=JS +showJS.tags=JS,Javascript home.autoRedact.title=Автоматическое редактирование home.autoRedact.desc=Автоматически закрашивает (чернит) текст в PDF на основе входного текста -autoRedact.tags=Редактирование,Скрытие,зачернение,чёрный,маркер,скрытый +autoRedact.tags=Редактирование,Скрытие,зачернение,чёрный,маркер,скрытый,автоматический home.redact.title=Ручное редактирование home.redact.desc=Редактирует PDF на основе выбранного текста, нарисованных форм и/или выбранных страниц @@ -798,7 +798,7 @@ tableExtraxt.tags=CSV,Извлечение таблиц,извлечение,к home.autoSizeSplitPDF.title=Авторазделение по размеру/количеству home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов -autoSizeSplitPDF.tags=pdf,разделение,документ,организация +autoSizeSplitPDF.tags=разделение,документ,организация home.overlay-pdfs.title=Наложение PDF @@ -807,25 +807,25 @@ overlay-pdfs.tags=Наложение home.split-by-sections.title=Разделить PDF по секциям home.split-by-sections.desc=Разделяет каждую страницу PDF на меньшие горизонтальные и вертикальные секции -split-by-sections.tags=Разделение по секциям,Разделить,Настроить +split-by-sections.tags=Разделение по секциям,Разделить home.AddStampRequest.title=Добавить штамп в PDF home.AddStampRequest.desc=Добавляет текстовые или графические штампы в указанных местах -AddStampRequest.tags=Штамп,Добавить изображение,центрировать изображение,Водяной знак,PDF,Встраивание,Настройка +AddStampRequest.tags=Штамп,Добавить изображение,центрировать изображение,Водяной знак,Встраивание home.removeImagePdf.title=Удалить изображение home.removeImagePdf.desc=Удаляет изображения из PDF для уменьшения размера файла -removeImagePdf.tags=Удаление изображения,операции со страницами,Серверная часть +removeImagePdf.tags=Удаление изображения,операции со страницами home.splitPdfByChapters.title=Разделить PDF по главам home.splitPdfByChapters.desc=Разделяет PDF на несколько файлов на основе структуры его глав -splitPdfByChapters.tags=разделение,главы,закладки,организация +splitPdfByChapters.tags=разделение,главы,закладки,оглавление home.validateSignature.title=Проверка подписи PDF home.validateSignature.desc=Проверка цифровых подписей и сертификатов в PDF-документах -validateSignature.tags=подпись,проверка,валидация,pdf,сертификат,цифровая подпись,Проверка подписи,Проверка сертификата +validateSignature.tags=подпись,проверка,валидация,сертификат,цифровая подпись,проверка подписи,проверка сертификата #replace-invert-color replace-color.title=Замена-Инверсия цвета @@ -941,7 +941,7 @@ getPdfInfo.title=Получить информацию о PDF getPdfInfo.header=Получить информацию о PDF getPdfInfo.submit=Получить информацию getPdfInfo.downloadJson=Скачать JSON -getPdfInfo.summary=PDF Summary +getPdfInfo.summary=Краткое содержание PDF-файла getPdfInfo.summary.encrypted=Этот PDF-файл зашифрован, поэтому с некоторыми приложениями могут возникнуть проблемы getPdfInfo.summary.permissions=Этот PDF-файл имеет {0} ограниченные права доступа, которые могут ограничить то, что вы можете с ним делать getPdfInfo.summary.compliance=Этот PDF-файл соответствует стандарту {0} @@ -951,18 +951,18 @@ getPdfInfo.summary.encrypted.alert=Зашифрованный PDF-файл - э getPdfInfo.summary.not.encrypted.alert=Незашифрованный PDF-файл - без защиты паролем getPdfInfo.summary.permissions.alert=Права доступа ограничены - {0} действия запрещены getPdfInfo.summary.all.permissions.alert=Полные права доступа -getPdfInfo.summary.compliance.alert={0} Compliant -getPdfInfo.summary.no.compliance.alert=No Compliance Standards -getPdfInfo.summary.security.section=Security Status -getPdfInfo.section.BasicInfo=Basic Information about the PDF document including file size, page count, and language -getPdfInfo.section.Metadata=Document metadata including title, author, creation date and other document properties -getPdfInfo.section.DocumentInfo=Technical details about the PDF document structure and version -getPdfInfo.section.Compliancy=PDF standards compliance information (PDF/A, PDF/X, etc.) -getPdfInfo.section.Encryption=Security and encryption details of the document -getPdfInfo.section.Permissions=Document permission settings that control what actions can be performed -getPdfInfo.section.Other=Additional document components like bookmarks, layers, and embedded files -getPdfInfo.section.FormFields=Interactive form fields present in the document -getPdfInfo.section.PerPageInfo=Detailed information about each page in the document +getPdfInfo.summary.compliance.alert={0} Совместимый +getPdfInfo.summary.no.compliance.alert=Не содержит стандартов соответствия +getPdfInfo.summary.security.section=Уровень безопасности +getPdfInfo.section.BasicInfo=Основная информация о документе PDF включает: размер файла, количество страниц и язык +getPdfInfo.section.Metadata=Метаданные документа содержат: название, автора, дату создания и другие свойства документа +getPdfInfo.section.DocumentInfo=Технические подробности о структуре и версии PDF-документа +getPdfInfo.section.Compliancy=Информация о соответствии стандартам PDF (PDF/A, PDF/X, и т.д.) +getPdfInfo.section.Encryption=Сведения о безопасности и шифровании документа +getPdfInfo.section.Permissions=Настройки разрешений документа, контролирующие, какие действия можно выполнять +getPdfInfo.section.Other=Дополнительные компоненты документа, такие как закладки, слои и встроенные файлы +getPdfInfo.section.FormFields=Поля интерактивной формы, присутствующие в документе +getPdfInfo.section.PerPageInfo=Подробная информация о каждой странице документа #markdown-to-pdf @@ -970,7 +970,7 @@ MarkdownToPDF.title=Markdown в PDF MarkdownToPDF.header=Markdown в PDF MarkdownToPDF.submit=Преобразовать MarkdownToPDF.help=В разработке -MarkdownToPDF.credit=Использует WeasyPrint +MarkdownToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов #pdf-to-markdown @@ -983,7 +983,7 @@ PDFToMarkdown.submit=Преобразовать URLToPDF.title=URL в PDF URLToPDF.header=URL в PDF URLToPDF.submit=Преобразовать -URLToPDF.credit=Использует WeasyPrint +URLToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов #html-to-pdf @@ -991,7 +991,7 @@ HTMLToPDF.title=HTML в PDF HTMLToPDF.header=HTML в PDF HTMLToPDF.help=Принимает HTML-файлы и ZIP-архивы, содержащие html/css/изображения и т.д. HTMLToPDF.submit=Преобразовать -HTMLToPDF.credit=Использует WeasyPrint +HTMLToPDF.credit=Этот сервис использует WeasyPrint для преобразования файлов HTMLToPDF.zoom=Уровень масштабирования для отображения веб-сайта. HTMLToPDF.pageWidth=Ширина страницы в сантиметрах. (Пусто для значения по умолчанию) HTMLToPDF.pageHeight=Высота страницы в сантиметрах. (Пусто для значения по умолчанию) @@ -1047,7 +1047,7 @@ addPageNumbers.selectText.4=Начальный номер addPageNumbers.selectText.5=Страницы для нумерации addPageNumbers.selectText.6=Пользовательский текст 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.submit=Добавить номера страниц @@ -1083,7 +1083,7 @@ autoSplitPDF.selectText.3=Загрузите один большой отска autoSplitPDF.selectText.4=Разделительные страницы автоматически обнаруживаются и удаляются, гарантируя аккуратный конечный документ. autoSplitPDF.formPrompt=Отправить PDF, содержащий разделители страниц Stirling-PDF: autoSplitPDF.duplexMode=Двусторонний режим (сканирование с двух сторон) -autoSplitPDF.dividerDownload2=Скачать 'Автоматический разделитель (с инструкциями).pdf' +autoSplitPDF.dividerDownload2=Скачать 'Auto Splitter Divider (with instructions).pdf' autoSplitPDF.submit=Отправить @@ -1253,7 +1253,7 @@ fileToPDF.submit=Преобразовать в PDF compress.title=Сжать compress.header=Сжать PDF compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF. -compress.grayscale.label=Применить шкалу серого для сжатия +compress.grayscale.label=Примените оттенки серого для сжатия compress.selectText.1=Параметры сжатия compress.selectText.1.1=1-3 сжатие PDF,
4-6 лёгкое сжатие изображений,
7-9 интенсивное сжатие изображений (значительно снижает качество изображений) compress.selectText.2=Уровень оптимизации: @@ -1265,7 +1265,7 @@ compress.submit=Сжать #Add image addImage.title=Добавить изображение addImage.header=Добавить изображение в PDF -addImage.everyPage=Каждая страница? +addImage.everyPage=На каждую страницу? addImage.upload=Добавить изображение addImage.submit=Добавить изображение @@ -1341,7 +1341,7 @@ decrypt.serverError=Ошибка сервера при расшифровке: { decrypt.success=Файл успешно расшифрован. #multiTool-advert -multiTool-advert.message=Эта функция также доступна на нашей странице мультиинструмента. Попробуйте её для улучшенного постраничного интерфейса и дополнительных возможностей! +multiTool-advert.message=Эта функция также доступна на нашей странице мультиинструментов. Ознакомьтесь с расширенным постраничным интерфейсом и дополнительными функциями! #view pdf viewPdf.title=Смотреть/Редактировать PDF @@ -1486,7 +1486,7 @@ changeMetadata.keywords=Ключевые слова: changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss): changeMetadata.producer=Производитель: changeMetadata.subject=Тема: -changeMetadata.trapped=Trapped: +changeMetadata.trapped=Захвачен: changeMetadata.selectText.4=Другие метаданные: changeMetadata.selectText.5=Добавить пользовательскую запись метаданных changeMetadata.submit=Изменить @@ -1614,15 +1614,15 @@ survey.please=Пожалуйста, примите участие в нашем survey.disabled=(Всплывающее окно опроса будет отключено в следующих обновлениях, но будет доступно в нижней части страницы) survey.button=Пройти опрос 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.2=This is a chance to: -survey.meeting.3=Get help with deployment, integrations, or troubleshooting -survey.meeting.4=Provide direct feedback on performance, edge cases, and feature gaps -survey.meeting.5=Help us refine Stirling PDF for real-world enterprise use -survey.meeting.6=If you're interested, you can book time with our team directly. (English speaking only) -survey.meeting.7=Looking forward to digging into your use cases and making Stirling PDF even better! -survey.meeting.notInterested=Not a business and/or interested in a meeting? -survey.meeting.button=Book meeting +survey.meeting.1=Если вы используете Stirling PDF в своей работе, мы будем рады с вами пообщаться. Мы предлагаем сеансы технической поддержки в обмен на 15-минутный сеанс знакомства с пользователями. +survey.meeting.2=Это возможность: +survey.meeting.3=Получить помощь в развертывании, интеграции или устранении неполадок +survey.meeting.4=Предоставляйте прямые отзывы о производительности, передовых решениях и недостатках в функциях +survey.meeting.5=Помогите нам усовершенствовать Stirling PDF для использования в реальных корпоративных условиях +survey.meeting.6=Если вы заинтересованы, вы можете забронировать время у нашей команды напрямую. (Только для говорящих по-английски) +survey.meeting.7=С нетерпением ждем возможности изучить ваши варианты использования и сделать Stirling PDF еще лучше! +survey.meeting.notInterested=Не занимаетесь бизнесом и/или не заинтересованы во встрече? +survey.meeting.button=Забронировать встречу #error error.sorry=Извините за неполадки! @@ -1664,7 +1664,7 @@ fileChooser.dragAndDropPDF=Перетащите PDF-файл fileChooser.dragAndDropImage=Перетащите файл изображения fileChooser.hoveredDragAndDrop=Перетащите файл(ы) сюда fileChooser.extractPDF=Извлечение... -fileChooser.addAttachments=drag & drop attachments here +fileChooser.addAttachments=Перетащите вложения сюда #release notes releases.footer=Релизы @@ -1709,20 +1709,20 @@ validateSignature.cert.selfSigned=Самоподписанный validateSignature.cert.bits=бит # Audit Dashboard -audit.dashboard.title=Audit Dashboard -audit.dashboard.systemStatus=Audit System Status -audit.dashboard.status=Status -audit.dashboard.enabled=Enabled -audit.dashboard.disabled=Disabled -audit.dashboard.currentLevel=Current Level -audit.dashboard.retentionPeriod=Retention Period -audit.dashboard.days=days -audit.dashboard.totalEvents=Total Events +audit.dashboard.title=Панель аудита +audit.dashboard.systemStatus=Состояние системы аудита +audit.dashboard.status=Состояние +audit.dashboard.enabled=Включено +audit.dashboard.disabled=Выключено +audit.dashboard.currentLevel=Текущий уровень +audit.dashboard.retentionPeriod=Срок хранения +audit.dashboard.days=дней +audit.dashboard.totalEvents=Общее количество событий # Audit Dashboard Tabs -audit.dashboard.tab.dashboard=Dashboard -audit.dashboard.tab.events=Audit Events -audit.dashboard.tab.export=Export +audit.dashboard.tab.dashboard=Панель инструментов +audit.dashboard.tab.events=Аудит событий +audit.dashboard.tab.export=Экспорт # Dashboard Charts audit.dashboard.eventsByType=События по типу audit.dashboard.eventsByUser=События по пользователю @@ -1732,134 +1732,134 @@ audit.dashboard.period.30days=30 дней audit.dashboard.period.90days=90 дней # Events Tab -audit.dashboard.auditEvents=Audit Events -audit.dashboard.filter.eventType=Event Type -audit.dashboard.filter.allEventTypes=All event types -audit.dashboard.filter.user=User -audit.dashboard.filter.userPlaceholder=Filter by user -audit.dashboard.filter.startDate=Start Date -audit.dashboard.filter.endDate=End Date -audit.dashboard.filter.apply=Apply Filters -audit.dashboard.filter.reset=Reset Filters +audit.dashboard.auditEvents=Аудит событий +audit.dashboard.filter.eventType=Тип события +audit.dashboard.filter.allEventTypes=Все типы событий +audit.dashboard.filter.user=Пользователь +audit.dashboard.filter.userPlaceholder=Фильтровать по пользователю +audit.dashboard.filter.startDate=Дата начала +audit.dashboard.filter.endDate=Дата окончания +audit.dashboard.filter.apply=Применить фильтры +audit.dashboard.filter.reset=Сбросить фильтры # Table Headers audit.dashboard.table.id=ID -audit.dashboard.table.time=Time -audit.dashboard.table.user=User -audit.dashboard.table.type=Type -audit.dashboard.table.details=Details -audit.dashboard.table.viewDetails=View Details +audit.dashboard.table.time=Время +audit.dashboard.table.user=Пользователь +audit.dashboard.table.type=Тип +audit.dashboard.table.details=Подробности +audit.dashboard.table.viewDetails=Просмотр подробной информации # Pagination -audit.dashboard.pagination.show=Show -audit.dashboard.pagination.entries=entries -audit.dashboard.pagination.pageInfo1=Page -audit.dashboard.pagination.pageInfo2=of -audit.dashboard.pagination.totalRecords=Total records: +audit.dashboard.pagination.show=Показать +audit.dashboard.pagination.entries=записи +audit.dashboard.pagination.pageInfo1=Страница +audit.dashboard.pagination.pageInfo2=из +audit.dashboard.pagination.totalRecords=Всего записей: # Modal -audit.dashboard.modal.eventDetails=Event Details +audit.dashboard.modal.eventDetails=Подробности события audit.dashboard.modal.id=ID -audit.dashboard.modal.user=User -audit.dashboard.modal.type=Type -audit.dashboard.modal.time=Time -audit.dashboard.modal.data=Data +audit.dashboard.modal.user=Пользователь +audit.dashboard.modal.type=Тип +audit.dashboard.modal.time=Время +audit.dashboard.modal.data=Дата # Export Tab -audit.dashboard.export.title=Export Audit Data -audit.dashboard.export.format=Export Format +audit.dashboard.export.title=Экспорт данных аудита +audit.dashboard.export.format=Формат экспорта audit.dashboard.export.csv=CSV (Comma Separated Values) audit.dashboard.export.json=JSON (JavaScript Object Notation) -audit.dashboard.export.button=Export Data -audit.dashboard.export.infoTitle=Export Information -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.infoDesc2=Exported data will include: -audit.dashboard.export.infoItem1=Event ID -audit.dashboard.export.infoItem2=User -audit.dashboard.export.infoItem3=Event Type -audit.dashboard.export.infoItem4=Timestamp -audit.dashboard.export.infoItem5=Event Data +audit.dashboard.export.button=Экспортировать данные +audit.dashboard.export.infoTitle=Экспорт информации +audit.dashboard.export.infoDesc1=Экспорт будет включать в себя все события аудита, соответствующие выбранным фильтрам. Для создания больших массивов данных экспорт может занять несколько минут. +audit.dashboard.export.infoDesc2=Экспортируемые данные будут включать: +audit.dashboard.export.infoItem1=Идентификатор события +audit.dashboard.export.infoItem2=Пользователь +audit.dashboard.export.infoItem3=Тип события +audit.dashboard.export.infoItem4=Время события +audit.dashboard.export.infoItem5=Данные события # JavaScript i18n keys -audit.dashboard.js.noEventsFound=No audit events found matching the current filters -audit.dashboard.js.errorLoading=Error loading data: -audit.dashboard.js.errorRendering=Error rendering table: -audit.dashboard.js.loadingPage=Loading page +audit.dashboard.js.noEventsFound=События аудита, соответствующие текущим фильтрам, не найдены. +audit.dashboard.js.errorLoading=Ошибка загрузки данных: +audit.dashboard.js.errorRendering=Ошибка рендеринга таблицы: +audit.dashboard.js.loadingPage=Загрузка страницы #################### # Cookie banner # #################### -cookieBanner.popUp.title=How we use Cookies -cookieBanner.popUp.description.1=We use cookies and other technologies to make Stirling PDF work better for you—helping us improve our tools and keep building features you'll love. -cookieBanner.popUp.description.2=If you’d rather not, clicking 'No Thanks' will only enable the essential cookies needed to keep things running smoothly. -cookieBanner.popUp.acceptAllBtn=Okay -cookieBanner.popUp.acceptNecessaryBtn=No Thanks -cookieBanner.popUp.showPreferencesBtn=Manage preferences -cookieBanner.preferencesModal.title=Consent Preferences Center -cookieBanner.preferencesModal.acceptAllBtn=Accept all -cookieBanner.preferencesModal.acceptNecessaryBtn=Reject all -cookieBanner.preferencesModal.savePreferencesBtn=Save preferences -cookieBanner.preferencesModal.closeIconLabel=Close modal -cookieBanner.preferencesModal.serviceCounterLabel=Service|Services -cookieBanner.preferencesModal.subtitle=Cookie Usage -cookieBanner.preferencesModal.description.1=Stirling PDF uses cookies and similar technologies to enhance your experience and understand how our tools are used. This helps us improve performance, develop the features you care about, and provide ongoing support to our users. -cookieBanner.preferencesModal.description.2=Stirling PDF cannot—and will never—track or access the content of the documents you use. -cookieBanner.preferencesModal.description.3=Your privacy and trust are at the core of what we do. -cookieBanner.preferencesModal.necessary.title.1=Strictly Necessary Cookies -cookieBanner.preferencesModal.necessary.title.2=Always Enabled -cookieBanner.preferencesModal.necessary.description=These cookies are essential for the website to function properly. They enable core features like setting your privacy preferences, logging in, and filling out forms—which is why they can’t be turned off. -cookieBanner.preferencesModal.analytics.title=Analytics -cookieBanner.preferencesModal.analytics.description=These cookies help us understand how our tools are being used, so we can focus on building the features our community values most. Rest assured—Stirling PDF cannot and will never track the content of the documents you work with. +cookieBanner.popUp.title=Как мы используем файлы cookie +cookieBanner.popUp.description.1=Мы используем файлы cookie и другие технологии, чтобы улучшить работу Stirling PDF для вас, это помогает нам совершенствовать наши инструменты и создавать функции, которые вам понравятся. +cookieBanner.popUp.description.2=Если вы предпочитаете этого не делать, нажав 'Нет, спасибо', вы активируете только основные файлы cookie, необходимые для бесперебойной работы. +cookieBanner.popUp.acceptAllBtn=Хорошо +cookieBanner.popUp.acceptNecessaryBtn=Нет, спасибо +cookieBanner.popUp.showPreferencesBtn=Управление предпочтениями +cookieBanner.preferencesModal.title=Центр согласия предпочтений +cookieBanner.preferencesModal.acceptAllBtn=Принять все +cookieBanner.preferencesModal.acceptNecessaryBtn=Отклонить все +cookieBanner.preferencesModal.savePreferencesBtn=Сохранить предпочтения +cookieBanner.preferencesModal.closeIconLabel=Закрыть модальное окно +cookieBanner.preferencesModal.serviceCounterLabel=Сервис|Услуги +cookieBanner.preferencesModal.subtitle=Использование файлов cookie +cookieBanner.preferencesModal.description.1=Stirling PDF использует файлы cookie и аналогичные технологии, чтобы улучшить ваш опыт и понять, как используются наши инструменты. Это помогает нам повышать производительность, разрабатывать функции, которые вам интересны, и обеспечивать постоянную поддержку наших пользователей. +cookieBanner.preferencesModal.description.2=Stirling PDF не может — и никогда не будет — отслеживать или получать доступ к содержимому используемых вами документов. +cookieBanner.preferencesModal.description.3=Ваша конфиденциальность и доверие лежат в основе того, что мы делаем. +cookieBanner.preferencesModal.necessary.title.1=Строго необходимые файлы cookie +cookieBanner.preferencesModal.necessary.title.2=Всегда включены +cookieBanner.preferencesModal.necessary.description=Эти файлы cookie необходимы для корректной работы веб-сайта. Они позволяют выполнять основные функции, такие как настройка параметров конфиденциальности, вход в систему и заполнение форм — именно поэтому их нельзя отключить. +cookieBanner.preferencesModal.analytics.title=Аналитика +cookieBanner.preferencesModal.analytics.description=Эти файлы cookie помогают нам понять, как используются наши инструменты, чтобы мы могли сосредоточиться на создании функций, которые больше всего ценятся нашим сообществом. Будьте уверены — Stirling PDF не может и никогда не будет отслеживать содержание документов, с которыми вы работаете. -#fakeScan -fakeScan.title=Поддельное сканирование -fakeScan.header=Поддельное сканирование -fakeScan.description=Создайте PDF-файл, который выглядит так, как будто он был отсканирован -fakeScan.selectPDF=Выбрать PDF: -fakeScan.quality=Качество сканирования -fakeScan.quality.low=Низкое -fakeScan.quality.medium=Среднее -fakeScan.quality.high=Хорошее -fakeScan.rotation=Угол поворота -fakeScan.rotation.none=Нет -fakeScan.rotation.slight=Незначительный -fakeScan.rotation.moderate=Умеренный -fakeScan.rotation.severe=Сильный -fakeScan.submit=Создать поддельное сканирование +#scannerEffect +scannerEffect.title=Эффект сканирования +scannerEffect.header=Эффект сканирования +scannerEffect.description=Создайте PDF-файл, который выглядит так, как будто он был отсканирован +scannerEffect.selectPDF=Выбрать PDF: +scannerEffect.quality=Качество сканирования +scannerEffect.quality.low=Низкое +scannerEffect.quality.medium=Среднее +scannerEffect.quality.high=Хорошее +scannerEffect.rotation=Угол поворота +scannerEffect.rotation.none=Нет +scannerEffect.rotation.slight=Незначительный +scannerEffect.rotation.moderate=Умеренный +scannerEffect.rotation.severe=Сильный +scannerEffect.submit=Создать эффект сканирования -#home.fakeScan -home.fakeScan.title=Поддельное сканирование -home.fakeScan.desc=Создайте PDF-файл, который выглядит так, как будто он был отсканирован -fakeScan.tags=scan,simulate,realistic,convert +#home.scannerEffect +home.scannerEffect.title=Эффект сканирования +home.scannerEffect.desc=Создайте PDF-файл, который выглядит так, как будто он был отсканирован +scannerEffect.tags=scan,сканирование,симуляция,имитация,реалистично,преобразование -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Включите расширенные параметры сканирования -fakeScan.colorspace=Цветовое пространство -fakeScan.colorspace.grayscale=Оттенки серого -fakeScan.colorspace.color=Цветное -fakeScan.border=Рамка (px) -fakeScan.rotate=Базовый наклон (degrees) -fakeScan.rotateVariance=Скорость вращения (degrees) -fakeScan.brightness=Яркость -fakeScan.contrast=Контраст -fakeScan.blur=Размытие -fakeScan.noise=Шум -fakeScan.yellowish=Желтоватый оттенок (имитация старой бумаги) -fakeScan.resolution=Разрешение (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Включите расширенные параметры сканирования +scannerEffect.colorspace=Цветовое пространство +scannerEffect.colorspace.grayscale=Оттенки серого +scannerEffect.colorspace.color=Цветное +scannerEffect.border=Рамка (px) +scannerEffect.rotate=Базовый наклон (degrees) +scannerEffect.rotateVariance=Скорость вращения (degrees) +scannerEffect.brightness=Яркость +scannerEffect.contrast=Контраст +scannerEffect.blur=Размытие +scannerEffect.noise=Шум +scannerEffect.yellowish=Желтоватый оттенок (имитация старой бумаги) +scannerEffect.resolution=Разрешение (DPI) # Table of Contents Feature -home.editTableOfContents.title=Редактировать оглавление +home.editTableOfContents.title=Редактир оглавления home.editTableOfContents.desc=Добавление или редактирование закладок и оглавления в PDF-документах -editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline -editTableOfContents.title=Редактировать оглавление +editTableOfContents.tags=закладки, указатель, индекс, оглавление, главы, разделы, схема, навигация, структура +editTableOfContents.title=Редактор оглавления editTableOfContents.header=Добавление или редактирование закладок и оглавления в PDF-документах -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 +editTableOfContents.replaceExisting=Заменить существующие закладки (снимите флажок, чтобы добавить к существующим) +editTableOfContents.editorTitle=Редактор закладок +editTableOfContents.editorDesc=Добавьте и упорядочьте закладки ниже. Нажмите «+», чтобы добавить дочерние закладки. +editTableOfContents.addBookmark=Добавить новую закладку +editTableOfContents.desc.1=Этот инструмент позволяет вам добавлять или редактировать оглавление (закладки) в PDF-документе. +editTableOfContents.desc.2=Вы можете создать иерархическую структуру, добавив дочерние закладки к родительским. +editTableOfContents.desc.3=Для каждой закладки требуется название и номер целевой страницы. +editTableOfContents.submit=Применить оглавление diff --git a/app/core/src/main/resources/messages_sk_SK.properties b/app/core/src/main/resources/messages_sk_SK.properties index 0b77464ad..094265d29 100644 --- a/app/core/src/main/resources/messages_sk_SK.properties +++ b/app/core/src/main/resources/messages_sk_SK.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_sl_SI.properties b/app/core/src/main/resources/messages_sl_SI.properties index de27dccc4..f75e714af 100644 --- a/app/core/src/main/resources/messages_sl_SI.properties +++ b/app/core/src/main/resources/messages_sl_SI.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_sr_LATN_RS.properties b/app/core/src/main/resources/messages_sr_LATN_RS.properties index 12f8f9abd..809a785ee 100644 --- a/app/core/src/main/resources/messages_sr_LATN_RS.properties +++ b/app/core/src/main/resources/messages_sr_LATN_RS.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Ovi kolačići su neophodni 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. -#fakeScan -fakeScan.title=Lažno skeniranje -fakeScan.header=Lažno skeniranje -fakeScan.description=Kreiraj PDF koji izgleda kao da je skeniran -fakeScan.selectPDF=Izaberi PDF: -fakeScan.quality=Kvalitet skeniranja: -fakeScan.quality.low=Nizak -fakeScan.quality.medium=Srednji -fakeScan.quality.high=Visok -fakeScan.rotation=Ugao rotiranja: -fakeScan.rotation.none=Nijedno -fakeScan.rotation.slight=Blago -fakeScan.rotation.moderate=Umereno -fakeScan.rotation.severe=Značajno -fakeScan.submit=Kreiraj lažno skeniranje +#scannerEffect +scannerEffect.title=Lažno skeniranje +scannerEffect.header=Lažno skeniranje +scannerEffect.description=Kreiraj PDF koji izgleda kao da je skeniran +scannerEffect.selectPDF=Izaberi PDF: +scannerEffect.quality=Kvalitet skeniranja: +scannerEffect.quality.low=Nizak +scannerEffect.quality.medium=Srednji +scannerEffect.quality.high=Visok +scannerEffect.rotation=Ugao rotiranja: +scannerEffect.rotation.none=Nijedno +scannerEffect.rotation.slight=Blago +scannerEffect.rotation.moderate=Umereno +scannerEffect.rotation.severe=Značajno +scannerEffect.submit=Kreiraj lažno skeniranje -#home.fakeScan -home.fakeScan.title=Lažno skeniranje -home.fakeScan.desc=Kreiraj PDF koji izgleda kao da je skeniran -fakeScan.tags=sken,simuliraj,realistično,konvertuj +#home.scannerEffect +home.scannerEffect.title=Lažno skeniranje +home.scannerEffect.desc=Kreiraj PDF koji izgleda kao da je skeniran +scannerEffect.tags=sken,simuliraj,realistično,konvertuj -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Omogući naprednja podešavanja za skeniranje -fakeScan.colorspace=Režim boja: -fakeScan.colorspace.grayscale=Monohromatski -fakeScan.colorspace.color=Kolor -fakeScan.border=Ivica (px) -fakeScan.rotate=Osnovni ugao rotacije (stepeni) -fakeScan.rotateVariance=Varijacija rotacije (stepeni) -fakeScan.brightness=Osvetljenje -fakeScan.contrast=Kontrast -fakeScan.blur=Zamućenje -fakeScan.noise=Buka -fakeScan.yellowish=Žutilo (simulacija starog papira) -fakeScan.resolution=Rezolucija (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Omogući naprednja podešavanja za skeniranje +scannerEffect.colorspace=Režim boja: +scannerEffect.colorspace.grayscale=Monohromatski +scannerEffect.colorspace.color=Kolor +scannerEffect.border=Ivica (px) +scannerEffect.rotate=Osnovni ugao rotacije (stepeni) +scannerEffect.rotateVariance=Varijacija rotacije (stepeni) +scannerEffect.brightness=Osvetljenje +scannerEffect.contrast=Kontrast +scannerEffect.blur=Zamućenje +scannerEffect.noise=Buka +scannerEffect.yellowish=Žutilo (simulacija starog papira) +scannerEffect.resolution=Rezolucija (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_sv_SE.properties b/app/core/src/main/resources/messages_sv_SE.properties index 1b05a7b05..086789fcd 100644 --- a/app/core/src/main/resources/messages_sv_SE.properties +++ b/app/core/src/main/resources/messages_sv_SE.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_th_TH.properties b/app/core/src/main/resources/messages_th_TH.properties index 094bf6632..2637eadf2 100644 --- a/app/core/src/main/resources/messages_th_TH.properties +++ b/app/core/src/main/resources/messages_th_TH.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_tr_TR.properties b/app/core/src/main/resources/messages_tr_TR.properties index 5a16196cd..2da6244ff 100644 --- a/app/core/src/main/resources/messages_tr_TR.properties +++ b/app/core/src/main/resources/messages_tr_TR.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=Bu çerezler, web sitesinin 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#home.fakeScan -home.fakeScan.title=Sahte Tarama -home.fakeScan.desc=Tarama yapılmış gibi görünen bir PDF oluşturun -fakeScan.tags=tarama,simülasyon,gerçekçi,dönüştürme +#home.scannerEffect +home.scannerEffect.title=Sahte Tarama +home.scannerEffect.desc=Tarama yapılmış gibi görünen bir PDF oluşturun +scannerEffect.tags=tarama,simülasyon,gerçekçi,dönüştürme -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=Gelişmiş Tarama Ayarlarını Etkinleştir -fakeScan.colorspace=Renk Uzayı -fakeScan.colorspace.grayscale=Gri Tonlama -fakeScan.colorspace.color=Renkli -fakeScan.border=Kenar Boşluğu (piksel) -fakeScan.rotate=Temel Döndürme (derece) -fakeScan.rotateVariance=Döndürme Varyansı (derece) -fakeScan.brightness=Parlaklık -fakeScan.contrast=Kontrast -fakeScan.blur=Bulanıklık -fakeScan.noise=Gürültü -fakeScan.yellowish=Sarartı (eski kağıt efekti) -fakeScan.resolution=Çözünürlük (DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=Gelişmiş Tarama Ayarlarını Etkinleştir +scannerEffect.colorspace=Renk Uzayı +scannerEffect.colorspace.grayscale=Gri Tonlama +scannerEffect.colorspace.color=Renkli +scannerEffect.border=Kenar Boşluğu (piksel) +scannerEffect.rotate=Temel Döndürme (derece) +scannerEffect.rotateVariance=Döndürme Varyansı (derece) +scannerEffect.brightness=Parlaklık +scannerEffect.contrast=Kontrast +scannerEffect.blur=Bulanıklık +scannerEffect.noise=Gürültü +scannerEffect.yellowish=Sarartı (eski kağıt efekti) +scannerEffect.resolution=Çözünürlük (DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_uk_UA.properties b/app/core/src/main/resources/messages_uk_UA.properties index 1389189d2..89518dca8 100644 --- a/app/core/src/main/resources/messages_uk_UA.properties +++ b/app/core/src/main/resources/messages_uk_UA.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_vi_VN.properties b/app/core/src/main/resources/messages_vi_VN.properties index e7aa8b568..dcf69cce8 100644 --- a/app/core/src/main/resources/messages_vi_VN.properties +++ b/app/core/src/main/resources/messages_vi_VN.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=These cookies are essential 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. -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/messages_zh_CN.properties b/app/core/src/main/resources/messages_zh_CN.properties index 8dba289a2..247b6ea70 100644 --- a/app/core/src/main/resources/messages_zh_CN.properties +++ b/app/core/src/main/resources/messages_zh_CN.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=这些Cookie对网站基础 cookieBanner.preferencesModal.analytics.title=分析统计 cookieBanner.preferencesModal.analytics.description=这些Cookie帮助我们分析工具使用情况,以便聚焦开发用户最需要的功能。再次强调:Stirling PDF绝不会追踪您处理的文档内容。 -#fakeScan -fakeScan.title=模拟扫描 -fakeScan.header=模拟扫描 -fakeScan.description=创建一个看起来像扫描的 PDF -fakeScan.selectPDF=选择 PDF: -fakeScan.quality=扫描质量 -fakeScan.quality.low=低 -fakeScan.quality.medium=中 -fakeScan.quality.high=高 -fakeScan.rotation=旋转角度 -fakeScan.rotation.none=无 -fakeScan.rotation.slight=轻微 -fakeScan.rotation.moderate=中等 -fakeScan.rotation.severe=严重 -fakeScan.submit=创建模拟扫描 +#scannerEffect +scannerEffect.title=模拟扫描 +scannerEffect.header=模拟扫描 +scannerEffect.description=创建一个看起来像扫描的 PDF +scannerEffect.selectPDF=选择 PDF: +scannerEffect.quality=扫描质量 +scannerEffect.quality.low=低 +scannerEffect.quality.medium=中 +scannerEffect.quality.high=高 +scannerEffect.rotation=旋转角度 +scannerEffect.rotation.none=无 +scannerEffect.rotation.slight=轻微 +scannerEffect.rotation.moderate=中等 +scannerEffect.rotation.severe=严重 +scannerEffect.submit=创建模拟扫描 -#home.fakeScan -home.fakeScan.title=模拟扫描 -home.fakeScan.desc=创建一个看起来像扫描的 PDF -fakeScan.tags=扫描、模拟、真实、转换 +#home.scannerEffect +home.scannerEffect.title=模拟扫描 +home.scannerEffect.desc=创建一个看起来像扫描的 PDF +scannerEffect.tags=扫描、模拟、真实、转换 -# FakeScan advanced settings (frontend) -fakeScan.advancedSettings=启用高级扫描设置 -fakeScan.colorspace=色彩空间 -fakeScan.colorspace.grayscale=灰度 -fakeScan.colorspace.color=颜色 -fakeScan.border=边框(像素) -fakeScan.rotate=基础旋转(度) -fakeScan.rotateVariance=旋转偏差(度) -fakeScan.brightness=亮度 -fakeScan.contrast=对比度 -fakeScan.blur=模糊 -fakeScan.noise=噪点 -fakeScan.yellowish=泛黄效果(模拟旧纸张) -fakeScan.resolution=分辨率(DPI) +# ScannerEffect advanced settings (frontend) +scannerEffect.advancedSettings=启用高级扫描设置 +scannerEffect.colorspace=色彩空间 +scannerEffect.colorspace.grayscale=灰度 +scannerEffect.colorspace.color=颜色 +scannerEffect.border=边框(像素) +scannerEffect.rotate=基础旋转(度) +scannerEffect.rotateVariance=旋转偏差(度) +scannerEffect.brightness=亮度 +scannerEffect.contrast=对比度 +scannerEffect.blur=模糊 +scannerEffect.noise=噪点 +scannerEffect.yellowish=泛黄效果(模拟旧纸张) +scannerEffect.resolution=分辨率(DPI) # Table of Contents Feature diff --git a/app/core/src/main/resources/messages_zh_TW.properties b/app/core/src/main/resources/messages_zh_TW.properties index 7ef8b99f4..134f7c8a6 100644 --- a/app/core/src/main/resources/messages_zh_TW.properties +++ b/app/core/src/main/resources/messages_zh_TW.properties @@ -1811,41 +1811,41 @@ cookieBanner.preferencesModal.necessary.description=這些 Cookies 對網站正 cookieBanner.preferencesModal.analytics.title=分析 Cookies cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在建構社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件 -#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 +#scannerEffect +scannerEffect.title=Scanner Effect +scannerEffect.header=Scanner Effect +scannerEffect.description=Create a PDF that looks like it was scanned +scannerEffect.selectPDF=Select PDF: +scannerEffect.quality=Scan Quality +scannerEffect.quality.low=Low +scannerEffect.quality.medium=Medium +scannerEffect.quality.high=High +scannerEffect.rotation=Rotation Angle +scannerEffect.rotation.none=None +scannerEffect.rotation.slight=Slight +scannerEffect.rotation.moderate=Moderate +scannerEffect.rotation.severe=Severe +scannerEffect.submit=Create Scanner Effect -#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 +#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 -# 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) +# 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 diff --git a/app/core/src/main/resources/static/css/navbar.css b/app/core/src/main/resources/static/css/navbar.css index 047957b6d..20cd19176 100644 --- a/app/core/src/main/resources/static/css/navbar.css +++ b/app/core/src/main/resources/static/css/navbar.css @@ -251,6 +251,13 @@ html[dir="rtl"] .lang-dropdown-item-wrapper { 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 */ @media (min-width: 1200px) { .lang-dropdown-item-wrapper .dropdown-item { @@ -258,14 +265,10 @@ html[dir="rtl"] .lang-dropdown-item-wrapper { } .scroll-lock-y { - overflow-y: auto; max-height: 80vh; - overscroll-behavior-y: contain; - -webkit-overflow-scrolling: touch; } } - .dropdown-item .icon-text { text-wrap: wrap; word-break: break-word; diff --git a/scripts/png_to_webp.py b/app/core/src/main/resources/static/python/png_to_webp.py similarity index 100% rename from scripts/png_to_webp.py rename to app/core/src/main/resources/static/python/png_to_webp.py diff --git a/scripts/split_photos.py b/app/core/src/main/resources/static/python/split_photos.py similarity index 100% rename from scripts/split_photos.py rename to app/core/src/main/resources/static/python/split_photos.py diff --git a/app/core/src/main/resources/templates/fragments/common.html b/app/core/src/main/resources/templates/fragments/common.html index 78f0d5662..d3b888a1d 100644 --- a/app/core/src/main/resources/templates/fragments/common.html +++ b/app/core/src/main/resources/templates/fragments/common.html @@ -115,7 +115,7 @@ // Set CSS custom property for mobile navbar scaling (for sidebar positioning) // Use the ACTUAL scaled height, not a fixed assumption - const baseHeight = 60; + const baseHeight = 64; const actualScaledHeight = baseHeight * navScale; document.documentElement.style.setProperty('--navbar-height', `${actualScaledHeight}px`); @@ -200,8 +200,8 @@ - - + + diff --git a/app/core/src/main/resources/templates/fragments/footer.html b/app/core/src/main/resources/templates/fragments/footer.html index 2d8465bf5..89c3c78b1 100644 --- a/app/core/src/main/resources/templates/fragments/footer.html +++ b/app/core/src/main/resources/templates/fragments/footer.html @@ -1,6 +1,6 @@