From c4b8df2a1ee0c1381314359c1a26be139295ac17 Mon Sep 17 00:00:00 2001 From: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Thu, 8 May 2025 17:54:58 +0100 Subject: [PATCH 01/19] Auto scale (#3490) # Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- src/main/resources/static/css/general.css | 3 +- src/main/resources/static/css/navbar.css | 4 +++ .../resources/templates/fragments/navbar.html | 2 +- src/main/resources/templates/home.html | 33 +++++++++++++------ 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/main/resources/static/css/general.css b/src/main/resources/static/css/general.css index b49bfb7ee..88e7a1b11 100644 --- a/src/main/resources/static/css/general.css +++ b/src/main/resources/static/css/general.css @@ -1,7 +1,8 @@ #page-container { - min-height: 100vh; + height: 100vh; display: flex; flex-direction: column; + overflow-x: clip; } #content-wrap { diff --git a/src/main/resources/static/css/navbar.css b/src/main/resources/static/css/navbar.css index f9b3f3072..31099cdf2 100644 --- a/src/main/resources/static/css/navbar.css +++ b/src/main/resources/static/css/navbar.css @@ -162,6 +162,7 @@ html[dir="rtl"] .lang-dropdown-item-wrapper { text-wrap: wrap; word-break: break-word; width: 80%; + font-size: large; } .close-icon { @@ -476,6 +477,9 @@ html[dir="rtl"] .dropdown-menu[data-bs-popper] { display: flex; gap: 30px; justify-content: center; + width: 140%; + position: relative; + left: -20%; } .feature-group { diff --git a/src/main/resources/templates/fragments/navbar.html b/src/main/resources/templates/fragments/navbar.html index 593d8c213..ca4ced807 100644 --- a/src/main/resources/templates/fragments/navbar.html +++ b/src/main/resources/templates/fragments/navbar.html @@ -1,4 +1,4 @@ -
+
diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html index 3842c1fe7..bba498db5 100644 --- a/src/main/resources/templates/home.html +++ b/src/main/resources/templates/home.html @@ -7,20 +7,18 @@ -
-
- - - - +
+ +

- + flex-direction: column;" + >

@@ -123,9 +121,10 @@
+ +
-
@@ -222,7 +221,21 @@ window.showSurvey = /*[[${showSurveyFromDocker}]]*/ true - + + From fd1e854778bf61276971f3747b89b3d2ad646f1e Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Thu, 8 May 2025 18:19:55 +0100 Subject: [PATCH 02/19] Potential fix for code scanning alert no. 224: DOM text reinterpreted as HTML (#3499) Potential fix for [https://github.com/Stirling-Tools/Stirling-PDF/security/code-scanning/224](https://github.com/Stirling-Tools/Stirling-PDF/security/code-scanning/224) To fix the issue, we should avoid assigning untrusted data directly to `innerHTML`. Instead, we can use `textContent`, which safely sets the text content of an element without interpreting it as HTML. This ensures that any special characters in the `data-title` attribute are treated as plain text, preventing XSS attacks. The fix involves replacing `tabButton.innerHTML = title;` on line 12 with `tabButton.textContent = title;`. This change ensures that the `title` is safely rendered as text. --- _Suggested fixes powered by Copilot Autofix. Review carefully before merging._ Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/main/resources/static/js/tab-container.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/static/js/tab-container.js b/src/main/resources/static/js/tab-container.js index b85334c3c..afc441934 100644 --- a/src/main/resources/static/js/tab-container.js +++ b/src/main/resources/static/js/tab-container.js @@ -9,7 +9,7 @@ TabContainer = { tabList.classList.add('tab-buttons'); tabTitles.forEach((title) => { const tabButton = document.createElement('button'); - tabButton.innerHTML = title; + tabButton.textContent = title; tabButton.onclick = (e) => { this.setActiveTab(e.target); }; From e5e793545653d42a9a824507025780269dd430e4 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Fri, 9 May 2025 16:42:20 +0100 Subject: [PATCH 03/19] pixel changes, redact color fix, version bump, aggressive compression (#3502) # Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- build.gradle | 2 +- .../software/SPDF/EE/EEAppConfig.java | 5 ++ .../software/SPDF/config/AppConfig.java | 37 ++++++++++++++ .../api/misc/CompressController.java | 51 +++++++++++-------- .../api/security/RedactController.java | 11 ++-- .../model/api/security/RedactPdfRequest.java | 2 +- .../resources/templates/fragments/common.html | 10 +++- src/main/resources/templates/home.html | 2 +- 8 files changed, 90 insertions(+), 30 deletions(-) diff --git a/build.gradle b/build.gradle index e91f0a467..7359d0b6a 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,7 @@ ext { } group = "stirling.software" -version = "0.46.0" +version = "0.46.1" java { // 17 is lowest but we support and recommend 21 diff --git a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java index a83b17090..0bbb531ef 100644 --- a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java +++ b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java @@ -33,6 +33,11 @@ public class EEAppConfig { public boolean runningProOrHigher() { return licenseKeyChecker.getPremiumLicenseEnabledResult() != License.NORMAL; } + + @Bean(name = "license") + public String licenseType() { + return licenseKeyChecker.getPremiumLicenseEnabledResult().name(); + } @Bean(name = "runningEE") public boolean runningEnterprise() { diff --git a/src/main/java/stirling/software/SPDF/config/AppConfig.java b/src/main/java/stirling/software/SPDF/config/AppConfig.java index f07368527..5b52ed3a5 100644 --- a/src/main/java/stirling/software/SPDF/config/AppConfig.java +++ b/src/main/java/stirling/software/SPDF/config/AppConfig.java @@ -5,6 +5,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; +import java.util.Locale; import java.util.Properties; import java.util.function.Predicate; @@ -15,6 +16,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Scope; +import org.springframework.core.env.Environment; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.io.ResourceLoader; @@ -33,6 +35,8 @@ public class AppConfig { private final ApplicationProperties applicationProperties; + private final Environment env; + @Bean @ConditionalOnProperty(name = "system.customHTMLFiles", havingValue = "true") public SpringTemplateEngine templateEngine(ResourceLoader resourceLoader) { @@ -193,4 +197,37 @@ public class AppConfig { public String uuid() { return applicationProperties.getAutomaticallyGenerated().getUUID(); } + + @Bean(name = "disablePixel") + public boolean disablePixel() { + return Boolean.getBoolean(env.getProperty("DISABLE_PIXEL")); + } + + @Bean(name = "machineType") + public String determineMachineType() { + try { + boolean isDocker = runningInDocker(); + boolean isKubernetes = System.getenv("KUBERNETES_SERVICE_HOST") != null; + boolean isBrowserOpen = "true".equalsIgnoreCase(env.getProperty("BROWSER_OPEN")); + + if (isKubernetes) { + return "Kubernetes"; + } else if (isDocker) { + return "Docker"; + } else if (isBrowserOpen) { + String os = System.getProperty("os.name").toLowerCase(Locale.ROOT); + if (os.contains("win")) { + return "Client-windows"; + } else if (os.contains("mac")) { + return "Client-mac"; + } else { + return "Client-unix"; + } + } else { + return "Server-jar"; + } + } catch (Exception e) { + return "Unknown"; + } + } } diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java index 79d46cc45..da4a77962 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/CompressController.java @@ -626,25 +626,32 @@ public class CompressController { // Scale factors for different optimization levels private double getScaleFactorForLevel(int optimizeLevel) { - return switch (optimizeLevel) { - case 4 -> 0.9; // 90% - lite compression - case 5 -> 0.8; // 80% - lite compression - case 6 -> 0.7; // 70% - lite compression - case 7 -> 0.6; // 60% - intense compression - case 8 -> 0.5; // 50% - intense compression - case 9, 10 -> 0.4; // 40% - intense compression - default -> 1.0; // No scaling for levels 1-3 - }; + return switch (optimizeLevel) { + case 3 -> 0.85; + case 4 -> 0.75; + case 5 -> 0.65; + case 6 -> 0.55; + case 7 -> 0.45; + case 8 -> 0.35; + case 9 -> 0.25; + case 10 -> 0.15; + default -> 1.0; + }; } // JPEG quality for different optimization levels private float getJpegQualityForLevel(int optimizeLevel) { - return switch (optimizeLevel) { - case 7 -> 0.8f; // 80% quality - case 8 -> 0.6f; // 60% quality - case 9, 10 -> 0.4f; // 40% quality - default -> 0.7f; // 70% quality for levels 1-6 - }; + return switch (optimizeLevel) { + case 3 -> 0.85f; + case 4 -> 0.80f; + case 5 -> 0.75f; + case 6 -> 0.70f; + case 7 -> 0.60f; + case 8 -> 0.50f; + case 9 -> 0.35f; + case 10 -> 0.2f; + default -> 0.7f; + }; } @PostMapping(consumes = "multipart/form-data", value = "/compress-pdf") @@ -698,7 +705,7 @@ public class CompressController { while (!sizeMet && optimizeLevel <= 9) { // Apply image compression for levels 4-9 - if ((optimizeLevel >= 4 || Boolean.TRUE.equals(convertToGrayscale)) + if ((optimizeLevel >= 3 || Boolean.TRUE.equals(convertToGrayscale)) && !imageCompressionApplied) { double scaleFactor = getScaleFactorForLevel(optimizeLevel); float jpegQuality = getJpegQualityForLevel(optimizeLevel); @@ -790,10 +797,14 @@ public class CompressController { log.info("Pre-QPDF file size: {}", GeneralUtils.formatBytes(preQpdfSize)); // Map optimization levels to QPDF compression levels - int qpdfCompressionLevel = - optimizeLevel <= 3 - ? optimizeLevel * 3 // Level 1->3, 2->6, 3->9 - : 9; // Max compression for levels 4-9 + int qpdfCompressionLevel; + if (optimizeLevel == 1) { + qpdfCompressionLevel = 5; + } else if (optimizeLevel == 2) { + qpdfCompressionLevel = 9; + } else { + qpdfCompressionLevel = 9; + } // Create output file for QPDF Path qpdfOutputFile = Files.createTempFile("qpdf_output_", ".pdf"); diff --git a/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java b/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java index 0c8a7f7e6..df5e2499e 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/security/RedactController.java @@ -170,16 +170,17 @@ public class RedactController { } private Color decodeOrDefault(String hex, Color defaultColor) { - Color color = null; try { - color = Color.decode(hex); + if (hex != null && !hex.startsWith("#")) { + hex = "#" + hex; + } + return Color.decode(hex); } catch (Exception e) { - color = defaultColor; + return defaultColor; } - - return color; } + private List getPageNumbers(ManualRedactPdfRequest request, int pagesCount) { String pageNumbersInput = request.getPageNumbers(); String[] parsedPageNumbers = diff --git a/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java b/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java index 54c6a0aad..e92ae7c5a 100644 --- a/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java +++ b/src/main/java/stirling/software/SPDF/model/api/security/RedactPdfRequest.java @@ -23,7 +23,7 @@ public class RedactPdfRequest extends PDFFile { @Schema(description = "Whether to use whole word search", defaultValue = "false") private boolean wholeWordSearch; - @Schema(description = "The color for redaction", defaultValue = "#000000") + @Schema(description = "Hexadecimal color code for redaction, e.g. #FF0000 or 000000", defaultValue = "#000000") private String redactColor = "#000000"; @Schema(description = "Custom padding for redaction", type = "number") diff --git a/src/main/resources/templates/fragments/common.html b/src/main/resources/templates/fragments/common.html index 7fd26c777..02d919b2b 100644 --- a/src/main/resources/templates/fragments/common.html +++ b/src/main/resources/templates/fragments/common.html @@ -41,8 +41,14 @@ - - + + diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html index bba498db5..a7cbbbd80 100644 --- a/src/main/resources/templates/home.html +++ b/src/main/resources/templates/home.html @@ -43,7 +43,7 @@ th:insert="~{fragments/navbarEntry :: navbarEntry ('multi-tool', 'construction', 'home.multiTool.title', 'home.multiTool.desc', 'multiTool.tags', 'organize')}">
+ th:insert="~{fragments/navbarEntry :: navbarEntry('compress-pdf', 'zoom_in_map', 'home.compressPdfs.title', 'home.compressPdfs.desc', 'compressPDFs.tags', 'advance')}">
From 9ffc0037b76764d802ffff3c935437d9cb1c5036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bal=C3=A1zs=20Sz=C3=BCcs?= <127139797+Balazs-Szucs@users.noreply.github.com> Date: Fri, 9 May 2025 19:41:31 +0200 Subject: [PATCH 04/19] Refactor permission variable names (#3457) ## Refactor: Improve clarity of permission variable names Renamed confusing `can[Action]` boolean variables to `prevent[Action]` (e.g., `canPrint` -> `preventPrinting`) in `PasswordController.java`, `AddPasswordRequest.java`, and `add-password.html`. The previous `can[Action]` convention was misleading, as `true` meant the action was *disallowed*. The new `prevent[Action]` naming directly reflects the intent (`true` = prevented), improving code clarity. **Changes:** * Updated variable names in controller logic * Updated `@Schema` descriptions in `AddPasswordRequest.java` * Updated corresponding HTML element attributes (`id`, `name`, `for`) in `add-password.html` **Important Notes:** * The underlying logic still inverts the boolean when setting permissions (e.g., `AccessPermission.setCanPrint(!preventPrinting)`). * User-facing UI text remains unchanged per request of @Frooodle in #3420. **Why not invert the API logic** * Inverting API (to can[action] logic) would either invalidate the UI * Inverting API AND changing UI would warrant bigger translation effort to change it in all languages * This version is consistent (meaning what the UI says is actually done) and preserve the UI language (meaning no translations needed) however it is inconsistent with PDFBox methods naming scheme **PDFBox** * **PDFBox Interaction:** This refactor addresses the naming *within* Stirling-PDF's API and Front-end layers only. The controller logic intentionally inverts the `prevent[Action]` boolean (`ap.setCanPrint(!preventPrinting)`) to correctly interact with the underlying PDFBox methods. No further renaming related to these permissions is necessary as the PDFBox methods themselves retain the `can[Action]` names. Underlying logic is not changed so it should work but just in case I tested locally on an Adobe PDF that contained form in Chrome. ## New variable names in API ![new API variable names](https://github.com/user-attachments/assets/f3d56aaf-0455-4f65-af14-c1a07a02d11a) **Related Issues:** Closes #3427 Closes #3420 --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- .../controller/api/AnalysisController.java | 13 +++---- .../controller/api/security/GetInfoOnPDF.java | 4 +-- .../api/security/PasswordController.java | 32 ++++++++--------- .../api/security/AddPasswordRequest.java | 36 +++++++++---------- .../templates/security/add-password.html | 32 ++++++++--------- .../security/change-permissions.html | 32 ++++++++--------- 6 files changed, 74 insertions(+), 75 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java b/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java index 49c5bc81c..8909c70e5 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/AnalysisController.java @@ -180,14 +180,15 @@ public class AnalysisController { // Get permissions Map permissions = new HashMap<>(); - permissions.put("canPrint", document.getCurrentAccessPermission().canPrint()); - permissions.put("canModify", document.getCurrentAccessPermission().canModify()); + permissions.put("preventPrinting", !document.getCurrentAccessPermission().canPrint()); permissions.put( - "canExtractContent", - document.getCurrentAccessPermission().canExtractContent()); + "preventModify", !document.getCurrentAccessPermission().canModify()); permissions.put( - "canModifyAnnotations", - document.getCurrentAccessPermission().canModifyAnnotations()); + "preventExtractContent", + !document.getCurrentAccessPermission().canExtractContent()); + permissions.put( + "preventModifyAnnotations", + !document.getCurrentAccessPermission().canModifyAnnotations()); securityInfo.put("permissions", permissions); } else { diff --git a/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java b/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java index ef82a2942..95049b0bd 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java +++ b/src/main/java/stirling/software/SPDF/controller/api/security/GetInfoOnPDF.java @@ -622,8 +622,8 @@ public class GetInfoOnPDF { permissionsNode.put("Document Assembly", getPermissionState(ap.canAssembleDocument())); permissionsNode.put("Extracting Content", getPermissionState(ap.canExtractContent())); permissionsNode.put( - "Extracting for accessibility", - getPermissionState(ap.canExtractForAccessibility())); + "Extracting for accessibility", + getPermissionState(ap.canExtractForAccessibility())); permissionsNode.put("Form Filling", getPermissionState(ap.canFillInForm())); permissionsNode.put("Modifying", getPermissionState(ap.canModify())); permissionsNode.put("Modifying annotations", getPermissionState(ap.canModifyAnnotations())); diff --git a/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java b/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java index 830810628..c0f341782 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/security/PasswordController.java @@ -63,25 +63,25 @@ public class PasswordController { String ownerPassword = request.getOwnerPassword(); String password = request.getPassword(); int keyLength = request.getKeyLength(); - boolean canAssembleDocument = request.isCanAssembleDocument(); - boolean canExtractContent = request.isCanExtractContent(); - boolean canExtractForAccessibility = request.isCanExtractForAccessibility(); - boolean canFillInForm = request.isCanFillInForm(); - boolean canModify = request.isCanModify(); - boolean canModifyAnnotations = request.isCanModifyAnnotations(); - boolean canPrint = request.isCanPrint(); - boolean canPrintFaithful = request.isCanPrintFaithful(); + boolean preventAssembly = request.isPreventAssembly(); + boolean preventExtractContent = request.isPreventExtractContent(); + boolean preventExtractForAccessibility = request.isPreventExtractForAccessibility(); + boolean preventFillInForm = request.isPreventFillInForm(); + boolean preventModify = request.isPreventModify(); + boolean preventModifyAnnotations = request.isPreventModifyAnnotations(); + boolean preventPrinting = request.isPreventPrinting(); + boolean preventPrintingFaithful = request.isPreventPrintingFaithful(); PDDocument document = pdfDocumentFactory.load(fileInput); AccessPermission ap = new AccessPermission(); - ap.setCanAssembleDocument(!canAssembleDocument); - ap.setCanExtractContent(!canExtractContent); - ap.setCanExtractForAccessibility(!canExtractForAccessibility); - ap.setCanFillInForm(!canFillInForm); - ap.setCanModify(!canModify); - ap.setCanModifyAnnotations(!canModifyAnnotations); - ap.setCanPrint(!canPrint); - ap.setCanPrintFaithful(!canPrintFaithful); + ap.setCanAssembleDocument(!preventAssembly); + ap.setCanExtractContent(!preventExtractContent); + ap.setCanExtractForAccessibility(!preventExtractForAccessibility); + ap.setCanFillInForm(!preventFillInForm); + ap.setCanModify(!preventModify); + ap.setCanModifyAnnotations(!preventModifyAnnotations); + ap.setCanPrint(!preventPrinting); + ap.setCanPrintFaithful(!preventPrintingFaithful); StandardProtectionPolicy spp = new StandardProtectionPolicy(ownerPassword, password, ap); if (!"".equals(ownerPassword) || !"".equals(password)) { diff --git a/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java b/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java index ef85dfead..982a31244 100644 --- a/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java +++ b/src/main/java/stirling/software/SPDF/model/api/security/AddPasswordRequest.java @@ -29,31 +29,29 @@ public class AddPasswordRequest extends PDFFile { defaultValue = "256") private int keyLength = 256; - @Schema(description = "Whether the document assembly is allowed", example = "false") - private boolean canAssembleDocument; + @Schema(description = "Whether document assembly is prevented", example = "false") + private boolean preventAssembly; + + @Schema(description = "Whether content extraction is prevented", example = "false") + private boolean preventExtractContent; @Schema( - description = "Whether content extraction for accessibility is allowed", + description = "Whether content extraction for accessibility is prevented", example = "false") - private boolean canExtractContent; + private boolean preventExtractForAccessibility; - @Schema( - description = "Whether content extraction for accessibility is allowed", - example = "false") - private boolean canExtractForAccessibility; + @Schema(description = "Whether form filling is prevented", example = "false") + private boolean preventFillInForm; - @Schema(description = "Whether form filling is allowed", example = "false") - private boolean canFillInForm; + @Schema(description = "Whether document modification is prevented", example = "false") + private boolean preventModify; - @Schema(description = "Whether the document modification is allowed", example = "false") - private boolean canModify; + @Schema(description = "Whether modification of annotations is prevented", example = "false") + private boolean preventModifyAnnotations; - @Schema(description = "Whether modification of annotations is allowed", example = "false") - private boolean canModifyAnnotations; + @Schema(description = "Whether printing of the document is prevented", example = "false") + private boolean preventPrinting; - @Schema(description = "Whether printing of the document is allowed", example = "false") - private boolean canPrint; - - @Schema(description = "Whether faithful printing is allowed", example = "false") - private boolean canPrintFaithful; + @Schema(description = "Whether faithful printing is prevented", example = "false") + private boolean preventPrintingFaithful; } diff --git a/src/main/resources/templates/security/add-password.html b/src/main/resources/templates/security/add-password.html index 1283a4268..f55f55fb7 100644 --- a/src/main/resources/templates/security/add-password.html +++ b/src/main/resources/templates/security/add-password.html @@ -41,36 +41,36 @@
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +

diff --git a/src/main/resources/templates/security/change-permissions.html b/src/main/resources/templates/security/change-permissions.html index 52d743913..1996df35e 100644 --- a/src/main/resources/templates/security/change-permissions.html +++ b/src/main/resources/templates/security/change-permissions.html @@ -25,36 +25,36 @@
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +
- - + +

From e0c06ecebfb1c05969f51c0bc9fac5eef43e431e Mon Sep 17 00:00:00 2001 From: Thomas BERNARD Date: Fri, 9 May 2025 19:50:30 +0200 Subject: [PATCH 05/19] Fix French translation. (#2981) redact (black out) => Caviarder/Caviardage thanks @ralmn # Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --------- Co-authored-by: Dylan Broussard Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> --- src/main/resources/messages_fr_FR.properties | 28 ++++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 83510d6f0..1944cd20d 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -517,13 +517,13 @@ home.showJS.title=Afficher le JavaScript home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF. showJS.tags=JS -home.autoRedact.title=Censure automatique -home.autoRedact.desc=Censurer automatiquement les informations sensibles d'un PDF. -autoRedact.tags=caviarder,rédiger,censurer,redact,auto +home.autoRedact.title=Caviardage automatique +home.autoRedact.desc=Caviardez automatiquement les informations sensibles d'un PDF. +autoRedact.tags=caviarder,redact,auto,Masquer,noircir,noir,marqueur,caché,rédiger,censurer -home.redact.title=Censure manuelle -home.redact.desc=Censurer un PDF en fonction de texte sélectionné, formes dessinées et/ou des pages sélectionnées. -redact.tags=Redact,Hide,black out,black,marker,hidden,manual,caviarder,rédiger,censurer +home.redact.title=Caviardage manuel +home.redact.desc=Caviarder un PDF en fonction de texte sélectionné, formes dessinées et/ou des pages sélectionnées. +redact.tags=Caviarder,Redact,Masquer,noircir,noir,marqueur,caché,rédiger,censurer home.tableExtraxt.title=PDF en CSV home.tableExtraxt.desc=Extrait les tableaux d'un PDF et les transforme en CSV. @@ -624,31 +624,31 @@ autoRedact.convertPDFToImageLabel=Convertir un PDF en PDF-Image (utilisé pour s autoRedact.submitButton=Caviarder #redact -redact.title=Rédaction manuelle -redact.header=Rédaction manuelle -redact.submit=Rédiger -redact.textBasedRedaction=Rédaction en fonction de texte -redact.pageBasedRedaction=Rédaction en fonction de pages +redact.title=Caviardage manuel +redact.header=Caviardage manuel +redact.submit=Caviarder +redact.textBasedRedaction=Caviarder du texte +redact.pageBasedRedaction=Caviarder des pages redact.convertPDFToImageLabel=Convertir en PDF-Image (pour supprimer le texte derrière le rectangle) redact.pageRedactionNumbers.title=Pages redact.pageRedactionNumbers.placeholder=(ex: 1,2,8 ou 4,7,12-16 ou 2n-1) redact.redactionColor.title=Couleur redact.export=Exporter redact.upload=Téléverser -redact.boxRedaction=Dessiner le rectangle à rédiger +redact.boxRedaction=Tracer le rectangle à caviarder redact.zoom=Zoom redact.zoomIn=Zoom avant redact.zoomOut=Zoom arrière redact.nextPage=Page suivante redact.previousPage=Page précédente -redact.toggleSidebar=Toggle Sidebar +redact.toggleSidebar=Montrer la barre latérale redact.showThumbnails=Afficher les miniatures redact.showDocumentOutline=Montrer les contours du document (double-click pour agrandir/réduire tous les éléments) redact.showAttatchments=Montrer les éléments attachés redact.showLayers=Montrer les calques (double-click pour réinitialiser tous les calques à l'état par défaut) redact.colourPicker=Sélection de couleur redact.findCurrentOutlineItem=Trouver l'élément de contour courrant -redact.applyChanges=Apply Changes +redact.applyChanges=Appliquer les changements #showJS showJS.title=Afficher le JavaScript From 1bb3b68a87c8bae1b5c76c8c43e7879b703c6af1 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Fri, 9 May 2025 18:53:13 +0100 Subject: [PATCH 06/19] Potential fix for code scanning alert no. 11: DOM text reinterpreted as HTML (#3497) Potential fix for [https://github.com/Stirling-Tools/Stirling-PDF/security/code-scanning/11](https://github.com/Stirling-Tools/Stirling-PDF/security/code-scanning/11) To fix the issue, we should avoid using `innerHTML` to insert untrusted data into the DOM. Instead, we can use DOM manipulation methods like `createElement` and `appendChild` to construct the required HTML structure safely. These methods do not interpret strings as HTML, thereby mitigating the risk of XSS. Specifically: 1. Replace the `innerHTML` assignment on line 302 with code that creates the required DOM elements programmatically. 2. Ensure that the `selectedOperation` value is inserted as plain text using `textContent` or equivalent methods. --- _Suggested fixes powered by Copilot Autofix. Review carefully before merging._ Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/main/resources/static/js/pipeline.js | 51 +++++++++++++++++------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/src/main/resources/static/js/pipeline.js b/src/main/resources/static/js/pipeline.js index 7633a6bbd..c44779c1f 100644 --- a/src/main/resources/static/js/pipeline.js +++ b/src/main/resources/static/js/pipeline.js @@ -299,21 +299,42 @@ document.getElementById("addOperationBtn").addEventListener("click", function () } } - listItem.innerHTML = ` -
-
${selectedOperation}
-
- - - - -
-
- `; + let containerDiv = document.createElement("div"); + containerDiv.className = "d-flex justify-content-between align-items-center w-100"; + + let operationNameDiv = document.createElement("div"); + operationNameDiv.className = "operationName"; + operationNameDiv.textContent = selectedOperation; + containerDiv.appendChild(operationNameDiv); + + let arrowsDiv = document.createElement("div"); + arrowsDiv.className = "arrows d-flex"; + + let moveUpButton = document.createElement("button"); + moveUpButton.className = "btn btn-secondary move-up ms-1"; + moveUpButton.innerHTML = 'arrow_upward'; + arrowsDiv.appendChild(moveUpButton); + + let moveDownButton = document.createElement("button"); + moveDownButton.className = "btn btn-secondary move-down ms-1"; + moveDownButton.innerHTML = 'arrow_downward'; + arrowsDiv.appendChild(moveDownButton); + + let settingsButton = document.createElement("button"); + settingsButton.className = `btn ${hasSettings ? "btn-warning" : "btn-secondary"} pipelineSettings ms-1`; + if (!hasSettings) { + settingsButton.disabled = true; + } + settingsButton.innerHTML = 'settings'; + arrowsDiv.appendChild(settingsButton); + + let removeButton = document.createElement("button"); + removeButton.className = "btn btn-danger remove ms-1"; + removeButton.innerHTML = 'close'; + arrowsDiv.appendChild(removeButton); + + containerDiv.appendChild(arrowsDiv); + listItem.appendChild(containerDiv); pipelineList.appendChild(listItem); From ff3fe19d98a93580a2c10d575ba6603d70dfaf0b Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 19:38:29 +0100 Subject: [PATCH 07/19] :globe_with_meridians: Sync Translations + Update README Progress Table (#3503) ### Description of Changes This Pull Request was automatically generated to synchronize updates to translation files and documentation. Below are the details of the changes made: #### **1. Synchronization of Translation Files** - Updated translation files (`messages_*.properties`) to reflect changes in the reference file `messages_en_GB.properties`. - Ensured consistency and synchronization across all supported language files. - Highlighted any missing or incomplete translations. #### **2. Update README.md** - Generated the translation progress table in `README.md`. - Added a summary of the current translation status for all supported languages. - Included up-to-date statistics on translation coverage. #### **Why these changes are necessary** - Keeps translation files aligned with the latest reference updates. - Ensures the documentation reflects the current translation progress. --- Auto-generated by [create-pull-request][1]. [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e642dd8b4..b81b26a36 100644 --- a/README.md +++ b/README.md @@ -127,7 +127,7 @@ Stirling-PDF currently supports 39 languages! | Dutch (Nederlands) (nl_NL) | ![79%](https://geps.dev/progress/79) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) | -| French (Français) (fr_FR) | ![91%](https://geps.dev/progress/91) | +| French (Français) (fr_FR) | ![92%](https://geps.dev/progress/92) | | German (Deutsch) (de_DE) | ![99%](https://geps.dev/progress/99) | | Greek (Ελληνικά) (el_GR) | ![91%](https://geps.dev/progress/91) | | Hindi (हिंदी) (hi_IN) | ![91%](https://geps.dev/progress/91) | From 8bb6dea70a7aca941ee5a3f3c1dc7c4be982f1bd Mon Sep 17 00:00:00 2001 From: Reece Browne <74901996+reecebrowne@users.noreply.github.com> Date: Sat, 10 May 2025 13:25:21 +0100 Subject: [PATCH 08/19] =?UTF-8?q?accept/decline=20cookies=20based=20on=20a?= =?UTF-8?q?nalytics=20and=20hide=20cookie=20banner=20when=E2=80=A6=20(#350?= =?UTF-8?q?5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit … analytics modal open Close cookies banner when analytics modal is open Accept/decline cookies based on analytics response. Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(3403) --- ## Checklist ### General - [x ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ x] I have performed a self-review of my own code - [ x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- src/main/resources/static/js/pages/home.js | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/resources/static/js/pages/home.js b/src/main/resources/static/js/pages/home.js index 6c48fe81d..bb1e1ad4a 100644 --- a/src/main/resources/static/js/pages/home.js +++ b/src/main/resources/static/js/pages/home.js @@ -4,10 +4,21 @@ document.addEventListener('DOMContentLoaded', function () { if (window.analyticsPromptBoolean) { const analyticsModal = new bootstrap.Modal(document.getElementById('analyticsModal')); analyticsModal.show(); + + let retryCount = 0; +function hideCookieBanner() { + const cookieBanner = document.querySelector('#cc-main'); + if (cookieBanner && cookieBanner.offsetHeight > 0) { + cookieBanner.style.display = "none"; + } else if (retryCount < 20) { + retryCount++; + setTimeout(hideCookieBanner, 100); + } +} +hideCookieBanner(); } }); -/*]]>*/ -function setAnalytics(enabled) { +/*]]>*/function setAnalytics(enabled) { fetchWithCsrf('api/v1/settings/update-enable-analytics', { method: 'POST', headers: { @@ -19,6 +30,15 @@ function setAnalytics(enabled) { if (response.status === 200) { console.log('Analytics setting updated successfully'); bootstrap.Modal.getInstance(document.getElementById('analyticsModal')).hide(); + + if (typeof CookieConsent !== "undefined") { + if (enabled) { + CookieConsent.acceptCategory(['analytics']); + } else { + CookieConsent.acceptCategory([]); + } + } + } else if (response.status === 208) { console.log('Analytics setting has already been set. Please edit /config/settings.yml to change it.', response); alert('Analytics setting has already been set. Please edit /config/settings.yml to change it.'); From d64f4fca4f7b3756da4d1f68fec36e11657ca629 Mon Sep 17 00:00:00 2001 From: Shad CT <88387228+shad-ct@users.noreply.github.com> Date: Sat, 10 May 2025 10:08:26 -0700 Subject: [PATCH 09/19] added Malayalam language (#3506) # Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- src/main/resources/messages_ml_ML.properties | 1405 +++++++++++++++++ .../templates/fragments/languages.html | 81 +- 2 files changed, 1446 insertions(+), 40 deletions(-) create mode 100644 src/main/resources/messages_ml_ML.properties diff --git a/src/main/resources/messages_ml_ML.properties b/src/main/resources/messages_ml_ML.properties new file mode 100644 index 000000000..267f1c993 --- /dev/null +++ b/src/main/resources/messages_ml_ML.properties @@ -0,0 +1,1405 @@ +########### +# Generic # +########### +# the direction that the language is written (ltr = left to right, rtl = right to left) +language.direction=ltr +addPageNumbers.fontSize=അക്ഷര വലുപ്പം +addPageNumbers.fontName=അക്ഷരത്തിന്റെ പേര് +pdfPrompt=PDF(കൾ) തിരഞ്ഞെടുക്കുക +multiPdfPrompt=PDF-കൾ തിരഞ്ഞെടുക്കുക (2+) +multiPdfDropPrompt=നിങ്ങൾക്ക് ആവശ്യമുള്ള എല്ലാ PDF-കളും തിരഞ്ഞെടുക്കുക (അല്ലെങ്കിൽ വലിച്ചിടുക) +imgPrompt=ചിത്രം(ങ്ങൾ) തിരഞ്ഞെടുക്കുക +genericSubmit=സമർപ്പിക്കുക +uploadLimit=പരമാവധി ഫയൽ വലുപ്പം: +uploadLimitExceededSingular=വളരെ വലുതാണ്. അനുവദനീയമായ പരമാവധി വലുപ്പം +uploadLimitExceededPlural=വളരെ വലുതാണ്. അനുവദനീയമായ പരമാവധി വലുപ്പം +processTimeWarning=മുന്നറിയിപ്പ്: ഫയൽ വലുപ്പത്തിനനുസരിച്ച് ഈ പ്രക്രിയ ഒരു മിനിറ്റ് വരെ എടുത്തേക്കാം +pageOrderPrompt=ഇഷ്ടാനുസൃത പേജ് ക്രമം (പേജ് നമ്പറുകളുടെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റ് അല്ലെങ്കിൽ 2n+1 പോലുള്ള ഫംഗ്ഷനുകൾ നൽകുക) : +pageSelectionPrompt=ഇഷ്ടാനുസൃത പേജ് തിരഞ്ഞെടുക്കൽ (പേജ് നമ്പറുകളുടെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റ് 1,5,6 അല്ലെങ്കിൽ 2n+1 പോലുള്ള ഫംഗ്ഷനുകൾ നൽകുക) : +goToPage=പോകുക +true=ശരി +false=തെറ്റ് +unknown=അജ്ഞാതം +save=സേവ് ചെയ്യുക +saveToBrowser=ബ്രൗസറിൽ സേവ് ചെയ്യുക +close=അടയ്ക്കുക +filesSelected=ഫയലുകൾ തിരഞ്ഞെടുത്തു +noFavourites=പ്രിയപ്പെട്ടവ ചേർത്തിട്ടില്ല +downloadComplete=ഡൗൺലോഡ് പൂർത്തിയായി +bored=കാത്തിരുന്ന് മുഷിഞ്ഞോ? +alphabet=അക്ഷരമാല +downloadPdf=PDF ഡൗൺലോഡ് ചെയ്യുക +text=ടെക്സ്റ്റ് +font=അക്ഷരം +selectFillter=-- തിരഞ്ഞെടുക്കുക -- +pageNum=പേജ് നമ്പർ +sizes.small=ചെറുത് +sizes.medium=ഇടത്തരം +sizes.large=വലുത് +sizes.x-large=കൂടുതൽ വലുത് +error.pdfPassword=PDF ഡോക്യുമെന്റ് പാസ്‌വേഡ് ഉപയോഗിച്ച് സംരക്ഷിച്ചിരിക്കുന്നു, പാസ്‌വേഡ് നൽകിയിട്ടില്ല അല്ലെങ്കിൽ തെറ്റായിരുന്നു +delete=മായ്ക്കുക +username=ഉപയോക്തൃനാമം +password=പാസ്‌വേഡ് +welcome=സ്വാഗതം +property=പ്രോപ്പർട്ടി +black=കറുപ്പ് +white=വെള്ള +red=ചുവപ്പ് +green=പച്ച +blue=നീല +custom=ഇഷ്ടാനുസൃതം... +WorkInProgess=നിർമ്മാണത്തിലിരിക്കുന്നു, ശരിയായി പ്രവർത്തിച്ചേക്കില്ല അല്ലെങ്കിൽ ബഗ്ഗുകൾ ഉണ്ടാകാം, ദയവായി പ്രശ്നങ്ങൾ അറിയിക്കുക! +poweredBy=സഹായത്തോടെ +yes=അതെ +no=ഇല്ല +changedCredsMessage=വിവരങ്ങൾ മാറ്റി! +notAuthenticatedMessage=ഉപയോക്താവിനെ സ്ഥിരീകരിച്ചിട്ടില്ല. +userNotFoundMessage=ഉപയോക്താവിനെ കണ്ടെത്തിയില്ല. +incorrectPasswordMessage=നിലവിലെ പാസ്‌വേഡ് തെറ്റാണ്. +usernameExistsMessage=പുതിയ ഉപയോക്തൃനാമം ഇതിനകം നിലവിലുണ്ട്. +invalidUsernameMessage=അസാധുവായ ഉപയോക്തൃനാമം, ഉപയോക്തൃനാമത്തിൽ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, താഴെ പറയുന്ന പ്രത്യേക പ്രതീകങ്ങൾ @._+- എന്നിവ മാത്രമേ ഉണ്ടാകാവൂ അല്ലെങ്കിൽ സാധുവായ ഒരു ഇമെയിൽ വിലാസം ആയിരിക്കണം. +invalidPasswordMessage=പാസ്‌വേഡ് ശൂന്യമായിരിക്കരുത്, തുടക്കത്തിലോ അവസാനത്തിലോ സ്പേസുകൾ ഉണ്ടാകരുത്. +confirmPasswordErrorMessage=പുതിയ പാസ്‌വേഡും പുതിയ പാസ്‌വേഡ് സ്ഥിരീകരണവും പൊരുത്തപ്പെടണം. +deleteCurrentUserMessage=നിലവിൽ ലോഗിൻ ചെയ്തിട്ടുള്ള ഉപയോക്താവിനെ ഇല്ലാതാക്കാൻ കഴിയില്ല. +deleteUsernameExistsMessage=ഉപയോക്തൃനാമം നിലവിലില്ല, ഇല്ലാതാക്കാൻ കഴിയില്ല. +downgradeCurrentUserMessage=നിലവിലെ ഉപയോക്താവിന്റെ റോൾ താഴ്ത്താൻ കഴിയില്ല +disabledCurrentUserMessage=നിലവിലെ ഉപയോക്താവിനെ പ്രവർത്തനരഹിതമാക്കാൻ കഴിയില്ല +downgradeCurrentUserLongMessage=നിലവിലെ ഉപയോക്താവിന്റെ റോൾ താഴ്ത്താൻ കഴിയില്ല. അതിനാൽ, നിലവിലെ ഉപയോക്താവിനെ കാണിക്കില്ല. +userAlreadyExistsOAuthMessage=ഈ ഉപയോക്താവ് ഇതിനകം ഒരു OAuth2 ഉപയോക്താവായി നിലവിലുണ്ട്. +userAlreadyExistsWebMessage=ഈ ഉപയോക്താവ് ഇതിനകം ഒരു വെബ് ഉപയോക്താവായി നിലവിലുണ്ട്. +error=പിശക് +oops=അയ്യോ! +help=സഹായം +goHomepage=ഹോംപേജിലേക്ക് പോകുക +joinDiscord=ഞങ്ങളുടെ ഡിസ്കോർഡ് സെർവറിൽ ചേരുക +seeDockerHub=ഡോക്കർ ഹബ് കാണുക +visitGithub=ഗിറ്റ്ഹബ് റിപ്പോസിറ്ററി സന്ദർശിക്കുക +donate=സംഭാവന ചെയ്യുക +color=നിറം +sponsor=സ്പോൺസർ ചെയ്യുക +info=വിവരം +pro=പ്രോ +page=പേജ് +pages=പേജുകൾ +loading=ലോഡ് ചെയ്യുന്നു... +addToDoc=പ്രമാണത്തിലേക്ക് ചേർക്കുക +reset=പുനഃസജ്ജമാക്കുക +apply=പ്രയോഗിക്കുക +noFileSelected=ഫയലൊന്നും തിരഞ്ഞെടുത്തിട്ടില്ല. ദയവായി ഒരെണ്ണം അപ്‌ലോഡ് ചെയ്യുക. + +legal.privacy=സ്വകാര്യതാ നയം +legal.terms=നിബന്ധനകളും വ്യവസ്ഥകളും +legal.accessibility=ലഭ്യത +legal.cookie=കുക്കി നയം +legal.impressum=ഇംപ്രെസ്സം +legal.showCookieBanner=കുക്കി മുൻഗണനകൾ + +############### +# Pipeline # +############### +pipeline.header=പൈപ്പ്ലൈൻ മെനു (ബീറ്റ) +pipeline.uploadButton=ഇഷ്ടാനുസൃതം അപ്‌ലോഡ് ചെയ്യുക +pipeline.configureButton=ക്രമീകരിക്കുക +pipeline.defaultOption=ഇഷ്ടാനുസൃതം +pipeline.submitButton=സമർപ്പിക്കുക +pipeline.help=പൈപ്പ്ലൈൻ സഹായം +pipeline.scanHelp=ഫോൾഡർ സ്കാനിംഗ് സഹായം +pipeline.deletePrompt=പൈപ്പ്ലൈൻ ഇല്ലാതാക്കാൻ നിങ്ങൾക്ക് ഉറപ്പാണോ + +###################### +# Pipeline Options # +###################### +pipelineOptions.header=പൈപ്പ്ലൈൻ കോൺഫിഗറേഷൻ +pipelineOptions.pipelineNameLabel=പൈപ്പ്ലൈൻ പേര് +pipelineOptions.saveSettings=പ്രവർത്തന ക്രമീകരണങ്ങൾ സംരക്ഷിക്കുക +pipelineOptions.pipelineNamePrompt=പൈപ്പ്ലൈൻ പേര് ഇവിടെ നൽകുക +pipelineOptions.selectOperation=പ്രവർത്തനം തിരഞ്ഞെടുക്കുക +pipelineOptions.addOperationButton=പ്രവർത്തനം ചേർക്കുക +pipelineOptions.pipelineHeader=പൈപ്പ്ലൈൻ: +pipelineOptions.saveButton=ഡൗൺലോഡ് ചെയ്യുക +pipelineOptions.validateButton=സ്ഥിരീകരിക്കുക + +######################## +# ENTERPRISE EDITION # +######################## +enterpriseEdition.button=പ്രോയിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യുക +enterpriseEdition.warning=ഈ ഫീച്ചർ പ്രോ ഉപയോക്താക്കൾക്ക് മാത്രമേ ലഭ്യമാകൂ. +enterpriseEdition.yamlAdvert=സ്റ്റെർലിംഗ് PDF പ്രോ YAML കോൺഫിഗറേഷൻ ഫയലുകളെയും മറ്റ് SSO സവിശേഷതകളെയും പിന്തുണയ്ക്കുന്നു. +enterpriseEdition.ssoAdvert=കൂടുതൽ ഉപയോക്തൃ മാനേജുമെന്റ് സവിശേഷതകൾക്കായി തിരയുകയാണോ? സ്റ്റെർലിംഗ് PDF പ്രോ പരിശോധിക്കുക + + +################# +# Analytics # +################# +analytics.title=സ്റ്റെർലിംഗ് PDF മികച്ചതാക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ? +analytics.paragraph1=ഉൽപ്പന്നം മെച്ചപ്പെടുത്താൻ ഞങ്ങളെ സഹായിക്കുന്നതിന് സ്റ്റെർലിംഗ് PDF-ൽ ഓപ്റ്റ്-ഇൻ അനലിറ്റിക്സ് ഉണ്ട്. ഞങ്ങൾ വ്യക്തിഗത വിവരങ്ങളോ ഫയൽ ഉള്ളടക്കങ്ങളോ ട്രാക്ക് ചെയ്യുന്നില്ല. +analytics.paragraph2=സ്റ്റെർലിംഗ്-PDF വളരാനും ഞങ്ങളുടെ ഉപയോക്താക്കളെ നന്നായി മനസ്സിലാക്കാനും അനലിറ്റിക്സ് പ്രവർത്തനക്ഷമമാക്കുന്നത് പരിഗണിക്കുക. +analytics.enable=അനലിറ്റിക്സ് പ്രവർത്തനക്ഷമമാക്കുക +analytics.disable=അനലിറ്റിക്സ് പ്രവർത്തനരഹിതമാക്കുക +analytics.settings=config/settings.yml ഫയലിൽ നിങ്ങൾക്ക് അനലിറ്റിക്സിനായുള്ള ക്രമീകരണങ്ങൾ മാറ്റാൻ കഴിയും + + +############# +# NAVBAR # +############# +navbar.favorite=പ്രിയപ്പെട്ടവ +navbar.recent=പുതിയതും അടുത്തിടെ അപ്‌ഡേറ്റ് ചെയ്തതും +navbar.darkmode=ഡാർക്ക് മോഡ് +navbar.language=ഭാഷകൾ +navbar.settings=ക്രമീകരണങ്ങൾ +navbar.allTools=ഉപകരണങ്ങൾ +navbar.multiTool=മൾട്ടി ടൂൾ +navbar.search=തിരയുക +navbar.sections.organize=ക്രമീകരിക്കുക +navbar.sections.convertTo=PDF-ലേക്ക് മാറ്റുക +navbar.sections.convertFrom=PDF-ൽ നിന്ന് മാറ്റുക +navbar.sections.security=ഒപ്പും സുരക്ഷയും +navbar.sections.advance=വിപുലമായത് +navbar.sections.edit=കാണുക & തിരുത്തുക +navbar.sections.popular=ജനപ്രിയം + +############# +# SETTINGS # +############# +settings.title=ക്രമീകരണങ്ങൾ +settings.update=അപ്‌ഡേറ്റ് ലഭ്യമാണ് +settings.updateAvailable={0} നിലവിൽ ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പാണ്. ഒരു പുതിയ പതിപ്പ് ({1}) ലഭ്യമാണ്. +settings.appVersion=ആപ്പ് പതിപ്പ്: +settings.downloadOption.title=ഡൗൺലോഡ് ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക (സിംഗിൾ ഫയൽ നോൺ-സിപ്പ് ഡൗൺലോഡുകൾക്ക്): +settings.downloadOption.1=ഒരേ വിൻഡോയിൽ തുറക്കുക +settings.downloadOption.2=പുതിയ വിൻഡോയിൽ തുറക്കുക +settings.downloadOption.3=ഫയൽ ഡൗൺലോഡ് ചെയ്യുക +settings.zipThreshold=ഡൗൺലോഡ് ചെയ്ത ഫയലുകളുടെ എണ്ണം കവിയുമ്പോൾ ഫയലുകൾ സിപ്പ് ചെയ്യുക +settings.signOut=സൈൻ ഔട്ട് ചെയ്യുക +settings.accountSettings=അക്കൗണ്ട് ക്രമീകരണങ്ങൾ +settings.bored.help=ഈസ്റ്റർ എഗ് ഗെയിം പ്രവർത്തനക്ഷമമാക്കുന്നു +settings.cacheInputs.name=ഫോം ഇൻപുട്ടുകൾ സംരക്ഷിക്കുക +settings.cacheInputs.help=ഭാവിയിലെ ഉപയോഗത്തിനായി മുമ്പ് ഉപയോഗിച്ച ഇൻപുട്ടുകൾ സംഭരിക്കാൻ പ്രവർത്തനക്ഷമമാക്കുക + +changeCreds.title=വിവരങ്ങൾ മാറ്റുക +changeCreds.header=നിങ്ങളുടെ അക്കൗണ്ട് വിവരങ്ങൾ അപ്‌ഡേറ്റ് ചെയ്യുക +changeCreds.changePassword=നിങ്ങൾ സ്ഥിര ലോഗിൻ വിവരങ്ങളാണ് ഉപയോഗിക്കുന്നത്. ദയവായി ഒരു പുതിയ പാസ്‌വേഡ് നൽകുക +changeCreds.newUsername=പുതിയ ഉപയോക്തൃനാമം +changeCreds.oldPassword=നിലവിലെ പാസ്‌വേഡ് +changeCreds.newPassword=പുതിയ പാസ്‌വേഡ് +changeCreds.confirmNewPassword=പുതിയ പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക +changeCreds.submit=മാറ്റങ്ങൾ സമർപ്പിക്കുക + + + +account.title=അക്കൗണ്ട് ക്രമീകരണങ്ങൾ +account.accountSettings=അക്കൗണ്ട് ക്രമീകരണങ്ങൾ +account.adminSettings=അഡ്മിൻ ക്രമീകരണങ്ങൾ - ഉപയോക്താക്കളെ കാണുക, ചേർക്കുക +account.userControlSettings=ഉപയോക്തൃ നിയന്ത്രണ ക്രമീകരണങ്ങൾ +account.changeUsername=ഉപയോക്തൃനാമം മാറ്റുക +account.newUsername=പുതിയ ഉപയോക്തൃനാമം +account.password=സ്ഥിരീകരണ പാസ്‌വേഡ് +account.oldPassword=പഴയ പാസ്‌വേഡ് +account.newPassword=പുതിയ പാസ്‌വേഡ് +account.changePassword=പാസ്‌വേഡ് മാറ്റുക +account.confirmNewPassword=പുതിയ പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക +account.signOut=സൈൻ ഔട്ട് ചെയ്യുക +account.yourApiKey=നിങ്ങളുടെ API കീ +account.syncTitle=ബ്രൗസർ ക്രമീകരണങ്ങൾ അക്കൗണ്ടുമായി സമന്വയിപ്പിക്കുക +account.settingsCompare=ക്രമീകരണ താരതമ്യം: +account.property=പ്രോപ്പർട്ടി +account.webBrowserSettings=വെബ് ബ്രൗസർ ക്രമീകരണം +account.syncToBrowser=അക്കൗണ്ട് സമന്വയിപ്പിക്കുക -> ബ്രൗസർ +account.syncToAccount=അക്കൗണ്ട് സമന്വയിപ്പിക്കുക <- ബ്രൗസർ + + +adminUserSettings.title=ഉപയോക്തൃ നിയന്ത്രണ ക്രമീകരണങ്ങൾ +adminUserSettings.header=അഡ്മിൻ ഉപയോക്തൃ നിയന്ത്രണ ക്രമീകരണങ്ങൾ +adminUserSettings.admin=അഡ്മിൻ +adminUserSettings.user=ഉപയോക്താവ് +adminUserSettings.addUser=പുതിയ ഉപയോക്താവിനെ ചേർക്കുക +adminUserSettings.deleteUser=ഉപയോക്താവിനെ ഇല്ലാതാക്കുക +adminUserSettings.confirmDeleteUser=ഉപയോക്താവിനെ ഇല്ലാതാക്കണോ? +adminUserSettings.confirmChangeUserStatus=ഉപയോക്താവിനെ പ്രവർത്തനരഹിതമാക്കുകയോ/പ്രവർത്തനക്ഷമമാക്കുകയോ ചെയ്യണോ? +adminUserSettings.usernameInfo=ഉപയോക്തൃനാമത്തിൽ അക്ഷരങ്ങൾ, അക്കങ്ങൾ, താഴെ പറയുന്ന പ്രത്യേക പ്രതീകങ്ങൾ @._+- എന്നിവ മാത്രമേ ഉണ്ടാകാവൂ അല്ലെങ്കിൽ സാധുവായ ഒരു ഇമെയിൽ വിലാസം ആയിരിക്കണം. +adminUserSettings.roles=റോളുകൾ +adminUserSettings.role=റോൾ +adminUserSettings.actions=പ്രവർത്തനങ്ങൾ +adminUserSettings.apiUser=പരിമിതമായ API ഉപയോക്താവ് +adminUserSettings.extraApiUser=അധിക പരിമിതമായ API ഉപയോക്താവ് +adminUserSettings.webOnlyUser=വെബ് മാത്രം ഉപയോക്താവ് +adminUserSettings.demoUser=ഡെമോ ഉപയോക്താവ് (ഇഷ്ടാനുസൃത ക്രമീകരണങ്ങളില്ല) +adminUserSettings.internalApiUser=ആന്തരിക API ഉപയോക്താവ് +adminUserSettings.forceChange=ലോഗിൻ ചെയ്യുമ്പോൾ പാസ്‌വേഡ് മാറ്റാൻ ഉപയോക്താവിനെ നിർബന്ധിക്കുക +adminUserSettings.submit=ഉപയോക്താവിനെ സംരക്ഷിക്കുക +adminUserSettings.changeUserRole=ഉപയോക്താവിന്റെ റോൾ മാറ്റുക +adminUserSettings.authenticated=സ്ഥിരീകരിച്ചു +adminUserSettings.editOwnProfil=സ്വന്തം പ്രൊഫൈൽ തിരുത്തുക +adminUserSettings.enabledUser=പ്രവർത്തനക്ഷമമാക്കിയ ഉപയോക്താവ് +adminUserSettings.disabledUser=പ്രവർത്തനരഹിതമാക്കിയ ഉപയോക്താവ് +adminUserSettings.activeUsers=സജീവ ഉപയോക്താക്കൾ: +adminUserSettings.disabledUsers=പ്രവർത്തനരഹിതമാക്കിയ ഉപയോക്താക്കൾ: +adminUserSettings.totalUsers=ആകെ ഉപയോക്താക്കൾ: +adminUserSettings.lastRequest=അവസാന അഭ്യർത്ഥന +adminUserSettings.usage=ഉപയോഗം കാണുക + +endpointStatistics.title=എൻഡ്‌പോയിന്റ് സ്ഥിതിവിവരക്കണക്കുകൾ +endpointStatistics.header=എൻഡ്‌പോയിന്റ് സ്ഥിതിവിവരക്കണക്കുകൾ +endpointStatistics.top10=മികച്ച 10 +endpointStatistics.top20=മികച്ച 20 +endpointStatistics.all=എല്ലാം +endpointStatistics.refresh=പുതുക്കുക +endpointStatistics.includeHomepage=ഹോംപേജ് ഉൾപ്പെടുത്തുക ('/') +endpointStatistics.includeLoginPage=ലോഗിൻ പേജ് ഉൾപ്പെടുത്തുക ('/login') +endpointStatistics.totalEndpoints=ആകെ എൻഡ്‌പോയിന്റുകൾ +endpointStatistics.totalVisits=ആകെ സന്ദർശനങ്ങൾ +endpointStatistics.showing=കാണിക്കുന്നു +endpointStatistics.selectedVisits=തിരഞ്ഞെടുത്ത സന്ദർശനങ്ങൾ +endpointStatistics.endpoint=എൻഡ്‌പോയിന്റ് +endpointStatistics.visits=സന്ദർശനങ്ങൾ +endpointStatistics.percentage=ശതമാനം +endpointStatistics.loading=ലോഡ് ചെയ്യുന്നു... +endpointStatistics.failedToLoad=എൻഡ്‌പോയിന്റ് ഡാറ്റ ലോഡ് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു. ദയവായി പുതുക്കാൻ ശ്രമിക്കുക. +endpointStatistics.home=ഹോം +endpointStatistics.login=ലോഗിൻ +endpointStatistics.top=മികച്ച +endpointStatistics.numberOfVisits=സന്ദർശനങ്ങളുടെ എണ്ണം +endpointStatistics.visitsTooltip=സന്ദർശനങ്ങൾ: {0} (ആകെയുള്ളതിന്റെ {1}%) +endpointStatistics.retry=വീണ്ടും ശ്രമിക്കുക + +database.title=ഡാറ്റാബേസ് ഇറക്കുമതി/കയറ്റുമതി +database.header=ഡാറ്റാബേസ് ഇറക്കുമതി/കയറ്റുമതി +database.fileName=ഫയലിന്റെ പേര് +database.creationDate=സൃഷ്ടിച്ച തീയതി +database.fileSize=ഫയൽ വലുപ്പം +database.deleteBackupFile=ബാക്കപ്പ് ഫയൽ ഇല്ലാതാക്കുക +database.importBackupFile=ബാക്കപ്പ് ഫയൽ ഇറക്കുമതി ചെയ്യുക +database.createBackupFile=ബാക്കപ്പ് ഫയൽ സൃഷ്ടിക്കുക +database.downloadBackupFile=ബാക്കപ്പ് ഫയൽ ഡൗൺലോഡ് ചെയ്യുക +database.info_1=ഡാറ്റ ഇറക്കുമതി ചെയ്യുമ്പോൾ, ശരിയായ ഘടന ഉറപ്പാക്കേണ്ടത് പ്രധാനമാണ്. നിങ്ങൾ എന്താണ് ചെയ്യുന്നതെന്ന് നിങ്ങൾക്ക് ഉറപ്പില്ലെങ്കിൽ, ഒരു പ്രൊഫഷണലിൽ നിന്ന് ഉപദേശവും പിന്തുണയും തേടുക. ഘടനയിലെ ഒരു പിശക് ആപ്ലിക്കേഷൻ തകരാറുകൾക്ക് കാരണമാകും, ആപ്ലിക്കേഷൻ പ്രവർത്തിപ്പിക്കാൻ കഴിയാത്ത അവസ്ഥ വരെ. +database.info_2=അപ്‌ലോഡ് ചെയ്യുമ്പോൾ ഫയലിന്റെ പേര് പ്രശ്നമല്ല. സ്ഥിരമായ നാമകരണ കൺവെൻഷൻ ഉറപ്പാക്കുന്നതിന്, backup_user_yyyyMMddHHmm.sql എന്ന ഫോർമാറ്റ് പിന്തുടരാൻ ഇത് പിന്നീട് പുനർനാമകരണം ചെയ്യപ്പെടും. +database.submit=ബാക്കപ്പ് ഇറക്കുമതി ചെയ്യുക +database.importIntoDatabaseSuccessed=ഡാറ്റാബേസിലേക്കുള്ള ഇറക്കുമതി വിജയിച്ചു +database.backupCreated=ഡാറ്റാബേസ് ബാക്കപ്പ് വിജയകരം +database.fileNotFound=ഫയൽ കണ്ടെത്തിയില്ല +database.fileNullOrEmpty=ഫയൽ ശൂന്യമായിരിക്കരുത് +database.failedImportFile=ഇറക്കുമതി ഫയൽ പരാജയപ്പെട്ടു +database.notSupported=നിങ്ങളുടെ ഡാറ്റാബേസ് കണക്ഷനായി ഈ പ്രവർത്തനം ലഭ്യമല്ല. + +session.expired=നിങ്ങളുടെ സെഷൻ കാലഹരണപ്പെട്ടു. ദയവായി പേജ് പുതുക്കി വീണ്ടും ശ്രമിക്കുക. +session.refreshPage=പേജ് പുതുക്കുക + +############# +# HOME-PAGE # +############# +home.desc=നിങ്ങളുടെ എല്ലാ PDF ആവശ്യങ്ങൾക്കുമുള്ള നിങ്ങളുടെ പ്രാദേശികമായി ഹോസ്റ്റ് ചെയ്ത ഏകജാലക ഷോപ്പ്. +home.searchBar=സവിശേഷതകൾക്കായി തിരയുക... + + +home.viewPdf.title=PDF കാണുക/തിരുത്തുക +home.viewPdf.desc=കാണുക, വ്യാഖ്യാനിക്കുക, വരയ്ക്കുക, ടെക്സ്റ്റ് അല്ലെങ്കിൽ ചിത്രങ്ങൾ ചേർക്കുക +viewPdf.tags=കാണുക,വായിക്കുക,വ്യാഖ്യാനിക്കുക,ടെക്സ്റ്റ്,ചിത്രം,ഹൈലൈറ്റ്,തിരുത്തുക + +home.setFavorites=പ്രിയപ്പെട്ടവ സജ്ജമാക്കുക +home.hideFavorites=പ്രിയപ്പെട്ടവ മറയ്ക്കുക +home.showFavorites=പ്രിയപ്പെട്ടവ കാണിക്കുക +home.legacyHomepage=പഴയ ഹോംപേജ് +home.newHomePage=ഞങ്ങളുടെ പുതിയ ഹോംപേജ് പരീക്ഷിക്കുക! +home.alphabetical=അക്ഷരമാലാക്രമത്തിൽ +home.globalPopularity=ആഗോള ജനപ്രീതി +home.sortBy=ഇതനുസരിച്ച് അടുക്കുക: + +home.multiTool.title=PDF മൾട്ടി ടൂൾ +home.multiTool.desc=പേജുകൾ ലയിപ്പിക്കുക, തിരിക്കുക, പുനഃക്രമീകരിക്കുക, വിഭജിക്കുക, നീക്കം ചെയ്യുക +multiTool.tags=മൾട്ടി ടൂൾ,മൾട്ടി ഓപ്പറേഷൻ,യുഐ,ക്ലിക്ക് ഡ്രാഗ്,ഫ്രണ്ട് എൻഡ്,ക്ലയിന്റ് സൈഡ്,ഇന്ററാക്ടീവ്,അനങ്ങാത്ത,നീക്കുക,ഇല്ലാതാക്കുക,കൈമാറുക,വിഭജിക്കുക + +home.merge.title=ലയിപ്പിക്കുക +home.merge.desc=ഒന്നിലധികം PDF-കൾ എളുപ്പത്തിൽ ഒന്നിലേക്ക് ലയിപ്പിക്കുക. +merge.tags=ലയിപ്പിക്കുക,പേജ് പ്രവർത്തനങ്ങൾ,ബാക്ക് എൻഡ്,സെർവർ സൈഡ് + +home.split.title=വിഭജിക്കുക +home.split.desc=PDF-കൾ ഒന്നിലധികം പ്രമാണങ്ങളായി വിഭജിക്കുക +split.tags=പേജ് പ്രവർത്തനങ്ങൾ,വിഭജിക്കുക,മൾട്ടി പേജ്,മുറിക്കുക,സെർവർ സൈഡ് + +home.rotate.title=തിരിക്കുക +home.rotate.desc=നിങ്ങളുടെ PDF-കൾ എളുപ്പത്തിൽ തിരിക്കുക. +rotate.tags=സെർവർ സൈഡ് + + +home.imageToPdf.title=ചിത്രം PDF-ലേക്ക് +home.imageToPdf.desc=ഒരു ചിത്രം (PNG, JPEG, GIF) PDF-ലേക്ക് മാറ്റുക. +imageToPdf.tags=പരിവർത്തനം,img,jpg,ചിത്രം,ഫോട്ടോ + +home.pdfToImage.title=PDF ചിത്രത്തിലേക്ക് +home.pdfToImage.desc=ഒരു PDF ചിത്രത്തിലേക്ക് മാറ്റുക. (PNG, JPEG, GIF) +pdfToImage.tags=പരിവർത്തനം,img,jpg,ചിത്രം,ഫോട്ടോ + +home.pdfOrganiser.title=ക്രമീകരിക്കുക +home.pdfOrganiser.desc=ഏത് ക്രമത്തിലും പേജുകൾ നീക്കം ചെയ്യുക/പുനഃക്രമീകരിക്കുക +pdfOrganiser.tags=ഡ്യൂപ്ലെക്സ്,ഇരട്ട,ഒറ്റ,അടുക്കുക,നീക്കുക + + +home.addImage.title=ചിത്രം ചേർക്കുക +home.addImage.desc=PDF-ൽ ഒരു നിശ്ചിത സ്ഥാനത്ത് ഒരു ചിത്രം ചേർക്കുന്നു +addImage.tags=img,jpg,ചിത്രം,ഫോട്ടോ + +home.watermark.title=വാട്ടർമാർക്ക് ചേർക്കുക +home.watermark.desc=നിങ്ങളുടെ PDF പ്രമാണത്തിലേക്ക് ഒരു ഇഷ്ടാനുസൃത വാട്ടർമാർക്ക് ചേർക്കുക. +watermark.tags=ടെക്സ്റ്റ്,ആവർത്തിക്കുന്ന,ലേബൽ,സ്വന്തം,പകർപ്പവകാശം,വ്യാപാരമുദ്ര,img,jpg,ചിത്രം,ഫോട്ടോ + +home.permissions.title=അനുമതികൾ മാറ്റുക +home.permissions.desc=നിങ്ങളുടെ PDF പ്രമാണത്തിന്റെ അനുമതികൾ മാറ്റുക +permissions.tags=വായിക്കുക,എഴുതുക,തിരുത്തുക,അച്ചടിക്കുക + + +home.removePages.title=നീക്കം ചെയ്യുക +home.removePages.desc=നിങ്ങളുടെ PDF പ്രമാണത്തിൽ നിന്ന് ആവശ്യമില്ലാത്ത പേജുകൾ ഇല്ലാതാക്കുക. +removePages.tags=പേജുകൾ നീക്കം ചെയ്യുക,പേജുകൾ ഇല്ലാതാക്കുക + +home.addPassword.title=പാസ്‌വേഡ് ചേർക്കുക +home.addPassword.desc=നിങ്ങളുടെ PDF പ്രമാണം ഒരു പാസ്‌വേഡ് ഉപയോഗിച്ച് എൻക്രിപ്റ്റ് ചെയ്യുക. +addPassword.tags=സുരക്ഷിതം,സുരക്ഷ + +home.removePassword.title=പാസ്‌വേഡ് നീക്കം ചെയ്യുക +home.removePassword.desc=നിങ്ങളുടെ PDF പ്രമാണത്തിൽ നിന്ന് പാസ്‌വേഡ് സംരക്ഷണം നീക്കം ചെയ്യുക. +removePassword.tags=സുരക്ഷിതം,ഡീക്രിപ്റ്റ്,സുരക്ഷ,പാസ്‌വേഡ് ഇല്ലാതാക്കുക,പാസ്‌വേഡ് നീക്കം ചെയ്യുക + +home.compressPdfs.title=കംപ്രസ് ചെയ്യുക +home.compressPdfs.desc=ഫയൽ വലുപ്പം കുറയ്ക്കുന്നതിന് PDF-കൾ കംപ്രസ് ചെയ്യുക. +compressPdfs.tags=ചുരുക്കുക,ചെറുത്,വളരെ ചെറുത് + +home.unlockPDFForms.title=PDF ഫോമുകൾ അൺലോക്ക് ചെയ്യുക +home.unlockPDFForms.desc=ഒരു PDF പ്രമാണത്തിലെ ഫോം ഫീൽഡുകളുടെ റീഡ്-ഒൺലി പ്രോപ്പർട്ടി നീക്കം ചെയ്യുക. +unlockPDFForms.tags=നീക്കം ചെയ്യുക,ഇല്ലാതാക്കുക,ഫോം,ഫീൽഡ്,റീഡ്-ഒൺലി + +home.changeMetadata.title=മെറ്റാഡാറ്റ മാറ്റുക +home.changeMetadata.desc=ഒരു PDF പ്രമാണത്തിൽ നിന്ന് മെറ്റാഡാറ്റ മാറ്റുക/നീക്കം ചെയ്യുക/ചേർക്കുക +changeMetadata.tags=തലക്കെട്ട്,രചയിതാവ്,തീയതി,സൃഷ്ടി,സമയം,പ്രസാധകൻ,നിർമ്മാതാവ്,സ്ഥിതിവിവരക്കണക്കുകൾ + +home.fileToPDF.title=ഫയൽ PDF-ലേക്ക് മാറ്റുക +home.fileToPDF.desc=ഏകദേശം ഏത് ഫയലും PDF-ലേക്ക് മാറ്റുക (DOCX, PNG, XLS, PPT, TXT എന്നിവയും അതിൽ കൂടുതലും) +fileToPDF.tags=രൂപാന്തരം,ഫോർമാറ്റ്,പ്രമാണം,ചിത്രം,സ്ലൈഡ്,ടെക്സ്റ്റ്,പരിവർത്തനം,ഓഫീസ്,ഡോക്സ്,വേഡ്,എക്സൽ,പവർപോയിന്റ് + +home.ocr.title=OCR / സ്കാനുകൾ വൃത്തിയാക്കുക +home.ocr.desc=സ്കാനുകൾ വൃത്തിയാക്കുകയും ഒരു PDF-നുള്ളിലെ ചിത്രങ്ങളിൽ നിന്ന് ടെക്സ്റ്റ് കണ്ടെത്തുകയും അത് ടെക്സ്റ്റായി വീണ്ടും ചേർക്കുകയും ചെയ്യുന്നു. +ocr.tags=തിരിച്ചറിയൽ,ടെക്സ്റ്റ്,ചിത്രം,സ്കാൻ,വായിക്കുക,തിരിച്ചറിയുക,കണ്ടെത്തൽ,തിരുത്താവുന്നത് + +home.extractImages.title=ചിത്രങ്ങൾ വേർതിരിച്ചെടുക്കുക +home.extractImages.desc=ഒരു PDF-ൽ നിന്ന് എല്ലാ ചിത്രങ്ങളും വേർതിരിച്ചെടുത്ത് സിപ്പിലേക്ക് സംരക്ഷിക്കുന്നു +extractImages.tags=ചിത്രം,ഫോട്ടോ,സംരക്ഷിക്കുക,ആർക്കൈവ്,സിപ്പ്,പിടിച്ചെടുക്കുക,നേടുക + +home.pdfToPDFA.title=PDF PDF/A-ലേക്ക് +home.pdfToPDFA.desc=ദീർഘകാല സംഭരണത്തിനായി PDF PDF/A-ലേക്ക് മാറ്റുക +pdfToPDFA.tags=ആർക്കൈവ്,ദീർഘകാല,മാനദണ്ഡം,പരിവർത്തനം,സംഭരണം,സംരക്ഷണം + +home.PDFToWord.title=PDF വേഡിലേക്ക് +home.PDFToWord.desc=PDF വേഡ് ഫോർമാറ്റുകളിലേക്ക് (DOC, DOCX, ODT) മാറ്റുക +PDFToWord.tags=doc,docx,odt,വേഡ്,രൂപാന്തരം,ഫോർമാറ്റ്,പരിവർത്തനം,ഓഫീസ്,മൈക്രോസോഫ്റ്റ്,ഡോക്ഫയൽ + +home.PDFToPresentation.title=PDF പ്രസന്റേഷനിലേക്ക് +home.PDFToPresentation.desc=PDF പ്രസന്റേഷൻ ഫോർമാറ്റുകളിലേക്ക് (PPT, PPTX, ODP) മാറ്റുക +PDFToPresentation.tags=സ്ലൈഡുകൾ,ഷോ,ഓഫീസ്,മൈക്രോസോഫ്റ്റ് + +home.PDFToText.title=PDF RTF-ലേക്ക് (ടെക്സ്റ്റ്) +home.PDFToText.desc=PDF ടെക്സ്റ്റ് അല്ലെങ്കിൽ RTF ഫോർമാറ്റിലേക്ക് മാറ്റുക +PDFToText.tags=റിച്ച്ഫോർമാറ്റ്,റിച്ച്‌ടെക്സ്റ്റ്ഫോർമാറ്റ്,റിച്ച് ടെക്സ്റ്റ് ഫോർമാറ്റ് + +home.PDFToHTML.title=PDF HTML-ലേക്ക് +home.PDFToHTML.desc=PDF HTML ഫോർമാറ്റിലേക്ക് മാറ്റുക +PDFToHTML.tags=വെബ് ഉള്ളടക്കം,ബ്രൗസർ സൗഹൃദം + + +home.PDFToXML.title=PDF XML-ലേക്ക് +home.PDFToXML.desc=PDF XML ഫോർമാറ്റിലേക്ക് മാറ്റുക +PDFToXML.tags=ഡാറ്റ-എക്സ്ട്രാക്ഷൻ,ഘടനയുള്ള-ഉള്ളടക്കം,ഇന്ററോപ്പ്,രൂപാന്തരം,പരിവർത്തനം ചെയ്യുക + +home.ScannerImageSplit.title=സ്കാൻ ചെയ്ത ഫോട്ടോകൾ കണ്ടെത്തുക/വിഭജിക്കുക +home.ScannerImageSplit.desc=ഒരു ഫോട്ടോ/PDF-നുള്ളിൽ നിന്ന് ഒന്നിലധികം ഫോട്ടോകൾ വിഭജിക്കുന്നു +ScannerImageSplit.tags=വേർതിരിക്കുക,സ്വയം-കണ്ടെത്തുക,സ്കാനുകൾ,മൾട്ടി-ഫോട്ടോ,ക്രമീകരിക്കുക + +home.sign.title=ഒപ്പിടുക +home.sign.desc=വരച്ചോ, ടെക്സ്റ്റ് ഉപയോഗിച്ചോ, ചിത്രം ഉപയോഗിച്ചോ PDF-ൽ ഒപ്പ് ചേർക്കുന്നു +sign.tags=അംഗീകരിക്കുക,ആദ്യാക്ഷരങ്ങൾ,വരച്ച-ഒപ്പ്,ടെക്സ്റ്റ്-ഒപ്പ്,ചിത്ര-ഒപ്പ് + +home.flatten.title=പരത്തുക +home.flatten.desc=ഒരു PDF-ൽ നിന്ന് എല്ലാ ഇന്ററാക്ടീവ് ഘടകങ്ങളും ഫോമുകളും നീക്കം ചെയ്യുക +flatten.tags=സ്ഥിരം,പ്രവർത്തനരഹിതമാക്കുക,നോൺ-ഇന്ററാക്ടീവ്,ലഘൂകരിക്കുക + +home.repair.title=നന്നാക്കുക +home.repair.desc=കേടായ/തകർന്ന PDF നന്നാക്കാൻ ശ്രമിക്കുന്നു +repair.tags=പരിഹരിക്കുക,പുനഃസ്ഥാപിക്കുക,തിരുത്തൽ,വീണ്ടെടുക്കുക + +home.removeBlanks.title=ശൂന്യമായ പേജുകൾ നീക്കം ചെയ്യുക +home.removeBlanks.desc=ഒരു പ്രമാണത്തിൽ നിന്ന് ശൂന്യമായ പേജുകൾ കണ്ടെത്തുകയും നീക്കം ചെയ്യുകയും ചെയ്യുന്നു +removeBlanks.tags=വൃത്തിയാക്കൽ,ലഘൂകരിക്കുക,ഉള്ളടക്കമില്ലാത്ത,ക്രമീകരിക്കുക + +home.removeAnnotations.title=വ്യാഖ്യാനങ്ങൾ നീക്കം ചെയ്യുക +home.removeAnnotations.desc=ഒരു PDF-ൽ നിന്ന് എല്ലാ അഭിപ്രായങ്ങളും/വ്യാഖ്യാനങ്ങളും നീക്കം ചെയ്യുന്നു +removeAnnotations.tags=അഭിപ്രായങ്ങൾ,ഹൈലൈറ്റ്,കുറിപ്പുകൾ,മാർക്ക്അപ്പ്,നീക്കം ചെയ്യുക + +home.compare.title=താരതമ്യം ചെയ്യുക +home.compare.desc=2 PDF പ്രമാണങ്ങൾ തമ്മിലുള്ള വ്യത്യാസങ്ങൾ താരതമ്യം ചെയ്യുകയും കാണിക്കുകയും ചെയ്യുന്നു +compare.tags=വേർതിരിക്കുക,വ്യത്യാസം,മാറ്റങ്ങൾ,വിശകലനം + +home.certSign.title=സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് ഒപ്പിടുക +home.certSign.desc=ഒരു സർട്ടിഫിക്കറ്റ്/കീ (PEM/P12) ഉപയോഗിച്ച് ഒരു PDF ഒപ്പിടുന്നു +certSign.tags=സ്ഥിരീകരിക്കുക,PEM,P12,ഔദ്യോഗികം,എൻക്രിപ്റ്റ് ചെയ്യുക + +home.removeCertSign.title=സർട്ടിഫിക്കറ്റ് ഒപ്പ് നീക്കം ചെയ്യുക +home.removeCertSign.desc=PDF-ൽ നിന്ന് സർട്ടിഫിക്കറ്റ് ഒപ്പ് നീക്കം ചെയ്യുക +removeCertSign.tags=സ്ഥിരീകരിക്കുക,PEM,P12,ഔദ്യോഗികം,ഡീക്രിപ്റ്റ് ചെയ്യുക + +home.pageLayout.title=മൾട്ടി-പേജ് ലേഔട്ട് +home.pageLayout.desc=ഒരു PDF പ്രമാണത്തിന്റെ ഒന്നിലധികം പേജുകൾ ഒരൊറ്റ പേജിലേക്ക് ലയിപ്പിക്കുക +pageLayout.tags=ലയിപ്പിക്കുക,സംയോജിപ്പിക്കുക,ഒറ്റ-കാഴ്ച,ക്രമീകരിക്കുക + +home.scalePages.title=പേജ് വലുപ്പം/സ്കെയിൽ ക്രമീകരിക്കുക +home.scalePages.desc=ഒരു പേജിന്റെയും/അല്ലെങ്കിൽ അതിന്റെ ഉള്ളടക്കങ്ങളുടെയും വലുപ്പം/സ്കെയിൽ മാറ്റുക. +scalePages.tags=വലുപ്പം മാറ്റുക,പരിഷ്ക്കരിക്കുക,അളവ്,അനുയോജ്യമാക്കുക + +home.pipeline.title=പൈപ്പ്ലൈൻ +home.pipeline.desc=പൈപ്പ്ലൈൻ സ്ക്രിപ്റ്റുകൾ നിർവചിച്ചുകൊണ്ട് PDF-കളിൽ ഒന്നിലധികം പ്രവർത്തനങ്ങൾ നടത്തുക +pipeline.tags=ഓട്ടോമേറ്റ് ചെയ്യുക,ക്രമീകരിക്കുക,സ്ക്രിപ്റ്റ് ചെയ്ത,ബാച്ച്-പ്രോസസ്സ് + +home.add-page-numbers.title=പേജ് നമ്പറുകൾ ചേർക്കുക +home.add-page-numbers.desc=ഒരു പ്രമാണത്തിലുടനീളം ഒരു നിശ്ചിത സ്ഥാനത്ത് പേജ് നമ്പറുകൾ ചേർക്കുക +add-page-numbers.tags=പേജ് നമ്പർ നൽകുക,ലേബൽ,ക്രമീകരിക്കുക,സൂചിക + +home.auto-rename.title=PDF ഫയൽ സ്വയം പുനർനാമകരണം ചെയ്യുക +home.auto-rename.desc=കണ്ടെത്തിയ തലക്കെട്ടിനെ അടിസ്ഥാനമാക്കി ഒരു PDF ഫയൽ സ്വയം പുനർനാമകരണം ചെയ്യുന്നു +auto-rename.tags=സ്വയം-കണ്ടെത്തുക,തലക്കെട്ട്-അടിസ്ഥാനമാക്കിയുള്ള,ക്രമീകരിക്കുക,പുനർലേബൽ ചെയ്യുക + +home.adjust-contrast.title=നിറങ്ങൾ/കോൺട്രാസ്റ്റ് ക്രമീകരിക്കുക +home.adjust-contrast.desc=ഒരു PDF-ന്റെ കോൺട്രാസ്റ്റ്, സാച്ചുറേഷൻ, തെളിച്ചം എന്നിവ ക്രമീകരിക്കുക +adjust-contrast.tags=നിറം-തിരുത്തൽ,ട്യൂൺ ചെയ്യുക,പരിഷ്ക്കരിക്കുക,മെച്ചപ്പെടുത്തുക + +home.crop.title=PDF ക്രോപ്പ് ചെയ്യുക +home.crop.desc=വലുപ്പം കുറയ്ക്കാൻ ഒരു PDF ക്രോപ്പ് ചെയ്യുക (ടെക്സ്റ്റ് നിലനിർത്തുന്നു!) +crop.tags=മുറിക്കുക,ചുരുക്കുക,തിരുത്തുക,രൂപം + +home.autoSplitPDF.title=പേജുകൾ സ്വയം വിഭജിക്കുക +home.autoSplitPDF.desc=ഭൗതികമായി സ്കാൻ ചെയ്ത പേജ് സ്പ്ലിറ്റർ QR കോഡ് ഉപയോഗിച്ച് സ്കാൻ ചെയ്ത PDF സ്വയം വിഭജിക്കുക +autoSplitPDF.tags=QR-അടിസ്ഥാനമാക്കിയുള്ള,വേർതിരിക്കുക,സ്കാൻ-സെഗ്മെന്റ്,ക്രമീകരിക്കുക + +home.sanitizePdf.title=ശുദ്ധീകരിക്കുക +home.sanitizePdf.desc=PDF ഫയലുകളിൽ നിന്ന് സ്ക്രിപ്റ്റുകളും മറ്റ് ഘടകങ്ങളും നീക്കം ചെയ്യുക +sanitizePdf.tags=വൃത്തിയാക്കുക,സുരക്ഷിതമാക്കുക,സുരക്ഷിതം,ഭീഷണികൾ-നീക്കം ചെയ്യുക + +home.URLToPDF.title=URL/വെബ്സൈറ്റ് PDF-ലേക്ക് +home.URLToPDF.desc=ഏത് http(s)URL-നെയും PDF-ലേക്ക് മാറ്റുന്നു +URLToPDF.tags=വെബ്-ക്യാപ്ചർ,പേജ്-സംരക്ഷിക്കുക,വെബ്-ടു-ഡോക്,ആർക്കൈവ് + +home.HTMLToPDF.title=HTML PDF-ലേക്ക് +home.HTMLToPDF.desc=ഏത് HTML ഫയലിനെയും അല്ലെങ്കിൽ സിപ്പിനെയും PDF-ലേക്ക് മാറ്റുന്നു +HTMLToPDF.tags=മാർക്ക്അപ്പ്,വെബ്-ഉള്ളടക്കം,രൂപാന്തരം,പരിവർത്തനം ചെയ്യുക + + +home.MarkdownToPDF.title=മാർക്ക്ഡൗൺ PDF-ലേക്ക് +home.MarkdownToPDF.desc=ഏത് മാർക്ക്ഡൗൺ ഫയലിനെയും PDF-ലേക്ക് മാറ്റുന്നു +MarkdownToPDF.tags=മാർക്ക്അപ്പ്,വെബ്-ഉള്ളടക്കം,രൂപാന്തരം,പരിവർത്തനം ചെയ്യുക,md + +home.PDFToMarkdown.title=PDF മാർക്ക്ഡൗണിലേക്ക് +home.PDFToMarkdown.desc=ഏത് PDF-നെയും മാർക്ക്ഡൗണിലേക്ക് മാറ്റുന്നു +PDFToMarkdown.tags=മാർക്ക്അപ്പ്,വെബ്-ഉള്ളടക്കം,രൂപാന്തരം,പരിവർത്തനം ചെയ്യുക,md + +home.getPdfInfo.title=PDF-നെക്കുറിച്ചുള്ള എല്ലാ വിവരങ്ങളും നേടുക +home.getPdfInfo.desc=PDF-കളെക്കുറിച്ചുള്ള സാധ്യമായ എല്ലാ വിവരങ്ങളും നേടുന്നു +getPdfInfo.tags=വിവരം,ഡാറ്റ,സ്ഥിതിവിവരക്കണക്കുകൾ,സ്ഥിതിവിവരക്കണക്കുകൾ + + +home.extractPage.title=പേജ്(കൾ) വേർതിരിച്ചെടുക്കുക +home.extractPage.desc=PDF-ൽ നിന്ന് തിരഞ്ഞെടുത്ത പേജുകൾ വേർതിരിച്ചെടുക്കുന്നു +extractPage.tags=വേർതിരിച്ചെടുക്കുക + + +home.PdfToSinglePage.title=ഒരൊറ്റ വലിയ പേജ് +home.PdfToSinglePage.desc=എല്ലാ PDF പേജുകളും ഒരൊറ്റ വലിയ പേജിലേക്ക് ലയിപ്പിക്കുന്നു +PdfToSinglePage.tags=ഒറ്റ പേജ് + + +home.showJS.title=ജാവാസ്ക്രിപ്റ്റ് കാണിക്കുക +home.showJS.desc=ഒരു PDF-ൽ കുത്തിവച്ച ഏതെങ്കിലും JS തിരയുകയും പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു +showJS.tags=JS + +home.autoRedact.title=സ്വയം റെഡാക്റ്റ് ചെയ്യുക +home.autoRedact.desc=ഇൻപുട്ട് ടെക്സ്റ്റിനെ അടിസ്ഥാനമാക്കി ഒരു PDF-ലെ ടെക്സ്റ്റ് സ്വയം റെഡാക്റ്റ് (കറുപ്പിക്കുന്നു) ചെയ്യുന്നു +autoRedact.tags=റെഡാക്റ്റ്,മറയ്ക്കുക,കറുപ്പിക്കുക,കറുപ്പ്,മാർക്കർ,മറഞ്ഞിരിക്കുന്ന + +home.redact.title=സ്വയം റെഡാക്ഷൻ +home.redact.desc=തിരഞ്ഞെടുത്ത ടെക്സ്റ്റ്, വരച്ച രൂപങ്ങൾ കൂടാതെ/അല്ലെങ്കിൽ തിരഞ്ഞെടുത്ത പേജ്(കൾ) അടിസ്ഥാനമാക്കി ഒരു PDF റെഡാക്റ്റ് ചെയ്യുന്നു +redact.tags=റെഡാക്റ്റ്,മറയ്ക്കുക,കറുപ്പിക്കുക,കറുപ്പ്,മാർക്കർ,മറഞ്ഞിരിക്കുന്ന,സ്വയം + +home.tableExtraxt.title=PDF CSV-ലേക്ക് +home.tableExtraxt.desc=ഒരു PDF-ൽ നിന്ന് പട്ടികകൾ വേർതിരിച്ചെടുത്ത് CSV-ലേക്ക് മാറ്റുന്നു +tableExtraxt.tags=CSV,പട്ടിക വേർതിരിച്ചെടുക്കൽ,വേർതിരിച്ചെടുക്കുക,പരിവർത്തനം ചെയ്യുക + + +home.autoSizeSplitPDF.title=വലുപ്പം/എണ്ണം അനുസരിച്ച് സ്വയം വിഭജിക്കുക +home.autoSizeSplitPDF.desc=വലുപ്പം, പേജ് എണ്ണം, അല്ലെങ്കിൽ പ്രമാണങ്ങളുടെ എണ്ണം എന്നിവ അടിസ്ഥാനമാക്കി ഒരൊറ്റ PDF ഒന്നിലധികം പ്രമാണങ്ങളായി വിഭജിക്കുക +autoSizeSplitPDF.tags=pdf,വിഭജിക്കുക,പ്രമാണം,സംഘടന + + +home.overlay-pdfs.title=PDF-കൾ ഓവർലേ ചെയ്യുക +home.overlay-pdfs.desc=മറ്റൊരു PDF-ന് മുകളിൽ PDF-കൾ ഓവർലേ ചെയ്യുന്നു +overlay-pdfs.tags=ഓവർലേ + +home.split-by-sections.title=വിഭാഗങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക +home.split-by-sections.desc=ഒരു PDF-ന്റെ ഓരോ പേജും ചെറിയ തിരശ്ചീനവും ലംബവുമായ വിഭാഗങ്ങളായി വിഭജിക്കുക +split-by-sections.tags=വിഭാഗം വിഭജനം, വിഭജിക്കുക, ഇഷ്ടാനുസൃതമാക്കുക + +home.AddStampRequest.title=PDF-ൽ സ്റ്റാമ്പ് ചേർക്കുക +home.AddStampRequest.desc=നിശ്ചിത സ്ഥാനങ്ങളിൽ ടെക്സ്റ്റ് അല്ലെങ്കിൽ ഇമേജ് സ്റ്റാമ്പുകൾ ചേർക്കുക +AddStampRequest.tags=സ്റ്റാമ്പ്, ചിത്രം ചേർക്കുക, ചിത്രം മധ്യത്തിലാക്കുക, വാട്ടർമാർക്ക്, PDF, ഉൾപ്പെടുത്തുക, ഇഷ്ടാനുസൃതമാക്കുക + + +home.removeImagePdf.title=ചിത്രം നീക്കം ചെയ്യുക +home.removeImagePdf.desc=ഫയൽ വലുപ്പം കുറയ്ക്കാൻ PDF-ൽ നിന്ന് ചിത്രം നീക്കം ചെയ്യുക +removeImagePdf.tags=ചിത്രം നീക്കം ചെയ്യുക,പേജ് പ്രവർത്തനങ്ങൾ,ബാക്ക് എൻഡ്,സെർവർ സൈഡ് + + +home.splitPdfByChapters.title=അധ്യായങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക +home.splitPdfByChapters.desc=അതിന്റെ അധ്യായ ഘടനയെ അടിസ്ഥാനമാക്കി ഒരു PDF ഒന്നിലധികം ഫയലുകളായി വിഭജിക്കുക. +splitPdfByChapters.tags=വിഭജിക്കുക,അധ്യായങ്ങൾ,ബുക്ക്മാർക്കുകൾ,ക്രമീകരിക്കുക + +home.validateSignature.title=PDF ഒപ്പ് സാധൂകരിക്കുക +home.validateSignature.desc=PDF പ്രമാണങ്ങളിലെ ഡിജിറ്റൽ ഒപ്പുകളും സർട്ടിഫിക്കറ്റുകളും പരിശോധിക്കുക +validateSignature.tags=ഒപ്പ്,പരിശോധിക്കുക,സാധൂകരിക്കുക,pdf,സർട്ടിഫിക്കറ്റ്,ഡിജിറ്റൽ ഒപ്പ്,ഒപ്പ് സാധൂകരിക്കുക,സർട്ടിഫിക്കറ്റ് സാധൂകരിക്കുക + +#replace-invert-color +replace-color.title=നിറം-മാറ്റുക-വിപരീതമാക്കുക +replace-color.header=PDF-ലെ നിറം മാറ്റുക-വിപരീതമാക്കുക +home.replaceColorPdf.title=നിറം മാറ്റുകയും വിപരീതമാക്കുകയും ചെയ്യുക +home.replaceColorPdf.desc=PDF-ലെ ടെക്സ്റ്റിനും പശ്ചാത്തലത്തിനും നിറം മാറ്റുകയും ഫയൽ വലുപ്പം കുറയ്ക്കുന്നതിന് PDF-ന്റെ മുഴുവൻ നിറവും വിപരീതമാക്കുകയും ചെയ്യുക +replaceColorPdf.tags=നിറം മാറ്റുക,പേജ് പ്രവർത്തനങ്ങൾ,ബാക്ക് എൻഡ്,സെർവർ സൈഡ് +replace-color.selectText.1=നിറം മാറ്റുന്നതിനോ വിപരീതമാക്കുന്നതിനോ ഉള്ള ഓപ്ഷനുകൾ +replace-color.selectText.2=സ്ഥിരസ്ഥിതി (സ്ഥിരസ്ഥിതി ഉയർന്ന കോൺട്രാസ്റ്റ് നിറങ്ങൾ) +replace-color.selectText.3=ഇഷ്ടാനുസൃതം (ഇഷ്ടാനുസൃതമാക്കിയ നിറങ്ങൾ) +replace-color.selectText.4=പൂർണ്ണ-വിപരീതം (എല്ലാ നിറങ്ങളും വിപരീതമാക്കുക) +replace-color.selectText.5=ഉയർന്ന കോൺട്രാസ്റ്റ് വർണ്ണ ഓപ്ഷനുകൾ +replace-color.selectText.6=കറുത്ത പശ്ചാത്തലത്തിൽ വെളുത്ത ടെക്സ്റ്റ് +replace-color.selectText.7=വെളുത്ത പശ്ചാത്തലത്തിൽ കറുത്ത ടെക്സ്റ്റ് +replace-color.selectText.8=കറുത്ത പശ്ചാത്തലത്തിൽ മഞ്ഞ ടെക്സ്റ്റ് +replace-color.selectText.9=കറുത്ത പശ്ചാത്തലത്തിൽ പച്ച ടെക്സ്റ്റ് +replace-color.selectText.10=ടെക്സ്റ്റ് നിറം തിരഞ്ഞെടുക്കുക +replace-color.selectText.11=പശ്ചാത്തല നിറം തിരഞ്ഞെടുക്കുക +replace-color.submit=മാറ്റുക + + + +########################### +# # +# WEB PAGES # +# # +########################### +#login +login.title=സൈൻ ഇൻ ചെയ്യുക +login.header=സൈൻ ഇൻ ചെയ്യുക +login.signin=സൈൻ ഇൻ ചെയ്യുക +login.rememberme=എന്നെ ഓർക്കുക +login.invalid=അസാധുവായ ഉപയോക്തൃനാമം അല്ലെങ്കിൽ പാസ്‌വേഡ്. +login.locked=നിങ്ങളുടെ അക്കൗണ്ട് ലോക്ക് ചെയ്തിരിക്കുന്നു. +login.signinTitle=ദയവായി സൈൻ ഇൻ ചെയ്യുക +login.ssoSignIn=സിംഗിൾ സൈൻ-ഓൺ വഴി ലോഗിൻ ചെയ്യുക +login.oAuth2AutoCreateDisabled=OAUTH2 ഓട്ടോ-ക്രിയേറ്റ് യൂസർ പ്രവർത്തനരഹിതമാക്കി +login.oAuth2AdminBlockedUser=രജിസ്റ്റർ ചെയ്യാത്ത ഉപയോക്താക്കളുടെ രജിസ്ട്രേഷനോ ലോഗിൻ ചെയ്യുന്നതോ നിലവിൽ തടഞ്ഞിരിക്കുന്നു. ദയവായി അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക. +login.oauth2RequestNotFound=അംഗീകാര അഭ്യർത്ഥന കണ്ടെത്തിയില്ല +login.oauth2InvalidUserInfoResponse=അസാധുവായ ഉപയോക്തൃ വിവര പ്രതികരണം +login.oauth2invalidRequest=അസാധുവായ അഭ്യർത്ഥന +login.oauth2AccessDenied=പ്രവേശനം നിഷേധിച്ചു +login.oauth2InvalidTokenResponse=അസാധുവായ ടോക്കൺ പ്രതികരണം +login.oauth2InvalidIdToken=അസാധുവായ ഐഡി ടോക്കൺ +login.relyingPartyRegistrationNotFound=റിലയിംഗ് പാർട്ടി രജിസ്ട്രേഷൻ കണ്ടെത്തിയില്ല +login.userIsDisabled=ഉപയോക്താവ് പ്രവർത്തനരഹിതമാക്കി, ഈ ഉപയോക്തൃനാമം ഉപയോഗിച്ചുള്ള ലോഗിൻ നിലവിൽ തടഞ്ഞിരിക്കുന്നു. ദയവായി അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക. +login.alreadyLoggedIn=നിങ്ങൾ ഇതിനകം ലോഗിൻ ചെയ്തിട്ടുണ്ട് +login.alreadyLoggedIn2=ഉപകരണങ്ങളിൽ. ദയവായി ഉപകരണങ്ങളിൽ നിന്ന് ലോഗ് ഔട്ട് ചെയ്ത് വീണ്ടും ശ്രമിക്കുക. +login.toManySessions=നിങ്ങൾക്ക് വളരെയധികം സജീവ സെഷനുകൾ ഉണ്ട് +login.logoutMessage=നിങ്ങൾ ലോഗ് ഔട്ട് ചെയ്തു. + +#auto-redact +autoRedact.title=സ്വയം റെഡാക്റ്റ് ചെയ്യുക +autoRedact.header=സ്വയം റെഡാക്റ്റ് ചെയ്യുക +autoRedact.colorLabel=നിറം +autoRedact.textsToRedactLabel=റെഡാക്റ്റ് ചെയ്യേണ്ട ടെക്സ്റ്റ് (വരികളാൽ വേർതിരിച്ചത്) +autoRedact.textsToRedactPlaceholder=ഉദാ. \nരഹസ്യം \nഅതീവ-രഹസ്യം +autoRedact.useRegexLabel=റെഗുലർ എക്സ്പ്രഷൻ ഉപയോഗിക്കുക +autoRedact.wholeWordSearchLabel=മുഴുവൻ വാക്ക് തിരയൽ +autoRedact.customPaddingLabel=ഇഷ്ടാനുസൃത അധിക പാഡിംഗ് +autoRedact.convertPDFToImageLabel=PDF-നെ PDF-ചിത്രത്തിലേക്ക് മാറ്റുക (ബോക്സിന് പിന്നിലെ ടെക്സ്റ്റ് നീക്കം ചെയ്യാൻ ഉപയോഗിക്കുന്നു) +autoRedact.submitButton=സമർപ്പിക്കുക + +#redact +redact.title=സ്വയം റെഡാക്ഷൻ +redact.header=സ്വയം റെഡാക്ഷൻ +redact.submit=റെഡാക്റ്റ് ചെയ്യുക +redact.textBasedRedaction=ടെക്സ്റ്റ് അടിസ്ഥാനമാക്കിയുള്ള റെഡാക്ഷൻ +redact.pageBasedRedaction=പേജ് അടിസ്ഥാനമാക്കിയുള്ള റെഡാക്ഷൻ +redact.convertPDFToImageLabel=PDF-നെ PDF-ചിത്രത്തിലേക്ക് മാറ്റുക (ബോക്സിന് പിന്നിലെ ടെക്സ്റ്റ് നീക്കം ചെയ്യാൻ ഉപയോഗിക്കുന്നു) +redact.pageRedactionNumbers.title=പേജുകൾ +redact.pageRedactionNumbers.placeholder=(ഉദാ. 1,2,8 അല്ലെങ്കിൽ 4,7,12-16 അല്ലെങ്കിൽ 2n-1) +redact.redactionColor.title=റെഡാക്ഷൻ നിറം +redact.export=കയറ്റുമതി ചെയ്യുക +redact.upload=അപ്‌ലോഡ് ചെയ്യുക +redact.boxRedaction=ബോക്സ് വരച്ച് റെഡാക്ഷൻ +redact.zoom=സൂം +redact.zoomIn=സൂം ഇൻ +redact.zoomOut=സൂം ഔട്ട് +redact.nextPage=അടുത്ത പേജ് +redact.previousPage=മുമ്പത്തെ പേജ് +redact.toggleSidebar=സൈഡ്‌ബാർ ടോഗിൾ ചെയ്യുക +redact.showThumbnails=ലഘുചിത്രങ്ങൾ കാണിക്കുക +redact.showDocumentOutline=പ്രമാണ രൂപരേഖ കാണിക്കുക (എല്ലാ ഇനങ്ങളും വികസിപ്പിക്കാനും/ചുരുക്കാനും ഇരട്ട-ക്ലിക്ക് ചെയ്യുക) +redact.showAttatchments=അറ്റാച്ച്‌മെന്റുകൾ കാണിക്കുക +redact.showLayers=പാളികൾ കാണിക്കുക (എല്ലാ പാളികളും സ്ഥിരസ്ഥിതിയിലേക്ക് പുനഃസജ്ജമാക്കാൻ ഇരട്ട-ക്ലിക്ക് ചെയ്യുക) +redact.colourPicker=നിറം തിരഞ്ഞെടുക്കാനുള്ള ഉപകരണം +redact.findCurrentOutlineItem=നിലവിലെ രൂപരേഖാ ഇനം കണ്ടെത്തുക +redact.applyChanges=മാറ്റങ്ങൾ പ്രയോഗിക്കുക + +#showJS +showJS.title=ജാവാസ്ക്രിപ്റ്റ് കാണിക്കുക +showJS.header=ജാവാസ്ക്രിപ്റ്റ് കാണിക്കുക +showJS.downloadJS=ജാവാസ്ക്രിപ്റ്റ് ഡൗൺലോഡ് ചെയ്യുക +showJS.submit=കാണിക്കുക + + +#pdfToSinglePage +pdfToSinglePage.title=PDF ഒരൊറ്റ പേജിലേക്ക് +pdfToSinglePage.header=PDF ഒരൊറ്റ പേജിലേക്ക് +pdfToSinglePage.submit=ഒരൊറ്റ പേജിലേക്ക് മാറ്റുക + + +#pageExtracter +pageExtracter.title=പേജുകൾ വേർതിരിച്ചെടുക്കുക +pageExtracter.header=പേജുകൾ വേർതിരിച്ചെടുക്കുക +pageExtracter.submit=വേർതിരിച്ചെടുക്കുക +pageExtracter.placeholder=(ഉദാ. 1,2,8 അല്ലെങ്കിൽ 4,7,12-16 അല്ലെങ്കിൽ 2n-1) + + +#getPdfInfo +getPdfInfo.title=PDF-നെക്കുറിച്ചുള്ള വിവരങ്ങൾ നേടുക +getPdfInfo.header=PDF-നെക്കുറിച്ചുള്ള വിവരങ്ങൾ നേടുക +getPdfInfo.submit=വിവരങ്ങൾ നേടുക +getPdfInfo.downloadJson=JSON ഡൗൺലോഡ് ചെയ്യുക + + +#markdown-to-pdf +MarkdownToPDF.title=മാർക്ക്ഡൗൺ PDF-ലേക്ക് +MarkdownToPDF.header=മാർക്ക്ഡൗൺ PDF-ലേക്ക് +MarkdownToPDF.submit=പരിവർത്തനം ചെയ്യുക +MarkdownToPDF.help=നിർമ്മാണത്തിലിരിക്കുന്നു +MarkdownToPDF.credit=WeasyPrint ഉപയോഗിക്കുന്നു + + +#pdf-to-markdown +PDFToMarkdown.title=PDF മാർക്ക്ഡൗണിലേക്ക് +PDFToMarkdown.header=PDF മാർക്ക്ഡൗണിലേക്ക് +PDFToMarkdown.submit=പരിവർത്തനം ചെയ്യുക + + +#url-to-pdf +URLToPDF.title=URL PDF-ലേക്ക് +URLToPDF.header=URL PDF-ലേക്ക് +URLToPDF.submit=പരിവർത്തനം ചെയ്യുക +URLToPDF.credit=WeasyPrint ഉപയോഗിക്കുന്നു + + +#html-to-pdf +HTMLToPDF.title=HTML PDF-ലേക്ക് +HTMLToPDF.header=HTML PDF-ലേക്ക് +HTMLToPDF.help=HTML ഫയലുകളും html/css/ചിത്രങ്ങൾ തുടങ്ങിയവ അടങ്ങിയ ZIP-കളും സ്വീകരിക്കുന്നു +HTMLToPDF.submit=പരിവർത്തനം ചെയ്യുക +HTMLToPDF.credit=WeasyPrint ഉപയോഗിക്കുന്നു +HTMLToPDF.zoom=വെബ്സൈറ്റ് പ്രദർശിപ്പിക്കുന്നതിനുള്ള സൂം നില. +HTMLToPDF.pageWidth=പേജിന്റെ വീതി സെന്റീമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.pageHeight=പേജിന്റെ ഉയരം സെന്റീമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.marginTop=പേജിന്റെ മുകളിലെ മാർജിൻ മില്ലിമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.marginBottom=പേജിന്റെ താഴത്തെ മാർജിൻ മില്ലിമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.marginLeft=പേജിന്റെ ഇടത് മാർജിൻ മില്ലിമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.marginRight=പേജിന്റെ വലത് മാർജിൻ മില്ലിമീറ്ററിൽ. (സ്ഥിരസ്ഥിതിക്കായി ശൂന്യമാക്കുക) +HTMLToPDF.printBackground=വെബ്സൈറ്റുകളുടെ പശ്ചാത്തലം റെൻഡർ ചെയ്യുക. +HTMLToPDF.defaultHeader=സ്ഥിരസ്ഥിതി തലക്കെട്ട് പ്രവർത്തനക്ഷമമാക്കുക (പേരും പേജ് നമ്പറും) +HTMLToPDF.cssMediaType=പേജിന്റെ CSS മീഡിയ തരം മാറ്റുക. +HTMLToPDF.none=ഒന്നുമില്ല +HTMLToPDF.print=അച്ചടിക്കുക +HTMLToPDF.screen=സ്ക്രീൻ + + +#AddStampRequest +AddStampRequest.header=PDF സ്റ്റാമ്പ് ചെയ്യുക +AddStampRequest.title=PDF സ്റ്റാമ്പ് ചെയ്യുക +AddStampRequest.stampType=സ്റ്റാമ്പ് തരം +AddStampRequest.stampText=സ്റ്റാമ്പ് ടെക്സ്റ്റ് +AddStampRequest.stampImage=സ്റ്റാമ്പ് ചിത്രം +AddStampRequest.alphabet=അക്ഷരമാല +AddStampRequest.fontSize=അക്ഷര/ചിത്ര വലുപ്പം +AddStampRequest.rotation=തിരിക്കൽ +AddStampRequest.opacity=അതാര്യത +AddStampRequest.position=സ്ഥാനം +AddStampRequest.overrideX=X കോർഡിനേറ്റ് മാറ്റിയെഴുതുക +AddStampRequest.overrideY=Y കോർഡിനേറ്റ് മാറ്റിയെഴുതുക +AddStampRequest.customMargin=ഇഷ്ടാനുസൃത മാർജിൻ +AddStampRequest.customColor=ഇഷ്ടാനുസൃത ടെക്സ്റ്റ് നിറം +AddStampRequest.submit=സമർപ്പിക്കുക + + +#sanitizePDF +sanitizePDF.title=PDF ശുദ്ധീകരിക്കുക +sanitizePDF.header=ഒരു PDF ഫയൽ ശുദ്ധീകരിക്കുക +sanitizePDF.selectText.1=ജാവാസ്ക്രിപ്റ്റ് പ്രവർത്തനങ്ങൾ നീക്കം ചെയ്യുക +sanitizePDF.selectText.2=ഉൾച്ചേർത്ത ഫയലുകൾ നീക്കം ചെയ്യുക +sanitizePDF.selectText.3=XMP മെറ്റാഡാറ്റ നീക്കം ചെയ്യുക +sanitizePDF.selectText.4=ലിങ്കുകൾ നീക്കം ചെയ്യുക +sanitizePDF.selectText.5=അക്ഷരങ്ങൾ നീക്കം ചെയ്യുക +sanitizePDF.selectText.6=പ്രമാണ വിവര മെറ്റാഡാറ്റ നീക്കം ചെയ്യുക +sanitizePDF.submit=PDF ശുദ്ധീകരിക്കുക + + +#addPageNumbers +addPageNumbers.title=പേജ് നമ്പറുകൾ ചേർക്കുക +addPageNumbers.header=പേജ് നമ്പറുകൾ ചേർക്കുക +addPageNumbers.selectText.1=PDF ഫയൽ തിരഞ്ഞെടുക്കുക: +addPageNumbers.selectText.2=മാർജിൻ വലുപ്പം +addPageNumbers.selectText.3=സ്ഥാനം +addPageNumbers.selectText.4=ആരംഭിക്കുന്ന നമ്പർ +addPageNumbers.selectText.5=നമ്പർ ചെയ്യേണ്ട പേജുകൾ +addPageNumbers.selectText.6=ഇഷ്ടാനുസൃത ടെക്സ്റ്റ് +addPageNumbers.customTextDesc=ഇഷ്ടാനുസൃത ടെക്സ്റ്റ് +addPageNumbers.numberPagesDesc=ഏത് പേജുകളാണ് നമ്പർ ചെയ്യേണ്ടത്, സ്ഥിരസ്ഥിതി 'എല്ലാം', 1-5 അല്ലെങ്കിൽ 2,5,9 തുടങ്ങിയവയും സ്വീകരിക്കുന്നു +addPageNumbers.customNumberDesc=സ്ഥിരസ്ഥിതിയായി {n}, 'പേജ് {n} / {total}', 'ടെക്സ്റ്റ്-{n}', '{filename}-{n}' എന്നിവയും സ്വീകരിക്കുന്നു +addPageNumbers.submit=പേജ് നമ്പറുകൾ ചേർക്കുക + + +#auto-rename +auto-rename.title=സ്വയം പുനർനാമകരണം ചെയ്യുക +auto-rename.header=PDF സ്വയം പുനർനാമകരണം ചെയ്യുക +auto-rename.submit=സ്വയം പുനർനാമകരണം ചെയ്യുക + + +#adjustContrast +adjustContrast.title=കോൺട്രാസ്റ്റ് ക്രമീകരിക്കുക +adjustContrast.header=കോൺട്രാസ്റ്റ് ക്രമീകരിക്കുക +adjustContrast.contrast=കോൺട്രാസ്റ്റ്: +adjustContrast.brightness=തെളിച്ചം: +adjustContrast.saturation=സാച്ചുറേഷൻ: +adjustContrast.download=ഡൗൺലോഡ് ചെയ്യുക + + +#crop +crop.title=ക്രോപ്പ് ചെയ്യുക +crop.header=PDF ക്രോപ്പ് ചെയ്യുക +crop.submit=സമർപ്പിക്കുക + + +#autoSplitPDF +autoSplitPDF.title=PDF സ്വയം വിഭജിക്കുക +autoSplitPDF.header=PDF സ്വയം വിഭജിക്കുക +autoSplitPDF.description=അച്ചടിക്കുക, തിരുകുക, സ്കാൻ ചെയ്യുക, അപ്‌ലോഡ് ചെയ്യുക, നിങ്ങളുടെ പ്രമാണങ്ങൾ ഞങ്ങൾ സ്വയം വേർതിരിക്കട്ടെ. സ്വയം അടുക്കേണ്ട ആവശ്യമില്ല. +autoSplitPDF.selectText.1=താഴെ നിന്ന് കുറച്ച് വിഭജന ഷീറ്റുകൾ അച്ചടിക്കുക (കറുപ്പും വെളുപ്പും മതി). +autoSplitPDF.selectText.2=അവയ്ക്കിടയിൽ വിഭജന ഷീറ്റ് തിരുകി നിങ്ങളുടെ എല്ലാ പ്രമാണങ്ങളും ഒരേസമയം സ്കാൻ ചെയ്യുക. +autoSplitPDF.selectText.3=ഒരൊറ്റ വലിയ സ്കാൻ ചെയ്ത PDF ഫയൽ അപ്‌ലോഡ് ചെയ്യുക, ബാക്കിയുള്ളവ സ്റ്റെർലിംഗ് PDF കൈകാര്യം ചെയ്യട്ടെ. +autoSplitPDF.selectText.4=വിഭജന പേജുകൾ സ്വയം കണ്ടെത്തുകയും നീക്കം ചെയ്യുകയും ചെയ്യുന്നു, ഇത് വൃത്തിയുള്ള അന്തിമ പ്രമാണം ഉറപ്പാക്കുന്നു. +autoSplitPDF.formPrompt=സ്റ്റെർലിംഗ്-PDF പേജ് വിഭജനങ്ങൾ അടങ്ങിയ PDF സമർപ്പിക്കുക: +autoSplitPDF.duplexMode=ഡ്യൂപ്ലെക്സ് മോഡ് (മുന്നിലും പിന്നിലും സ്കാനിംഗ്) +autoSplitPDF.dividerDownload2='ഓട്ടോ സ്പ്ലിറ്റർ ഡിവൈഡർ (നിർദ്ദേശങ്ങളോടുകൂടി).pdf' ഡൗൺലോഡ് ചെയ്യുക +autoSplitPDF.submit=സമർപ്പിക്കുക + + +#pipeline +pipeline.title=പൈപ്പ്ലൈൻ + + +#pageLayout +pageLayout.title=മൾട്ടി പേജ് ലേഔട്ട് +pageLayout.header=മൾട്ടി പേജ് ലേഔട്ട് +pageLayout.pagesPerSheet=ഓരോ ഷീറ്റിലെയും പേജുകൾ: +pageLayout.addBorder=അതിരുകൾ ചേർക്കുക +pageLayout.submit=സമർപ്പിക്കുക + + +#scalePages +scalePages.title=പേജ്-സ്കെയിൽ ക്രമീകരിക്കുക +scalePages.header=പേജ്-സ്കെയിൽ ക്രമീകരിക്കുക +scalePages.pageSize=പ്രമാണത്തിലെ ഒരു പേജിന്റെ വലുപ്പം. +scalePages.keepPageSize=യഥാർത്ഥ വലുപ്പം +scalePages.scaleFactor=ഒരു പേജിന്റെ സൂം നില (ക്രോപ്പ്). +scalePages.submit=സമർപ്പിക്കുക + + +#certSign +certSign.title=സർട്ടിഫിക്കറ്റ് ഒപ്പിടൽ +certSign.header=നിങ്ങളുടെ സർട്ടിഫിക്കറ്റ് ഉപയോഗിച്ച് ഒരു PDF ഒപ്പിടുക (നിർമ്മാണത്തിലിരിക്കുന്നു) +certSign.selectPDF=ഒപ്പിടുന്നതിനായി ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക: +certSign.jksNote=ശ്രദ്ധിക്കുക: നിങ്ങളുടെ സർട്ടിഫിക്കറ്റ് തരം താഴെ ലിസ്റ്റ് ചെയ്തിട്ടില്ലെങ്കിൽ, ദയവായി കീടൂൾ കമാൻഡ് ലൈൻ ടൂൾ ഉപയോഗിച്ച് അതിനെ ഒരു ജാവ കീസ്റ്റോർ (.jks) ഫയലിലേക്ക് മാറ്റുക. തുടർന്ന്, താഴെയുള്ള .jks ഫയൽ ഓപ്ഷൻ തിരഞ്ഞെടുക്കുക. +certSign.selectKey=നിങ്ങളുടെ സ്വകാര്യ കീ ഫയൽ തിരഞ്ഞെടുക്കുക (PKCS#8 ഫോർമാറ്റ്, .pem അല്ലെങ്കിൽ .der ആകാം): +certSign.selectCert=നിങ്ങളുടെ സർട്ടിഫിക്കറ്റ് ഫയൽ തിരഞ്ഞെടുക്കുക (X.509 ഫോർമാറ്റ്, .pem അല്ലെങ്കിൽ .der ആകാം): +certSign.selectP12=നിങ്ങളുടെ PKCS#12 കീസ്റ്റോർ ഫയൽ (.p12 അല്ലെങ്കിൽ .pfx) തിരഞ്ഞെടുക്കുക (ഓപ്ഷണൽ, നൽകിയിട്ടുണ്ടെങ്കിൽ, അതിൽ നിങ്ങളുടെ സ്വകാര്യ കീയും സർട്ടിഫിക്കറ്റും അടങ്ങിയിരിക്കണം): +certSign.selectJKS=നിങ്ങളുടെ ജാവ കീസ്റ്റോർ ഫയൽ (.jks അല്ലെങ്കിൽ .keystore) തിരഞ്ഞെടുക്കുക: +certSign.certType=സർട്ടിഫിക്കറ്റ് തരം +certSign.password=നിങ്ങളുടെ കീസ്റ്റോർ അല്ലെങ്കിൽ സ്വകാര്യ കീ പാസ്‌വേഡ് നൽകുക (ഉണ്ടെങ്കിൽ): +certSign.showSig=ഒപ്പ് കാണിക്കുക +certSign.reason=കാരണം +certSign.location=സ്ഥലം +certSign.name=പേര് +certSign.showLogo=ലോഗോ കാണിക്കുക +certSign.submit=PDF ഒപ്പിടുക + + +#removeCertSign +removeCertSign.title=സർട്ടിഫിക്കറ്റ് ഒപ്പ് നീക്കം ചെയ്യുക +removeCertSign.header=PDF-ൽ നിന്ന് ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റ് നീക്കം ചെയ്യുക +removeCertSign.selectPDF=ഒരു PDF ഫയൽ തിരഞ്ഞെടുക്കുക: +removeCertSign.submit=ഒപ്പ് നീക്കം ചെയ്യുക + + +#removeBlanks +removeBlanks.title=ശൂന്യമായവ നീക്കം ചെയ്യുക +removeBlanks.header=ശൂന്യമായ പേജുകൾ നീക്കം ചെയ്യുക +removeBlanks.threshold=പിക്സൽ വെളുപ്പ് പരിധി: +removeBlanks.thresholdDesc='വെള്ള' എന്ന് തരംതിരിക്കാൻ ഒരു വെളുത്ത പിക്സൽ എത്ര വെളുത്തതായിരിക്കണം എന്ന് നിർണ്ണയിക്കുന്നതിനുള്ള പരിധി. 0 = കറുപ്പ്, 255 ശുദ്ധമായ വെളുപ്പ്. +removeBlanks.whitePercent=വെളുപ്പ് ശതമാനം (%): +removeBlanks.whitePercentDesc=നീക്കം ചെയ്യേണ്ട 'വെളുത്ത' പിക്സലുകൾ അടങ്ങിയ പേജിന്റെ ശതമാനം +removeBlanks.submit=ശൂന്യമായവ നീക്കം ചെയ്യുക + + +#removeAnnotations +removeAnnotations.title=വ്യാഖ്യാനങ്ങൾ നീക്കം ചെയ്യുക +removeAnnotations.header=വ്യാഖ്യാനങ്ങൾ നീക്കം ചെയ്യുക +removeAnnotations.submit=നീക്കം ചെയ്യുക + + +#compare +compare.title=താരതമ്യം ചെയ്യുക +compare.header=PDF-കൾ താരതമ്യം ചെയ്യുക +compare.highlightColor.1=ഹൈലൈറ്റ് നിറം 1: +compare.highlightColor.2=ഹൈലൈറ്റ് നിറം 2: +compare.document.1=പ്രമാണം 1 +compare.document.2=പ്രമാണം 2 +compare.submit=താരതമ്യം ചെയ്യുക +compare.complex.message=നൽകിയിട്ടുള്ള ഒന്നോ രണ്ടോ പ്രമാണങ്ങൾ വലിയ ഫയലുകളാണ്, താരതമ്യത്തിന്റെ കൃത്യത കുറഞ്ഞേക്കാം +compare.large.file.message=നൽകിയിട്ടുള്ള ഒന്നോ രണ്ടോ പ്രമാണങ്ങൾ പ്രോസസ്സ് ചെയ്യാൻ കഴിയാത്തത്ര വലുതാണ് +compare.no.text.message=തിരഞ്ഞെടുത്ത ഒന്നോ രണ്ടോ PDF-കളിൽ ടെക്സ്റ്റ് ഉള്ളടക്കമില്ല. താരതമ്യത്തിനായി ടെക്സ്റ്റ് ഉള്ള PDF-കൾ തിരഞ്ഞെടുക്കുക. + +#sign +sign.title=ഒപ്പിടുക +sign.header=PDF-കൾ ഒപ്പിടുക +sign.upload=ചിത്രം അപ്‌ലോഡ് ചെയ്യുക +sign.draw=ഒപ്പ് വരയ്ക്കുക +sign.text=ടെക്സ്റ്റ് ഇൻപുട്ട് +sign.clear=മായ്ക്കുക +sign.add=ചേർക്കുക +sign.saved=സംരക്ഷിച്ച ഒപ്പുകൾ +sign.save=ഒപ്പ് സംരക്ഷിക്കുക +sign.personalSigs=വ്യക്തിഗത ഒപ്പുകൾ +sign.sharedSigs=പങ്കിട്ട ഒപ്പുകൾ +sign.noSavedSigs=സംരക്ഷിച്ച ഒപ്പുകളൊന്നും കണ്ടെത്തിയില്ല +sign.addToAll=എല്ലാ പേജുകളിലേക്കും ചേർക്കുക +sign.delete=മായ്ക്കുക +sign.first=ആദ്യ പേജ് +sign.last=അവസാന പേജ് +sign.next=അടുത്ത പേജ് +sign.previous=മുമ്പത്തെ പേജ് +sign.maintainRatio=വീക്ഷണാനുപാതം നിലനിർത്തുക ടോഗിൾ ചെയ്യുക +sign.undo=പഴയപടി ആക്കുക +sign.redo=വീണ്ടും ചെയ്യുക + +#repair +repair.title=നന്നാക്കുക +repair.header=PDF-കൾ നന്നാക്കുക +repair.submit=നന്നാക്കുക + + +#flatten +flatten.title=പരത്തുക +flatten.header=PDF-കൾ പരത്തുക +flatten.flattenOnlyForms=ഫോമുകൾ മാത്രം പരത്തുക +flatten.submit=പരത്തുക + + +#ScannerImageSplit +ScannerImageSplit.selectText.1=കോൺ പരിധി: +ScannerImageSplit.selectText.2=ചിത്രം തിരിക്കുന്നതിന് ആവശ്യമായ ഏറ്റവും കുറഞ്ഞ കേവല കോൺ സജ്ജമാക്കുന്നു (സ്ഥിരസ്ഥിതി: 10). +ScannerImageSplit.selectText.3=സഹിഷ്ണുത: +ScannerImageSplit.selectText.4=കണക്കാക്കിയ പശ്ചാത്തല നിറത്തിന് ചുറ്റുമുള്ള വർണ്ണ വ്യതിയാനത്തിന്റെ പരിധി നിർണ്ണയിക്കുന്നു (സ്ഥിരസ്ഥിതി: 30). +ScannerImageSplit.selectText.5=കുറഞ്ഞ വിസ്തീർണ്ണം: +ScannerImageSplit.selectText.6=ഒരു ഫോട്ടോയ്ക്കുള്ള കുറഞ്ഞ വിസ്തീർണ്ണ പരിധി സജ്ജമാക്കുന്നു (സ്ഥിരസ്ഥിതി: 10000). +ScannerImageSplit.selectText.7=കുറഞ്ഞ കോണ്ടൂർ വിസ്തീർണ്ണം: +ScannerImageSplit.selectText.8=ഒരു ഫോട്ടോയ്ക്കുള്ള കുറഞ്ഞ കോണ്ടൂർ വിസ്തീർണ്ണ പരിധി സജ്ജമാക്കുന്നു +ScannerImageSplit.selectText.9=അതിർത്തി വലുപ്പം: +ScannerImageSplit.selectText.10=ഔട്ട്‌പുട്ടിൽ വെളുത്ത അതിരുകൾ ഉണ്ടാകുന്നത് തടയാൻ ചേർത്തതും നീക്കം ചെയ്തതുമായ അതിർത്തിയുടെ വലുപ്പം സജ്ജമാക്കുന്നു (സ്ഥിരസ്ഥിതി: 1). +ScannerImageSplit.info=പൈത്തൺ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല. ഇത് പ്രവർത്തിപ്പിക്കാൻ ആവശ്യമാണ്. + + +#OCR +ocr.title=OCR / സ്കാൻ വൃത്തിയാക്കൽ +ocr.header=സ്കാനുകൾ വൃത്തിയാക്കുക / OCR (ഒപ്റ്റിക്കൽ ക്യാരക്ടർ റെക്കഗ്നിഷൻ) +ocr.selectText.1=PDF-നുള്ളിൽ കണ്ടെത്തേണ്ട ഭാഷകൾ തിരഞ്ഞെടുക്കുക (ലിസ്റ്റ് ചെയ്തിട്ടുള്ളവ നിലവിൽ കണ്ടെത്തിയവയാണ്): +ocr.selectText.2=OCR ചെയ്ത PDF-നോടൊപ്പം OCR ടെക്സ്റ്റ് അടങ്ങിയ ടെക്സ്റ്റ് ഫയൽ നിർമ്മിക്കുക +ocr.selectText.3=ചരിഞ്ഞ കോണിൽ സ്കാൻ ചെയ്ത പേജുകൾ തിരികെ സ്ഥാനത്തേക്ക് തിരിച്ച് ശരിയാക്കുക +ocr.selectText.4=പേജ് വൃത്തിയാക്കുക, അതുവഴി OCR പശ്ചാത്തല ശബ്ദത്തിൽ ടെക്സ്റ്റ് കണ്ടെത്താനുള്ള സാധ്യത കുറവാണ്. (ഔട്ട്‌പുട്ടിൽ മാറ്റമില്ല) +ocr.selectText.5=പേജ് വൃത്തിയാക്കുക, അതുവഴി OCR പശ്ചാത്തല ശബ്ദത്തിൽ ടെക്സ്റ്റ് കണ്ടെത്താനുള്ള സാധ്യത കുറവാണ്, ഔട്ട്‌പുട്ടിൽ വൃത്തിയാക്കൽ നിലനിർത്തുന്നു. +ocr.selectText.6=ഇന്ററാക്ടീവ് ടെക്സ്റ്റ് ഉള്ള പേജുകൾ അവഗണിക്കുന്നു, ചിത്രങ്ങളായ പേജുകൾ മാത്രം OCR ചെയ്യുന്നു +ocr.selectText.7=OCR നിർബന്ധിക്കുക, എല്ലാ യഥാർത്ഥ ടെക്സ്റ്റ് ഘടകങ്ങളും നീക്കം ചെയ്തുകൊണ്ട് എല്ലാ പേജുകളും OCR ചെയ്യും +ocr.selectText.8=സാധാരണ (PDF-ൽ ടെക്സ്റ്റ് ഉണ്ടെങ്കിൽ പിശക് സംഭവിക്കും) +ocr.selectText.9=അധിക ക്രമീകരണങ്ങൾ +ocr.selectText.10=OCR മോഡ് +ocr.selectText.11=OCR-ന് ശേഷം ചിത്രങ്ങൾ നീക്കം ചെയ്യുക (എല്ലാ ചിത്രങ്ങളും നീക്കംചെയ്യുന്നു, പരിവർത്തന ഘട്ടത്തിന്റെ ഭാഗമാണെങ്കിൽ മാത്രം ഉപയോഗപ്രദം) +ocr.selectText.12=റെൻഡർ തരം (വിപുലമായത്) +ocr.help=മറ്റ് ഭാഷകൾക്കായി ഇത് എങ്ങനെ ഉപയോഗിക്കാമെന്നും കൂടാതെ/അല്ലെങ്കിൽ ഡോക്കറിൽ ഉപയോഗിക്കാതിരിക്കുന്നതിനെക്കുറിച്ചും ഈ ഡോക്യുമെന്റേഷൻ വായിക്കുക +ocr.credit=ഈ സേവനം OCR-നായി qpdf, Tesseract എന്നിവ ഉപയോഗിക്കുന്നു. +ocr.submit=OCR ഉപയോഗിച്ച് PDF പ്രോസസ്സ് ചെയ്യുക + + +#extractImages +extractImages.title=ചിത്രങ്ങൾ വേർതിരിച്ചെടുക്കുക +extractImages.header=ചിത്രങ്ങൾ വേർതിരിച്ചെടുക്കുക +extractImages.selectText=വേർതിരിച്ചെടുത്ത ചിത്രങ്ങൾ പരിവർത്തനം ചെയ്യേണ്ട ഇമേജ് ഫോർമാറ്റ് തിരഞ്ഞെടുക്കുക +extractImages.allowDuplicates=തനിപ്പകർപ്പ് ചിത്രങ്ങൾ സംരക്ഷിക്കുക +extractImages.submit=വേർതിരിച്ചെടുക്കുക + + +#File to PDF +fileToPDF.title=ഫയൽ PDF-ലേക്ക് +fileToPDF.header=ഏത് ഫയലും PDF-ലേക്ക് മാറ്റുക +fileToPDF.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice, Unoconv എന്നിവ ഉപയോഗിക്കുന്നു. +fileToPDF.supportedFileTypesInfo=പിന്തുണയ്ക്കുന്ന ഫയൽ തരങ്ങൾ +fileToPDF.supportedFileTypes=പിന്തുണയ്ക്കുന്ന ഫയൽ തരങ്ങളിൽ താഴെ പറയുന്നവ ഉൾപ്പെടുത്തണം, എന്നിരുന്നാലും പിന്തുണയ്ക്കുന്ന ഫോർമാറ്റുകളുടെ പൂർണ്ണമായ അപ്‌ഡേറ്റ് ചെയ്ത ലിസ്റ്റിനായി, ദയവായി LibreOffice ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക +fileToPDF.submit=PDF-ലേക്ക് മാറ്റുക + + +#compress +compress.title=കംപ്രസ് ചെയ്യുക +compress.header=PDF കംപ്രസ് ചെയ്യുക +compress.credit=ഈ സേവനം PDF കംപ്രസ്/ഒപ്റ്റിമൈസേഷനായി qpdf ഉപയോഗിക്കുന്നു. +compress.grayscale.label=കംപ്രഷനായി ഗ്രേസ്‌കെയിൽ പ്രയോഗിക്കുക +compress.selectText.1=കംപ്രഷൻ ക്രമീകരണങ്ങൾ +compress.selectText.1.1=1-3 PDF കംപ്രഷൻ,
4-6 ലൈറ്റ് ഇമേജ് കംപ്രഷൻ,
7-9 തീവ്രമായ ഇമേജ് കംപ്രഷൻ ചിത്രത്തിന്റെ ഗുണനിലവാരം ഗണ്യമായി കുറയ്ക്കും +compress.selectText.2=ഒപ്റ്റിമൈസേഷൻ നില: +compress.selectText.4=ഓട്ടോ മോഡ് - PDF കൃത്യമായ വലുപ്പത്തിൽ ലഭിക്കുന്നതിന് ഗുണനിലവാരം സ്വയം ക്രമീകരിക്കുന്നു +compress.selectText.5=പ്രതീക്ഷിക്കുന്ന PDF വലുപ്പം (ഉദാ. 25MB, 10.8MB, 25KB) +compress.submit=കംപ്രസ് ചെയ്യുക + + +#Add image +addImage.title=ചിത്രം ചേർക്കുക +addImage.header=PDF-ലേക്ക് ചിത്രം ചേർക്കുക +addImage.everyPage=എല്ലാ പേജിലും? +addImage.upload=ചിത്രം ചേർക്കുക +addImage.submit=ചിത്രം ചേർക്കുക + + +#merge +merge.title=ലയിപ്പിക്കുക +merge.header=ഒന്നിലധികം PDF-കൾ ലയിപ്പിക്കുക (2+) +merge.sortByName=പേര് അനുസരിച്ച് അടുക്കുക +merge.sortByDate=തീയതി അനുസരിച്ച് അടുക്കുക +merge.removeCertSign=ലയിപ്പിച്ച ഫയലിലെ ഡിജിറ്റൽ ഒപ്പ് നീക്കം ചെയ്യണോ? +merge.submit=ലയിപ്പിക്കുക + + +#pdfOrganiser +pdfOrganiser.title=പേജ് ഓർഗനൈസർ +pdfOrganiser.header=PDF പേജ് ഓർഗനൈസർ +pdfOrganiser.submit=പേജുകൾ പുനഃക്രമീകരിക്കുക +pdfOrganiser.mode=മോഡ് +pdfOrganiser.mode.1=ഇഷ്ടാനുസൃത പേജ് ക്രമം +pdfOrganiser.mode.2=വിപരീത ക്രമം +pdfOrganiser.mode.3=ഡ്യൂപ്ലെക്സ് അടുക്കൽ +pdfOrganiser.mode.4=ലഘുലേഖ അടുക്കൽ +pdfOrganiser.mode.5=സൈഡ് സ്റ്റിച്ച് ലഘുലേഖ അടുക്കൽ +pdfOrganiser.mode.6=ഒറ്റ-ഇരട്ട വിഭജനം +pdfOrganiser.mode.7=ആദ്യത്തേത് നീക്കം ചെയ്യുക +pdfOrganiser.mode.8=അവസാനത്തേത് നീക്കം ചെയ്യുക +pdfOrganiser.mode.9=ആദ്യത്തേതും അവസാനത്തേതും നീക്കം ചെയ്യുക +pdfOrganiser.mode.10=ഒറ്റ-ഇരട്ട ലയനം +pdfOrganiser.mode.11=എല്ലാ പേജുകളും തനിപ്പകർപ്പാക്കുക +pdfOrganiser.placeholder=(ഉദാ. 1,3,2 അല്ലെങ്കിൽ 4-8,2,10-12 അല്ലെങ്കിൽ 2n-1) + + +#multiTool +multiTool.title=PDF മൾട്ടി ടൂൾ +multiTool.header=PDF മൾട്ടി ടൂൾ +multiTool.uploadPrompts=ഫയലിന്റെ പേര് +multiTool.selectAll=എല്ലാം തിരഞ്ഞെടുക്കുക +multiTool.deselectAll=എല്ലാം തിരഞ്ഞെടുക്കാതിരിക്കുക +multiTool.selectPages=പേജ് തിരഞ്ഞെടുക്കുക +multiTool.selectedPages=തിരഞ്ഞെടുത്ത പേജുകൾ +multiTool.page=പേജ് +multiTool.deleteSelected=തിരഞ്ഞെടുത്തവ ഇല്ലാതാക്കുക +multiTool.downloadAll=കയറ്റുമതി ചെയ്യുക +multiTool.downloadSelected=തിരഞ്ഞെടുത്തവ കയറ്റുമതി ചെയ്യുക + +multiTool.insertPageBreak=പേജ് ബ്രേക്ക് ചേർക്കുക +multiTool.addFile=ഫയൽ ചേർക്കുക +multiTool.rotateLeft=ഇടത്തേക്ക് തിരിക്കുക +multiTool.rotateRight=വലത്തേക്ക് തിരിക്കുക +multiTool.split=വിഭജിക്കുക +multiTool.moveLeft=ഇടത്തേക്ക് നീക്കുക +multiTool.moveRight=വലത്തേക്ക് നീക്കുക +multiTool.delete=മായ്ക്കുക +multiTool.dragDropMessage=പേജ്(കൾ) തിരഞ്ഞെടുത്തു +multiTool.undo=പഴയപടി ആക്കുക +multiTool.redo=വീണ്ടും ചെയ്യുക + +#decrypt +decrypt.passwordPrompt=ഈ ഫയൽ പാസ്‌വേഡ് ഉപയോഗിച്ച് സംരക്ഷിച്ചിരിക്കുന്നു. ദയവായി പാസ്‌വേഡ് നൽകുക: +decrypt.cancelled=PDF-നായുള്ള പ്രവർത്തനം റദ്ദാക്കി: {0} +decrypt.noPassword=എൻക്രിപ്റ്റ് ചെയ്ത PDF-നായി പാസ്‌വേഡ് നൽകിയിട്ടില്ല: {0} +decrypt.invalidPassword=ദയവായി ശരിയായ പാസ്‌വേഡ് ഉപയോഗിച്ച് വീണ്ടും ശ്രമിക്കുക. +decrypt.invalidPasswordHeader=PDF-നായി തെറ്റായ പാസ്‌വേഡ് അല്ലെങ്കിൽ പിന്തുണയ്ക്കാത്ത എൻക്രിപ്ഷൻ: {0} +decrypt.unexpectedError=ഫയൽ പ്രോസസ്സ് ചെയ്യുന്നതിൽ ഒരു പിശക് സംഭവിച്ചു. ദയവായി വീണ്ടും ശ്രമിക്കുക. +decrypt.serverError=ഡീക്രിപ്റ്റ് ചെയ്യുമ്പോൾ സെർവർ പിശക്: {0} +decrypt.success=ഫയൽ വിജയകരമായി ഡീക്രിപ്റ്റ് ചെയ്തു. + +#multiTool-advert +multiTool-advert.message=ഈ സവിശേഷത ഞങ്ങളുടെ മൾട്ടി-ടൂൾ പേജിലും ലഭ്യമാണ്. മെച്ചപ്പെടുത്തിയ പേജ്-ബൈ-പേജ് യുഐയ്ക്കും അധിക സവിശേഷതകൾക്കുമായി ഇത് പരിശോധിക്കുക! + +#view pdf +viewPdf.title=PDF കാണുക/തിരുത്തുക +viewPdf.header=PDF കാണുക + +#pageRemover +pageRemover.title=പേജ് നീക്കംചെയ്യൽ ഉപകരണം +pageRemover.header=PDF പേജ് നീക്കംചെയ്യൽ ഉപകരണം +pageRemover.pagesToDelete=ഇല്ലാതാക്കേണ്ട പേജുകൾ (പേജ് നമ്പറുകളുടെ കോമയാൽ വേർതിരിച്ച ലിസ്റ്റ് നൽകുക) : +pageRemover.submit=പേജുകൾ ഇല്ലാതാക്കുക +pageRemover.placeholder=(ഉദാ. 1,2,6 അല്ലെങ്കിൽ 1-10,15-30) + + +#rotate +rotate.title=PDF തിരിക്കുക +rotate.header=PDF തിരിക്കുക +rotate.selectAngle=തിരിക്കേണ്ട കോൺ തിരഞ്ഞെടുക്കുക (90 ഡിഗ്രിയുടെ ഗുണിതങ്ങളിൽ): +rotate.submit=തിരിക്കുക + + +#split-pdfs +split.title=PDF വിഭജിക്കുക +split.header=PDF വിഭജിക്കുക +split.desc.1=നിങ്ങൾ തിരഞ്ഞെടുക്കുന്ന നമ്പറുകൾ വിഭജിക്കാൻ ആഗ്രഹിക്കുന്ന പേജ് നമ്പറാണ് +split.desc.2=അതുപോലെ 1,3,7-9 തിരഞ്ഞെടുക്കുന്നത് 10 പേജുള്ള ഒരു പ്രമാണത്തെ 6 വ്യത്യസ്ത PDF-കളായി വിഭജിക്കും: +split.desc.3=പ്രമാണം #1: പേജ് 1 +split.desc.4=പ്രമാണം #2: പേജ് 2, 3 +split.desc.5=പ്രമാണം #3: പേജ് 4, 5, 6, 7 +split.desc.6=പ്രമാണം #4: പേജ് 8 +split.desc.7=പ്രമാണം #5: പേജ് 9 +split.desc.8=പ്രമാണം #6: പേജ് 10 +split.splitPages=വിഭജിക്കേണ്ട പേജുകൾ നൽകുക: +split.submit=വിഭജിക്കുക + + +#merge +imageToPDF.title=ചിത്രം PDF-ലേക്ക് +imageToPDF.header=ചിത്രം PDF-ലേക്ക് +imageToPDF.submit=പരിവർത്തനം ചെയ്യുക +imageToPDF.selectLabel=ചിത്രം ഫിറ്റ് ഓപ്ഷനുകൾ +imageToPDF.fillPage=പേജ് നിറയ്ക്കുക +imageToPDF.fitDocumentToImage=പേജ് ചിത്രത്തിലേക്ക് ഫിറ്റ് ചെയ്യുക +imageToPDF.maintainAspectRatio=വീക്ഷണാനുപാതം നിലനിർത്തുക +imageToPDF.selectText.2=PDF സ്വയം തിരിക്കുക +imageToPDF.selectText.3=മൾട്ടി ഫയൽ ലോജിക് (ഒന്നിലധികം ചിത്രങ്ങളുമായി പ്രവർത്തിക്കുമ്പോൾ മാത്രം പ്രവർത്തനക്ഷമമാകും) +imageToPDF.selectText.4=ഒരൊറ്റ PDF-ലേക്ക് ലയിപ്പിക്കുക +imageToPDF.selectText.5=വേറിട്ട PDF-കളിലേക്ക് മാറ്റുക + + +#pdfToImage +pdfToImage.title=PDF ചിത്രത്തിലേക്ക് +pdfToImage.header=PDF ചിത്രത്തിലേക്ക് +pdfToImage.selectText=ചിത്ര ഫോർമാറ്റ് +pdfToImage.singleOrMultiple=ചിത്ര ഫല തരം +pdfToImage.single=ഒരൊറ്റ വലിയ ചിത്രം +pdfToImage.multi=ഒന്നിലധികം ചിത്രങ്ങൾ +pdfToImage.colorType=നിറ തരം +pdfToImage.color=നിറം +pdfToImage.grey=ഗ്രേസ്‌കെയിൽ +pdfToImage.blackwhite=കറുപ്പും വെളുപ്പും (ഡാറ്റ നഷ്ടപ്പെട്ടേക്കാം!) +pdfToImage.submit=പരിവർത്തനം ചെയ്യുക +pdfToImage.info=പൈത്തൺ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ല. WebP പരിവർത്തനത്തിന് ആവശ്യമാണ്. +pdfToImage.placeholder=(ഉദാ. 1,2,8 അല്ലെങ്കിൽ 4,7,12-16 അല്ലെങ്കിൽ 2n-1) + + +#addPassword +addPassword.title=പാസ്‌വേഡ് ചേർക്കുക +addPassword.header=പാസ്‌വേഡ് ചേർക്കുക (എൻക്രിപ്റ്റ് ചെയ്യുക) +addPassword.selectText.1=എൻക്രിപ്റ്റ് ചെയ്യേണ്ട PDF തിരഞ്ഞെടുക്കുക +addPassword.selectText.2=ഉപയോക്തൃ പാസ്‌വേഡ് +addPassword.selectText.3=എൻക്രിപ്ഷൻ കീ ദൈർഘ്യം +addPassword.selectText.4=ഉയർന്ന മൂല്യങ്ങൾ കൂടുതൽ ശക്തമാണ്, എന്നാൽ താഴ്ന്ന മൂല്യങ്ങൾക്ക് മികച്ച അനുയോജ്യതയുണ്ട്. +addPassword.selectText.5=സജ്ജമാക്കേണ്ട അനുമതികൾ (ഉടമയുടെ പാസ്‌വേഡിനൊപ്പം ഉപയോഗിക്കാൻ ശുപാർശ ചെയ്യുന്നു) +addPassword.selectText.6=പ്രമാണം കൂട്ടിച്ചേർക്കുന്നത് തടയുക +addPassword.selectText.7=ഉള്ളടക്കം വേർതിരിച്ചെടുക്കുന്നത് തടയുക +addPassword.selectText.8=ലഭ്യതയ്ക്കായി വേർതിരിച്ചെടുക്കുന്നത് തടയുക +addPassword.selectText.9=ഫോം പൂരിപ്പിക്കുന്നത് തടയുക +addPassword.selectText.10=പരിഷ്ക്കരണം തടയുക +addPassword.selectText.11=വ്യാഖ്യാന പരിഷ്ക്കരണം തടയുക +addPassword.selectText.12=അച്ചടി തടയുക +addPassword.selectText.13=വ്യത്യസ്ത ഫോർമാറ്റുകളിൽ അച്ചടിക്കുന്നത് തടയുക +addPassword.selectText.14=ഉടമയുടെ പാസ്‌വേഡ് +addPassword.selectText.15=പ്രമാണം തുറന്നുകഴിഞ്ഞാൽ എന്തുചെയ്യാൻ കഴിയുമെന്നത് നിയന്ത്രിക്കുന്നു (എല്ലാ റീഡറുകളും പിന്തുണയ്ക്കുന്നില്ല) +addPassword.selectText.16=പ്രമാണം തന്നെ തുറക്കുന്നത് നിയന്ത്രിക്കുന്നു +addPassword.submit=എൻക്രിപ്റ്റ് ചെയ്യുക + + +#watermark +watermark.title=വാട്ടർമാർക്ക് ചേർക്കുക +watermark.header=വാട്ടർമാർക്ക് ചേർക്കുക +watermark.customColor=ഇഷ്ടാനുസൃത ടെക്സ്റ്റ് നിറം +watermark.selectText.1=വാട്ടർമാർക്ക് ചേർക്കേണ്ട PDF തിരഞ്ഞെടുക്കുക: +watermark.selectText.2=വാട്ടർമാർക്ക് ടെക്സ്റ്റ്: +watermark.selectText.3=അക്ഷര വലുപ്പം: +watermark.selectText.4=തിരിക്കൽ (0-360): +watermark.selectText.5=വീതി സ്പേസർ (ഓരോ വാട്ടർമാർക്കിനും ഇടയിലുള്ള തിരശ്ചീനമായ സ്ഥലം): +watermark.selectText.6=ഉയരം സ്പേസർ (ഓരോ വാട്ടർമാർക്കിനും ഇടയിലുള്ള ലംബമായ സ്ഥലം): +watermark.selectText.7=അതാര്യത (0% - 100%): +watermark.selectText.8=വാട്ടർമാർക്ക് തരം: +watermark.selectText.9=വാട്ടർമാർക്ക് ചിത്രം: +watermark.selectText.10=PDF-നെ PDF-ചിത്രത്തിലേക്ക് മാറ്റുക +watermark.submit=വാട്ടർമാർക്ക് ചേർക്കുക +watermark.type.1=ടെക്സ്റ്റ് +watermark.type.2=ചിത്രം + + + + + +#Change permissions +permissions.title=അനുമതികൾ മാറ്റുക +permissions.header=അനുമതികൾ മാറ്റുക +permissions.warning=മുന്നറിയിപ്പ്: ഈ അനുമതികൾ മാറ്റാൻ കഴിയാത്തതാക്കാൻ, പാസ്‌വേഡ് ചേർക്കുക പേജ് വഴി ഒരു പാസ്‌വേഡ് ഉപയോഗിച്ച് അവ സജ്ജമാക്കാൻ ശുപാർശ ചെയ്യുന്നു +permissions.selectText.1=അനുമതികൾ മാറ്റേണ്ട PDF തിരഞ്ഞെടുക്കുക +permissions.selectText.2=സജ്ജമാക്കേണ്ട അനുമതികൾ +permissions.selectText.3=പ്രമാണം കൂട്ടിച്ചേർക്കുന്നത് തടയുക +permissions.selectText.4=ഉള്ളടക്കം വേർതിരിച്ചെടുക്കുന്നത് തടയുക +permissions.selectText.5=ലഭ്യതയ്ക്കായി വേർതിരിച്ചെടുക്കുന്നത് തടയുക +permissions.selectText.6=ഫോം പൂരിപ്പിക്കുന്നത് തടയുക +permissions.selectText.7=പരിഷ്ക്കരണം തടയുക +permissions.selectText.8=വ്യാഖ്യാന പരിഷ്ക്കരണം തടയുക +permissions.selectText.9=അച്ചടി തടയുക +permissions.selectText.10=വ്യത്യസ്ത ഫോർമാറ്റുകളിൽ അച്ചടിക്കുന്നത് തടയുക +permissions.submit=മാറ്റുക +#remove password +removePassword.title=പാസ്‌വേഡ് നീക്കം ചെയ്യുക +removePassword.header=പാസ്‌വേഡ് നീക്കം ചെയ്യുക (ഡീക്രിപ്റ്റ് ചെയ്യുക) +removePassword.selectText.1=ഡീക്രിപ്റ്റ് ചെയ്യേണ്ട PDF തിരഞ്ഞെടുക്കുക +removePassword.selectText.2=പാസ്‌വേഡ് +removePassword.submit=നീക്കം ചെയ്യുക +#changeMetadata +changeMetadata.title=തലക്കെട്ട്: +changeMetadata.header=മെറ്റാഡാറ്റ മാറ്റുക +changeMetadata.selectText.1=ദയവായി നിങ്ങൾ മാറ്റാൻ ആഗ്രഹിക്കുന്ന വേരിയബിളുകൾ തിരുത്തുക +changeMetadata.selectText.2=എല്ലാ മെറ്റാഡാറ്റയും ഇല്ലാതാക്കുക +changeMetadata.selectText.3=ഇഷ്ടാനുസൃത മെറ്റാഡാറ്റ കാണിക്കുക: +changeMetadata.author=രചയിതാവ്: +changeMetadata.creationDate=സൃഷ്ടിച്ച തീയതി (yyyy/MM/dd HH:mm:ss): +changeMetadata.creator=സ്രഷ്ടാവ്: +changeMetadata.keywords=കീവേഡുകൾ: +changeMetadata.modDate=പരിഷ്ക്കരിച്ച തീയതി (yyyy/MM/dd HH:mm:ss): +changeMetadata.producer=നിർമ്മാതാവ്: +changeMetadata.subject=വിഷയം: +changeMetadata.trapped=ട്രാപ്പ്ഡ്: +changeMetadata.selectText.4=മറ്റ് മെറ്റാഡാറ്റ: +changeMetadata.selectText.5=ഇഷ്ടാനുസൃത മെറ്റാഡാറ്റ എൻട്രി ചേർക്കുക +changeMetadata.submit=മാറ്റുക +#unlockPDFForms +unlockPDFForms.title=ഫോം ഫീൽഡുകളിൽ നിന്ന് റീഡ്-ഒൺലി നീക്കം ചെയ്യുക +unlockPDFForms.header=PDF ഫോമുകൾ അൺലോക്ക് ചെയ്യുക +unlockPDFForms.submit=നീക്കം ചെയ്യുക +#pdfToPDFA +pdfToPDFA.title=PDF PDF/A-ലേക്ക് +pdfToPDFA.header=PDF PDF/A-ലേക്ക് +pdfToPDFA.credit=ഈ സേവനം PDF/A പരിവർത്തനത്തിനായി libreoffice ഉപയോഗിക്കുന്നു +pdfToPDFA.submit=പരിവർത്തനം ചെയ്യുക +pdfToPDFA.tip=നിലവിൽ ഒരേസമയം ഒന്നിലധികം ഇൻപുട്ടുകൾക്കായി പ്രവർത്തിക്കുന്നില്ല +pdfToPDFA.outputFormat=ഔട്ട്‌പുട്ട് ഫോർമാറ്റ് +pdfToPDFA.pdfWithDigitalSignature=PDF-ൽ ഒരു ഡിജിറ്റൽ ഒപ്പ് അടങ്ങിയിരിക്കുന്നു. അടുത്ത ഘട്ടത്തിൽ ഇത് നീക്കം ചെയ്യപ്പെടും. +#PDFToWord +PDFToWord.title=PDF വേഡിലേക്ക് +PDFToWord.header=PDF വേഡിലേക്ക് +PDFToWord.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് +PDFToWord.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. +PDFToWord.submit=പരിവർത്തനം ചെയ്യുക +#PDFToPresentation +PDFToPresentation.title=PDF പ്രസന്റേഷനിലേക്ക് +PDFToPresentation.header=PDF പ്രസന്റേഷനിലേക്ക് +PDFToPresentation.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് +PDFToPresentation.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. +PDFToPresentation.submit=പരിവർത്തനം ചെയ്യുക +#PDFToText +PDFToText.title=PDF RTF-ലേക്ക് (ടെക്സ്റ്റ്) +PDFToText.header=PDF RTF-ലേക്ക് (ടെക്സ്റ്റ്) +PDFToText.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് +PDFToText.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. +PDFToText.submit=പരിവർത്തനം ചെയ്യുക +#PDFToHTML +PDFToHTML.title=PDF HTML-ലേക്ക് +PDFToHTML.header=PDF HTML-ലേക്ക് +PDFToHTML.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി pdftohtml ഉപയോഗിക്കുന്നു. +PDFToHTML.submit=പരിവർത്തനം ചെയ്യുക +#PDFToXML +PDFToXML.title=PDF XML-ലേക്ക് +PDFToXML.header=PDF XML-ലേക്ക് +PDFToXML.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. +PDFToXML.submit=പരിവർത്തനം ചെയ്യുക +#PDFToCSV +PDFToCSV.title=PDF CSV-ലേക്ക് +PDFToCSV.header=PDF CSV-ലേക്ക് +PDFToCSV.prompt=പട്ടിക വേർതിരിച്ചെടുക്കാൻ പേജ് തിരഞ്ഞെടുക്കുക +PDFToCSV.submit=വേർതിരിച്ചെടുക്കുക +#split-by-size-or-count +split-by-size-or-count.title=വലുപ്പം അല്ലെങ്കിൽ എണ്ണം അനുസരിച്ച് PDF വിഭജിക്കുക +split-by-size-or-count.header=വലുപ്പം അല്ലെങ്കിൽ എണ്ണം അനുസരിച്ച് PDF വിഭജിക്കുക +split-by-size-or-count.type.label=വിഭജന തരം തിരഞ്ഞെടുക്കുക +split-by-size-or-count.type.size=വലുപ്പം അനുസരിച്ച് +split-by-size-or-count.type.pageCount=പേജ് എണ്ണം അനുസരിച്ച് +split-by-size-or-count.type.docCount=പ്രമാണങ്ങളുടെ എണ്ണം അനുസരിച്ച് +split-by-size-or-count.value.label=മൂല്യം നൽകുക +split-by-size-or-count.value.placeholder=വലുപ്പം (ഉദാ., 2MB അല്ലെങ്കിൽ 3KB) അല്ലെങ്കിൽ എണ്ണം (ഉദാ., 5) നൽകുക +split-by-size-or-count.submit=സമർപ്പിക്കുക +#overlay-pdfs +overlay-pdfs.header=PDF ഫയലുകൾ ഓവർലേ ചെയ്യുക +overlay-pdfs.baseFile.label=അടിസ്ഥാന PDF ഫയൽ തിരഞ്ഞെടുക്കുക +overlay-pdfs.overlayFiles.label=ഓവർലേ PDF ഫയലുകൾ തിരഞ്ഞെടുക്കുക +overlay-pdfs.mode.label=ഓവർലേ മോഡ് തിരഞ്ഞെടുക്കുക +overlay-pdfs.mode.sequential=ക്രമീകൃത ഓവർലേ +overlay-pdfs.mode.interleaved=ഇടകലർന്ന ഓവർലേ +overlay-pdfs.mode.fixedRepeat=നിശ്ചിത ആവർത്തന ഓവർലേ +overlay-pdfs.counts.label=ഓവർലേ എണ്ണം (നിശ്ചിത ആവർത്തന മോഡിനായി) +overlay-pdfs.counts.placeholder=കോമയാൽ വേർതിരിച്ച എണ്ണം നൽകുക (ഉദാ., 2,3,1) +overlay-pdfs.position.label=ഓവർലേ സ്ഥാനം തിരഞ്ഞെടുക്കുക +overlay-pdfs.position.foreground=മുൻഭാഗം +overlay-pdfs.position.background=പശ്ചാത്തലം +overlay-pdfs.submit=സമർപ്പിക്കുക +#split-by-sections +split-by-sections.title=വിഭാഗങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക +split-by-sections.header=PDF വിഭാഗങ്ങളായി വിഭജിക്കുക +split-by-sections.horizontal.label=തിരശ്ചീന വിഭജനങ്ങൾ +split-by-sections.vertical.label=ലംബ വിഭജനങ്ങൾ +split-by-sections.horizontal.placeholder=തിരശ്ചീന വിഭജനങ്ങളുടെ എണ്ണം നൽകുക +split-by-sections.vertical.placeholder=ലംബ വിഭജനങ്ങളുടെ എണ്ണം നൽകുക +split-by-sections.submit=PDF വിഭജിക്കുക +split-by-sections.merge=ഒരൊറ്റ PDF-ലേക്ക് ലയിപ്പിക്കുക +#printFile +printFile.title=ഫയൽ അച്ചടിക്കുക +printFile.header=പ്രിന്ററിലേക്ക് ഫയൽ അച്ചടിക്കുക +printFile.selectText.1=അച്ചടിക്കേണ്ട ഫയൽ തിരഞ്ഞെടുക്കുക +printFile.selectText.2=പ്രിന്റർ പേര് നൽകുക +printFile.submit=അച്ചടിക്കുക +#licenses +licenses.nav=ലൈസൻസുകൾ +licenses.title=മൂന്നാം കക്ഷി ലൈസൻസുകൾ +licenses.header=മൂന്നാം കക്ഷി ലൈസൻസുകൾ +licenses.module=ഘടകം +licenses.version=പതിപ്പ് +licenses.license=ലൈസൻസ് +#survey +survey.nav=സർവേ +survey.title=സ്റ്റെർലിംഗ്-PDF സർവേ +survey.description=സ്റ്റെർലിംഗ്-PDF-ന് ട്രാക്കിംഗ് ഇല്ല, അതിനാൽ സ്റ്റെർലിംഗ്-PDF മെച്ചപ്പെടുത്തുന്നതിന് ഞങ്ങളുടെ ഉപയോക്താക്കളിൽ നിന്ന് കേൾക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു! +survey.changes=അവസാന സർവേയ്ക്ക് ശേഷം സ്റ്റെർലിംഗ്-PDF മാറിയിരിക്കുന്നു! കൂടുതൽ വിവരങ്ങൾക്കായി ദയവായി ഞങ്ങളുടെ ബ്ലോഗ് പോസ്റ്റ് ഇവിടെ പരിശോധിക്കുക: +survey.changes2=ഈ മാറ്റങ്ങളോടെ ഞങ്ങൾക്ക് പണമടച്ചുള്ള ബിസിനസ് പിന്തുണയും ഫണ്ടിംഗും ലഭിക്കുന്നു +survey.please=ദയവായി ഞങ്ങളുടെ സർവേ എടുക്കുന്നത് പരിഗണിക്കുക! +survey.disabled=(സർവേ പോപ്പ്അപ്പ് തുടർന്നുള്ള അപ്‌ഡേറ്റുകളിൽ പ്രവർത്തനരഹിതമാക്കും, എന്നാൽ പേജിന്റെ താഴെ ലഭ്യമാകും) +survey.button=സർവേ എടുക്കുക +survey.dontShowAgain=വീണ്ടും കാണിക്കരുത് +survey.meeting.1=നിങ്ങൾ ജോലിസ്ഥലത്ത് സ്റ്റെർലിംഗ് PDF ഉപയോഗിക്കുകയാണെങ്കിൽ, നിങ്ങളുമായി സംസാരിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. 15 മിനിറ്റ് ഉപയോക്തൃ കണ്ടെത്തൽ സെഷന് പകരമായി ഞങ്ങൾ സാങ്കേതിക പിന്തുണാ സെഷനുകൾ വാഗ്ദാനം ചെയ്യുന്നു. +survey.meeting.2=ഇതൊരു അവസരമാണ്: +survey.meeting.3=വിന്യാസം, സംയോജനം, അല്ലെങ്കിൽ ട്രബിൾഷൂട്ടിംഗ് എന്നിവയിൽ സഹായം നേടുക +survey.meeting.4=പ്രകടനം, എഡ്ജ് കേസുകൾ, ഫീച്ചർ വിടവുകൾ എന്നിവയെക്കുറിച്ച് നേരിട്ടുള്ള ഫീഡ്‌ബാക്ക് നൽകുക +survey.meeting.5=യഥാർത്ഥ ലോക എന്റർപ്രൈസ് ഉപയോഗത്തിനായി സ്റ്റെർലിംഗ് PDF പരിഷ്കരിക്കാൻ ഞങ്ങളെ സഹായിക്കുക +survey.meeting.6=നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ, ഞങ്ങളുടെ ടീമുമായി നേരിട്ട് സമയം ബുക്ക് ചെയ്യാം. (ഇംഗ്ലീഷ് സംസാരിക്കുന്നവർ മാത്രം) +survey.meeting.7=നിങ്ങളുടെ ഉപയോഗ കേസുകളിലേക്ക് ആഴത്തിൽ ഇറങ്ങിച്ചെല്ലാനും സ്റ്റെർലിംഗ് PDF കൂടുതൽ മികച്ചതാക്കാനും ഞങ്ങൾ ആകാംക്ഷയോടെ കാത്തിരിക്കുന്നു! +survey.meeting.notInterested=ഒരു ബിസിനസ്സ് അല്ല കൂടാതെ/അല്ലെങ്കിൽ ഒരു മീറ്റിംഗിൽ താൽപ്പര്യമില്ലേ? +survey.meeting.button=മീറ്റിംഗ് ബുക്ക് ചെയ്യുക +#error +error.sorry=പ്രശ്നത്തിന് ക്ഷമിക്കുക! +error.needHelp=സഹായം വേണോ / ഒരു പ്രശ്നം കണ്ടെത്തിയോ? +error.contactTip=നിങ്ങൾക്ക് ഇപ്പോഴും പ്രശ്‌നമുണ്ടെങ്കിൽ, സഹായത്തിനായി ഞങ്ങളെ ബന്ധപ്പെടാൻ മടിക്കരുത്. ഞങ്ങളുടെ GitHub പേജിൽ നിങ്ങൾക്ക് ഒരു ടിക്കറ്റ് സമർപ്പിക്കാം അല്ലെങ്കിൽ Discord വഴി ഞങ്ങളെ ബന്ധപ്പെടാം: +error.404.head=404 - പേജ് കണ്ടെത്തിയില്ല | അയ്യോ, ഞങ്ങൾ കോഡിൽ തട്ടി വീണു! +error.404.1=നിങ്ങൾ തിരയുന്ന പേജ് ഞങ്ങൾക്ക് കണ്ടെത്താൻ കഴിയുന്നില്ല. +error.404.2=എന്തോ കുഴപ്പം സംഭവിച്ചു +error.github=GitHub-ൽ ഒരു ടിക്കറ്റ് സമർപ്പിക്കുക +error.showStack=സ്റ്റാക്ക് ട്രേസ് കാണിക്കുക +error.copyStack=സ്റ്റാക്ക് ട്രേസ് പകർത്തുക +error.githubSubmit=GitHub - ഒരു ടിക്കറ്റ് സമർപ്പിക്കുക +error.discordSubmit=Discord - പിന്തുണാ പോസ്റ്റ് സമർപ്പിക്കുക +#remove-image +removeImage.title=ചിത്രം നീക്കം ചെയ്യുക +removeImage.header=ചിത്രം നീക്കം ചെയ്യുക +removeImage.removeImage=ചിത്രം നീക്കം ചെയ്യുക +removeImage.submit=ചിത്രം നീക്കം ചെയ്യുക +splitByChapters.title=അധ്യായങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക +splitByChapters.header=അധ്യായങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക +splitByChapters.bookmarkLevel=ബുക്ക്മാർക്ക് നില +splitByChapters.includeMetadata=മെറ്റാഡാറ്റ ഉൾപ്പെടുത്തുക +splitByChapters.allowDuplicates=തനിപ്പകർപ്പുകൾ അനുവദിക്കുക +splitByChapters.desc.1=ഈ ഉപകരണം ഒരു PDF ഫയലിനെ അതിന്റെ അധ്യായ ഘടനയെ അടിസ്ഥാനമാക്കി ഒന്നിലധികം PDF-കളായി വിഭജിക്കുന്നു. +splitByChapters.desc.2=ബുക്ക്മാർക്ക് നില: വിഭജനത്തിനായി ഉപയോഗിക്കേണ്ട ബുക്ക്മാർക്കുകളുടെ നില തിരഞ്ഞെടുക്കുക (ഉന്നത നിലയ്ക്ക് 0, രണ്ടാം നിലയ്ക്ക് 1, മുതലായവ). +splitByChapters.desc.3=മെറ്റാഡാറ്റ ഉൾപ്പെടുത്തുക: ചെക്ക് ചെയ്താൽ, യഥാർത്ഥ PDF-ന്റെ മെറ്റാഡാറ്റ ഓരോ വിഭജിച്ച PDF-ലും ഉൾപ്പെടുത്തും. +splitByChapters.desc.4=തനിപ്പകർപ്പുകൾ അനുവദിക്കുക: ചെക്ക് ചെയ്താൽ, ഒരേ പേജിലെ ഒന്നിലധികം ബുക്ക്മാർക്കുകൾക്ക് പ്രത്യേക PDF-കൾ സൃഷ്ടിക്കാൻ അനുവദിക്കുന്നു. +splitByChapters.submit=PDF വിഭജിക്കുക +#File Chooser +fileChooser.click=ക്ലിക്ക് ചെയ്യുക +fileChooser.or=അല്ലെങ്കിൽ +fileChooser.dragAndDrop=വലിച്ചിടുക +fileChooser.dragAndDropPDF=PDF ഫയൽ വലിച്ചിടുക +fileChooser.dragAndDropImage=ചിത്ര ഫയൽ വലിച്ചിടുക +fileChooser.hoveredDragAndDrop=ഫയൽ(കൾ) ഇവിടെ വലിച്ചിടുക +fileChooser.extractPDF=വേർതിരിച്ചെടുക്കുന്നു... +#release notes +releases.footer=റിലീസുകൾ +releases.title=റിലീസ് കുറിപ്പുകൾ +releases.header=റിലീസ് കുറിപ്പുകൾ +releases.current.version=നിലവിലെ റിലീസ് +releases.note=റിലീസ് കുറിപ്പുകൾ ഇംഗ്ലീഷിൽ മാത്രമേ ലഭ്യമാകൂ +#Validate Signature +validateSignature.title=PDF ഒപ്പുകൾ സാധൂകരിക്കുക +validateSignature.header=ഡിജിറ്റൽ ഒപ്പുകൾ സാധൂകരിക്കുക +validateSignature.selectPDF=ഒപ്പിട്ട PDF ഫയൽ തിരഞ്ഞെടുക്കുക +validateSignature.submit=ഒപ്പുകൾ സാധൂകരിക്കുക +validateSignature.results=സാധൂകരണ ഫലങ്ങൾ +validateSignature.status=സ്ഥിതി +validateSignature.signer=ഒപ്പിട്ടയാൾ +validateSignature.date=തീയതി +validateSignature.reason=കാരണം +validateSignature.location=സ്ഥലം +validateSignature.noSignatures=ഈ പ്രമാണത്തിൽ ഡിജിറ്റൽ ഒപ്പുകളൊന്നും കണ്ടെത്തിയില്ല +validateSignature.status.valid=സാധുവാണ് +validateSignature.status.invalid=അസാധുവാണ് +validateSignature.chain.invalid=സർട്ടിഫിക്കറ്റ് ശൃംഖല സാധൂകരണം പരാജയപ്പെട്ടു - ഒപ്പിട്ടയാളുടെ ഐഡന്റിറ്റി പരിശോധിക്കാൻ കഴിയില്ല +validateSignature.trust.invalid=സർട്ടിഫിക്കറ്റ് ട്രസ്റ്റ് സ്റ്റോറിൽ ഇല്ല - ഉറവിടം പരിശോധിക്കാൻ കഴിയില്ല +validateSignature.cert.expired=സർട്ടിഫിക്കറ്റ് കാലഹരണപ്പെട്ടു +validateSignature.cert.revoked=സർട്ടിഫിക്കറ്റ് റദ്ദാക്കിയിരിക്കുന്നു +validateSignature.signature.info=ഒപ്പ് വിവരങ്ങൾ +validateSignature.signature=ഒപ്പ് +validateSignature.signature.mathValid=ഒപ്പ് ഗണിതശാസ്ത്രപരമായി സാധുവാണ് പക്ഷേ: +validateSignature.selectCustomCert=ഇഷ്ടാനുസൃത സർട്ടിഫിക്കറ്റ് ഫയൽ X.509 (ഓപ്ഷണൽ) +validateSignature.cert.info=സർട്ടിഫിക്കറ്റ് വിശദാംശങ്ങൾ +validateSignature.cert.issuer=നൽകിയയാൾ +validateSignature.cert.subject=വിഷയം +validateSignature.cert.serialNumber=സീരിയൽ നമ്പർ +validateSignature.cert.validFrom=മുതൽ സാധുവാണ് +validateSignature.cert.validUntil=വരെ സാധുവാണ് +validateSignature.cert.algorithm=അൽഗോരിതം +validateSignature.cert.keySize=കീ വലുപ്പം +validateSignature.cert.version=പതിപ്പ് +validateSignature.cert.keyUsage=കീ ഉപയോഗം +validateSignature.cert.selfSigned=സ്വയം ഒപ്പിട്ടത് +validateSignature.cert.bits=ബിറ്റുകൾ +#################### +Cookie banner +#################### +cookieBanner.popUp.title=ഞങ്ങൾ കുക്കികൾ എങ്ങനെ ഉപയോഗിക്കുന്നു +cookieBanner.popUp.description.1=സ്റ്റെർലിംഗ് PDF നിങ്ങൾക്ക് മികച്ച രീതിയിൽ പ്രവർത്തിക്കാൻ ഞങ്ങൾ കുക്കികളും മറ്റ് സാങ്കേതികവിദ്യകളും ഉപയോഗിക്കുന്നു—ഞങ്ങളുടെ ടൂളുകൾ മെച്ചപ്പെടുത്താനും നിങ്ങൾ ഇഷ്ടപ്പെടുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നത് തുടരാനും ഇത് ഞങ്ങളെ സഹായിക്കുന്നു. +cookieBanner.popUp.description.2=നിങ്ങൾക്ക് താൽപ്പര്യമില്ലെങ്കിൽ, 'വേണ്ട നന്ദി' ക്ലിക്ക് ചെയ്യുന്നത് കാര്യങ്ങൾ സുഗമമായി പ്രവർത്തിക്കാൻ ആവശ്യമായ അവശ്യ കുക്കികൾ മാത്രം പ്രവർത്തനക്ഷമമാക്കും. +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=കുക്കി ഉപയോഗം +cookieBanner.preferencesModal.description.1=നിങ്ങളുടെ അനുഭവം മെച്ചപ്പെടുത്തുന്നതിനും ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കുന്നതിനും സ്റ്റെർലിംഗ് PDF കുക്കികളും സമാന സാങ്കേതികവിദ്യകളും ഉപയോഗിക്കുന്നു. പ്രകടനം മെച്ചപ്പെടുത്താനും നിങ്ങൾ വിലമതിക്കുന്ന ഫീച്ചറുകൾ വികസിപ്പിക്കാനും ഞങ്ങളുടെ ഉപയോക്താക്കൾക്ക് തുടർന്നും പിന്തുണ നൽകാനും ഇത് ഞങ്ങളെ സഹായിക്കുന്നു. +cookieBanner.preferencesModal.description.2=സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ ഉപയോഗിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാനോ ആക്‌സസ് ചെയ്യാനോ കഴിയില്ല—ഒരിക്കലും കഴിയില്ല. +cookieBanner.preferencesModal.description.3=നിങ്ങളുടെ സ്വകാര്യതയും വിശ്വാസവുമാണ് ഞങ്ങൾ ചെയ്യുന്നതിന്റെ കാതൽ. +cookieBanner.preferencesModal.necessary.title.1=കർശനമായി ആവശ്യമായ കുക്കികൾ +cookieBanner.preferencesModal.necessary.title.2=എപ്പോഴും പ്രവർത്തനക്ഷമം +cookieBanner.preferencesModal.necessary.description=വെബ്സൈറ്റ് ശരിയായി പ്രവർത്തിക്കാൻ ഈ കുക്കികൾ അത്യാവശ്യമാണ്. നിങ്ങളുടെ സ്വകാര്യതാ മുൻഗണനകൾ സജ്ജമാക്കുക, ലോഗിൻ ചെയ്യുക, ഫോമുകൾ പൂരിപ്പിക്കുക തുടങ്ങിയ പ്രധാന സവിശേഷതകൾ അവ പ്രവർത്തനക്ഷമമാക്കുന്നു—അതുകൊണ്ടാണ് അവ ഓഫാക്കാൻ കഴിയാത്തത്. +cookieBanner.preferencesModal.analytics.title=അനലിറ്റിക്സ് +cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല. \ No newline at end of file diff --git a/src/main/resources/templates/fragments/languages.html b/src/main/resources/templates/fragments/languages.html index 3a01449c9..e987ea2b3 100644 --- a/src/main/resources/templates/fragments/languages.html +++ b/src/main/resources/templates/fragments/languages.html @@ -1,43 +1,44 @@ -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- +
+
\ No newline at end of file From 780a1d2835745b4b0720e475da6a4e69db415ad6 Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Sat, 10 May 2025 18:55:19 +0100 Subject: [PATCH 10/19] :globe_with_meridians: Sync Translations + Update README Progress Table (#3508) ### Description of Changes This Pull Request was automatically generated to synchronize updates to translation files and documentation. Below are the details of the changes made: #### **1. Synchronization of Translation Files** - Updated translation files (`messages_*.properties`) to reflect changes in the reference file `messages_en_GB.properties`. - Ensured consistency and synchronization across all supported language files. - Highlighted any missing or incomplete translations. #### **2. Update README.md** - Generated the translation progress table in `README.md`. - Added a summary of the current translation status for all supported languages. - Included up-to-date statistics on translation coverage. #### **Why these changes are necessary** - Keeps translation files aligned with the latest reference updates. - Ensures the documentation reflects the current translation progress. --- Auto-generated by [create-pull-request][1]. [1]: https://github.com/peter-evans/create-pull-request Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- src/main/resources/messages_ml_ML.properties | 44 +++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/main/resources/messages_ml_ML.properties b/src/main/resources/messages_ml_ML.properties index 267f1c993..aa6c31a6b 100644 --- a/src/main/resources/messages_ml_ML.properties +++ b/src/main/resources/messages_ml_ML.properties @@ -1153,9 +1153,6 @@ watermark.type.1=ടെക്സ്റ്റ് watermark.type.2=ചിത്രം - - - #Change permissions permissions.title=അനുമതികൾ മാറ്റുക permissions.header=അനുമതികൾ മാറ്റുക @@ -1171,12 +1168,16 @@ permissions.selectText.8=വ്യാഖ്യാന പരിഷ്ക്കര permissions.selectText.9=അച്ചടി തടയുക permissions.selectText.10=വ്യത്യസ്ത ഫോർമാറ്റുകളിൽ അച്ചടിക്കുന്നത് തടയുക permissions.submit=മാറ്റുക + + #remove password removePassword.title=പാസ്‌വേഡ് നീക്കം ചെയ്യുക removePassword.header=പാസ്‌വേഡ് നീക്കം ചെയ്യുക (ഡീക്രിപ്റ്റ് ചെയ്യുക) removePassword.selectText.1=ഡീക്രിപ്റ്റ് ചെയ്യേണ്ട PDF തിരഞ്ഞെടുക്കുക removePassword.selectText.2=പാസ്‌വേഡ് removePassword.submit=നീക്കം ചെയ്യുക + + #changeMetadata changeMetadata.title=തലക്കെട്ട്: changeMetadata.header=മെറ്റാഡാറ്റ മാറ്റുക @@ -1194,10 +1195,12 @@ changeMetadata.trapped=ട്രാപ്പ്ഡ്: changeMetadata.selectText.4=മറ്റ് മെറ്റാഡാറ്റ: changeMetadata.selectText.5=ഇഷ്ടാനുസൃത മെറ്റാഡാറ്റ എൻട്രി ചേർക്കുക changeMetadata.submit=മാറ്റുക + #unlockPDFForms unlockPDFForms.title=ഫോം ഫീൽഡുകളിൽ നിന്ന് റീഡ്-ഒൺലി നീക്കം ചെയ്യുക unlockPDFForms.header=PDF ഫോമുകൾ അൺലോക്ക് ചെയ്യുക unlockPDFForms.submit=നീക്കം ചെയ്യുക + #pdfToPDFA pdfToPDFA.title=PDF PDF/A-ലേക്ക് pdfToPDFA.header=PDF PDF/A-ലേക്ക് @@ -1206,39 +1209,51 @@ pdfToPDFA.submit=പരിവർത്തനം ചെയ്യുക pdfToPDFA.tip=നിലവിൽ ഒരേസമയം ഒന്നിലധികം ഇൻപുട്ടുകൾക്കായി പ്രവർത്തിക്കുന്നില്ല pdfToPDFA.outputFormat=ഔട്ട്‌പുട്ട് ഫോർമാറ്റ് pdfToPDFA.pdfWithDigitalSignature=PDF-ൽ ഒരു ഡിജിറ്റൽ ഒപ്പ് അടങ്ങിയിരിക്കുന്നു. അടുത്ത ഘട്ടത്തിൽ ഇത് നീക്കം ചെയ്യപ്പെടും. + + #PDFToWord PDFToWord.title=PDF വേഡിലേക്ക് PDFToWord.header=PDF വേഡിലേക്ക് PDFToWord.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് PDFToWord.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. PDFToWord.submit=പരിവർത്തനം ചെയ്യുക + + #PDFToPresentation PDFToPresentation.title=PDF പ്രസന്റേഷനിലേക്ക് PDFToPresentation.header=PDF പ്രസന്റേഷനിലേക്ക് PDFToPresentation.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് PDFToPresentation.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. PDFToPresentation.submit=പരിവർത്തനം ചെയ്യുക + + #PDFToText PDFToText.title=PDF RTF-ലേക്ക് (ടെക്സ്റ്റ്) PDFToText.header=PDF RTF-ലേക്ക് (ടെക്സ്റ്റ്) PDFToText.selectText.1=ഔട്ട്‌പുട്ട് ഫയൽ ഫോർമാറ്റ് PDFToText.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. PDFToText.submit=പരിവർത്തനം ചെയ്യുക + + #PDFToHTML PDFToHTML.title=PDF HTML-ലേക്ക് PDFToHTML.header=PDF HTML-ലേക്ക് PDFToHTML.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി pdftohtml ഉപയോഗിക്കുന്നു. PDFToHTML.submit=പരിവർത്തനം ചെയ്യുക + + #PDFToXML PDFToXML.title=PDF XML-ലേക്ക് PDFToXML.header=PDF XML-ലേക്ക് PDFToXML.credit=ഈ സേവനം ഫയൽ പരിവർത്തനത്തിനായി LibreOffice ഉപയോഗിക്കുന്നു. PDFToXML.submit=പരിവർത്തനം ചെയ്യുക + #PDFToCSV PDFToCSV.title=PDF CSV-ലേക്ക് PDFToCSV.header=PDF CSV-ലേക്ക് PDFToCSV.prompt=പട്ടിക വേർതിരിച്ചെടുക്കാൻ പേജ് തിരഞ്ഞെടുക്കുക PDFToCSV.submit=വേർതിരിച്ചെടുക്കുക + #split-by-size-or-count split-by-size-or-count.title=വലുപ്പം അല്ലെങ്കിൽ എണ്ണം അനുസരിച്ച് PDF വിഭജിക്കുക split-by-size-or-count.header=വലുപ്പം അല്ലെങ്കിൽ എണ്ണം അനുസരിച്ച് PDF വിഭജിക്കുക @@ -1249,6 +1264,8 @@ split-by-size-or-count.type.docCount=പ്രമാണങ്ങളുടെ എ split-by-size-or-count.value.label=മൂല്യം നൽകുക split-by-size-or-count.value.placeholder=വലുപ്പം (ഉദാ., 2MB അല്ലെങ്കിൽ 3KB) അല്ലെങ്കിൽ എണ്ണം (ഉദാ., 5) നൽകുക split-by-size-or-count.submit=സമർപ്പിക്കുക + + #overlay-pdfs overlay-pdfs.header=PDF ഫയലുകൾ ഓവർലേ ചെയ്യുക overlay-pdfs.baseFile.label=അടിസ്ഥാന PDF ഫയൽ തിരഞ്ഞെടുക്കുക @@ -1263,6 +1280,8 @@ overlay-pdfs.position.label=ഓവർലേ സ്ഥാനം തിരഞ് overlay-pdfs.position.foreground=മുൻഭാഗം overlay-pdfs.position.background=പശ്ചാത്തലം overlay-pdfs.submit=സമർപ്പിക്കുക + + #split-by-sections split-by-sections.title=വിഭാഗങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക split-by-sections.header=PDF വിഭാഗങ്ങളായി വിഭജിക്കുക @@ -1272,12 +1291,16 @@ split-by-sections.horizontal.placeholder=തിരശ്ചീന വിഭജ split-by-sections.vertical.placeholder=ലംബ വിഭജനങ്ങളുടെ എണ്ണം നൽകുക split-by-sections.submit=PDF വിഭജിക്കുക split-by-sections.merge=ഒരൊറ്റ PDF-ലേക്ക് ലയിപ്പിക്കുക + + #printFile printFile.title=ഫയൽ അച്ചടിക്കുക printFile.header=പ്രിന്ററിലേക്ക് ഫയൽ അച്ചടിക്കുക printFile.selectText.1=അച്ചടിക്കേണ്ട ഫയൽ തിരഞ്ഞെടുക്കുക printFile.selectText.2=പ്രിന്റർ പേര് നൽകുക printFile.submit=അച്ചടിക്കുക + + #licenses licenses.nav=ലൈസൻസുകൾ licenses.title=മൂന്നാം കക്ഷി ലൈസൻസുകൾ @@ -1285,6 +1308,7 @@ licenses.header=മൂന്നാം കക്ഷി ലൈസൻസുകൾ licenses.module=ഘടകം licenses.version=പതിപ്പ് licenses.license=ലൈസൻസ് + #survey survey.nav=സർവേ survey.title=സ്റ്റെർലിംഗ്-PDF സർവേ @@ -1304,6 +1328,7 @@ survey.meeting.6=നിങ്ങൾക്ക് താൽപ്പര്യമ survey.meeting.7=നിങ്ങളുടെ ഉപയോഗ കേസുകളിലേക്ക് ആഴത്തിൽ ഇറങ്ങിച്ചെല്ലാനും സ്റ്റെർലിംഗ് PDF കൂടുതൽ മികച്ചതാക്കാനും ഞങ്ങൾ ആകാംക്ഷയോടെ കാത്തിരിക്കുന്നു! survey.meeting.notInterested=ഒരു ബിസിനസ്സ് അല്ല കൂടാതെ/അല്ലെങ്കിൽ ഒരു മീറ്റിംഗിൽ താൽപ്പര്യമില്ലേ? survey.meeting.button=മീറ്റിംഗ് ബുക്ക് ചെയ്യുക + #error error.sorry=പ്രശ്നത്തിന് ക്ഷമിക്കുക! error.needHelp=സഹായം വേണോ / ഒരു പ്രശ്നം കണ്ടെത്തിയോ? @@ -1316,11 +1341,15 @@ error.showStack=സ്റ്റാക്ക് ട്രേസ് കാണി error.copyStack=സ്റ്റാക്ക് ട്രേസ് പകർത്തുക error.githubSubmit=GitHub - ഒരു ടിക്കറ്റ് സമർപ്പിക്കുക error.discordSubmit=Discord - പിന്തുണാ പോസ്റ്റ് സമർപ്പിക്കുക + + #remove-image removeImage.title=ചിത്രം നീക്കം ചെയ്യുക removeImage.header=ചിത്രം നീക്കം ചെയ്യുക removeImage.removeImage=ചിത്രം നീക്കം ചെയ്യുക removeImage.submit=ചിത്രം നീക്കം ചെയ്യുക + + splitByChapters.title=അധ്യായങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക splitByChapters.header=അധ്യായങ്ങൾ അനുസരിച്ച് PDF വിഭജിക്കുക splitByChapters.bookmarkLevel=ബുക്ക്മാർക്ക് നില @@ -1331,6 +1360,7 @@ splitByChapters.desc.2=ബുക്ക്മാർക്ക് നില: വി splitByChapters.desc.3=മെറ്റാഡാറ്റ ഉൾപ്പെടുത്തുക: ചെക്ക് ചെയ്താൽ, യഥാർത്ഥ PDF-ന്റെ മെറ്റാഡാറ്റ ഓരോ വിഭജിച്ച PDF-ലും ഉൾപ്പെടുത്തും. splitByChapters.desc.4=തനിപ്പകർപ്പുകൾ അനുവദിക്കുക: ചെക്ക് ചെയ്താൽ, ഒരേ പേജിലെ ഒന്നിലധികം ബുക്ക്മാർക്കുകൾക്ക് പ്രത്യേക PDF-കൾ സൃഷ്ടിക്കാൻ അനുവദിക്കുന്നു. splitByChapters.submit=PDF വിഭജിക്കുക + #File Chooser fileChooser.click=ക്ലിക്ക് ചെയ്യുക fileChooser.or=അല്ലെങ്കിൽ @@ -1339,12 +1369,14 @@ fileChooser.dragAndDropPDF=PDF ഫയൽ വലിച്ചിടുക fileChooser.dragAndDropImage=ചിത്ര ഫയൽ വലിച്ചിടുക fileChooser.hoveredDragAndDrop=ഫയൽ(കൾ) ഇവിടെ വലിച്ചിടുക fileChooser.extractPDF=വേർതിരിച്ചെടുക്കുന്നു... + #release notes releases.footer=റിലീസുകൾ releases.title=റിലീസ് കുറിപ്പുകൾ releases.header=റിലീസ് കുറിപ്പുകൾ releases.current.version=നിലവിലെ റിലീസ് releases.note=റിലീസ് കുറിപ്പുകൾ ഇംഗ്ലീഷിൽ മാത്രമേ ലഭ്യമാകൂ + #Validate Signature validateSignature.title=PDF ഒപ്പുകൾ സാധൂകരിക്കുക validateSignature.header=ഡിജിറ്റൽ ഒപ്പുകൾ സാധൂകരിക്കുക @@ -1379,8 +1411,9 @@ validateSignature.cert.version=പതിപ്പ് validateSignature.cert.keyUsage=കീ ഉപയോഗം validateSignature.cert.selfSigned=സ്വയം ഒപ്പിട്ടത് validateSignature.cert.bits=ബിറ്റുകൾ + #################### -Cookie banner +# Cookie banner # #################### cookieBanner.popUp.title=ഞങ്ങൾ കുക്കികൾ എങ്ങനെ ഉപയോഗിക്കുന്നു cookieBanner.popUp.description.1=സ്റ്റെർലിംഗ് PDF നിങ്ങൾക്ക് മികച്ച രീതിയിൽ പ്രവർത്തിക്കാൻ ഞങ്ങൾ കുക്കികളും മറ്റ് സാങ്കേതികവിദ്യകളും ഉപയോഗിക്കുന്നു—ഞങ്ങളുടെ ടൂളുകൾ മെച്ചപ്പെടുത്താനും നിങ്ങൾ ഇഷ്ടപ്പെടുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നത് തുടരാനും ഇത് ഞങ്ങളെ സഹായിക്കുന്നു. @@ -1402,4 +1435,5 @@ cookieBanner.preferencesModal.necessary.title.1=കർശനമായി ആവ cookieBanner.preferencesModal.necessary.title.2=എപ്പോഴും പ്രവർത്തനക്ഷമം cookieBanner.preferencesModal.necessary.description=വെബ്സൈറ്റ് ശരിയായി പ്രവർത്തിക്കാൻ ഈ കുക്കികൾ അത്യാവശ്യമാണ്. നിങ്ങളുടെ സ്വകാര്യതാ മുൻഗണനകൾ സജ്ജമാക്കുക, ലോഗിൻ ചെയ്യുക, ഫോമുകൾ പൂരിപ്പിക്കുക തുടങ്ങിയ പ്രധാന സവിശേഷതകൾ അവ പ്രവർത്തനക്ഷമമാക്കുന്നു—അതുകൊണ്ടാണ് അവ ഓഫാക്കാൻ കഴിയാത്തത്. cookieBanner.preferencesModal.analytics.title=അനലിറ്റിക്സ് -cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല. \ No newline at end of file +cookieBanner.preferencesModal.analytics.description=ഞങ്ങളുടെ ടൂളുകൾ എങ്ങനെ ഉപയോഗിക്കുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഈ കുക്കികൾ ഞങ്ങളെ സഹായിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കമ്മ്യൂണിറ്റി ഏറ്റവും കൂടുതൽ വിലമതിക്കുന്ന ഫീച്ചറുകൾ നിർമ്മിക്കുന്നതിൽ ഞങ്ങൾക്ക് ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ കഴിയും. ഉറപ്പാക്കുക—സ്റ്റെർലിംഗ് PDF-ന് നിങ്ങൾ പ്രവർത്തിക്കുന്ന പ്രമാണങ്ങളുടെ ഉള്ളടക്കം ട്രാക്ക് ചെയ്യാൻ കഴിയില്ല, ഒരിക്കലും കഴിയില്ല. + From e78fd00a70c4efc301f9f6e250e44f04dca36c48 Mon Sep 17 00:00:00 2001 From: Noah Baculi <49008873+noahbaculi@users.noreply.github.com> Date: Sat, 10 May 2025 23:53:20 -0700 Subject: [PATCH 11/19] Fix README enterprise link (#3509) # Description of Changes Please provide a summary of the changes, including: - Fixed broken link on the readme to the Pro/Enterprise docs. - This was changed because the link was broken => degraded user experience. - Replaced the broken link with the closest valid page that I could find. I could not find an issue for this broken link but one can be created if needed. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [x] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [x] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [x] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [x] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [x] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b81b26a36..e54ad28bb 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ Stirling-PDF currently supports 39 languages! ## Stirling PDF Enterprise Stirling PDF offers an Enterprise edition of its software. This is the same great software but with added features, support and comforts. -Check out our [Enterprise docs](https://docs.stirlingpdf.com/Enterprise%20Edition) +Check out our [Enterprise docs](https://docs.stirlingpdf.com/Pro) ## 🤝 Looking to contribute? From b8574dc856ba5e8c9641494a7458c299e3b0546e Mon Sep 17 00:00:00 2001 From: Ludy Date: Sun, 11 May 2025 20:14:27 +0200 Subject: [PATCH 12/19] Use Thymeleaf `th:src` for `redact.js` to ensure correct resource path resolution (#3511) # Description of Changes Please provide a summary of the changes, including: ```bash generic_scripting.js:48 GET https://stirling.lan/pdfjs-legacy/js/pdfjs-legacy/pdf.sandbox.mjs net::ERR_ABORTED 404 (Not Found) pdf_scripting_manager.js:195 setDocument: "Failed to fetch dynamically imported module: https://stirling.lan/pdfjs-legacy/js/pdfjs-legacy/pdf.sandbox.mjs". ``` Closes #(issue_number) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- src/main/resources/templates/security/redact.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/resources/templates/security/redact.html b/src/main/resources/templates/security/redact.html index 707ddac17..68410f79c 100644 --- a/src/main/resources/templates/security/redact.html +++ b/src/main/resources/templates/security/redact.html @@ -19,7 +19,7 @@ - + @@ -695,4 +695,4 @@ - \ No newline at end of file + From cd775661ab0fb966318f23c49a0af4b98e7fdd61 Mon Sep 17 00:00:00 2001 From: "stirlingbot[bot]" <195170888+stirlingbot[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 09:01:28 +0100 Subject: [PATCH 13/19] =?UTF-8?q?=F0=9F=A4=96=20format=20everything=20with?= =?UTF-8?q?=20pre-commit=20by=20=20(#3514)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auto-generated by [create-pull-request][1] with **stirlingbot** [1]: https://github.com/peter-evans/create-pull-request Signed-off-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> Co-authored-by: stirlingbot[bot] <195170888+stirlingbot[bot]@users.noreply.github.com> --- src/main/java/stirling/software/SPDF/EE/EEAppConfig.java | 2 +- src/main/java/stirling/software/SPDF/config/AppConfig.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java index 0bbb531ef..dd08816e5 100644 --- a/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java +++ b/src/main/java/stirling/software/SPDF/EE/EEAppConfig.java @@ -33,7 +33,7 @@ public class EEAppConfig { public boolean runningProOrHigher() { return licenseKeyChecker.getPremiumLicenseEnabledResult() != License.NORMAL; } - + @Bean(name = "license") public String licenseType() { return licenseKeyChecker.getPremiumLicenseEnabledResult().name(); diff --git a/src/main/java/stirling/software/SPDF/config/AppConfig.java b/src/main/java/stirling/software/SPDF/config/AppConfig.java index 5b52ed3a5..fd55a471d 100644 --- a/src/main/java/stirling/software/SPDF/config/AppConfig.java +++ b/src/main/java/stirling/software/SPDF/config/AppConfig.java @@ -36,7 +36,7 @@ public class AppConfig { private final ApplicationProperties applicationProperties; private final Environment env; - + @Bean @ConditionalOnProperty(name = "system.customHTMLFiles", havingValue = "true") public SpringTemplateEngine templateEngine(ResourceLoader resourceLoader) { @@ -197,12 +197,12 @@ public class AppConfig { public String uuid() { return applicationProperties.getAutomaticallyGenerated().getUUID(); } - + @Bean(name = "disablePixel") public boolean disablePixel() { return Boolean.getBoolean(env.getProperty("DISABLE_PIXEL")); } - + @Bean(name = "machineType") public String determineMachineType() { try { From a595a950ab2c13109d12f36582137f7882f1d9e7 Mon Sep 17 00:00:00 2001 From: Shad CT <88387228+shad-ct@users.noreply.github.com> Date: Mon, 12 May 2025 15:06:33 +0530 Subject: [PATCH 14/19] updated the languages list (#3510) # Description of Changes Please provide a summary of the changes, including: - What was changed - Why the change was made - Any challenges encountered Closes #(issue_number) --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e54ad28bb..a0d941343 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ Visit our comprehensive documentation at [docs.stirlingpdf.com](https://docs.sti ## Supported Languages -Stirling-PDF currently supports 39 languages! +Stirling-PDF currently supports 40 languages! | Language | Progress | | -------------------------------------------- | -------------------------------------- | @@ -156,7 +156,7 @@ Stirling-PDF currently supports 39 languages! | Turkish (Türkçe) (tr_TR) | ![97%](https://geps.dev/progress/97) | | Ukrainian (Українська) (uk_UA) | ![96%](https://geps.dev/progress/96) | | Vietnamese (Tiếng Việt) (vi_VN) | ![73%](https://geps.dev/progress/73) | - +| Malayalam (മലയാളം) (ml_ML) | ![99%](https://geps.dev/progress/99) | ## Stirling PDF Enterprise From 091484fc1dbaa44489115a9c378bc46b42fbe4d1 Mon Sep 17 00:00:00 2001 From: Ludy Date: Mon, 12 May 2025 11:37:07 +0200 Subject: [PATCH 15/19] Standardize Quoted Path Syntax in Thymeleaf `th:href` for Consistent Link Resolution (#3515) # Description of Changes Please provide a summary of the changes, including: - **What was changed** 1. In `DeveloperGuide.md`, updated the example `` tag to use `th:href="@{'/new-feature'}"` instead of `th:href="@{/new-feature}"`. 2. In `adminSettings.html`, replaced the static `href="/usage"` with a Thymeleaf attribute `th:href="@{'/usage'}"` to ensure proper URL resolution. - **Why the change was made** Consistently quoting paths in `th:href` improves readability and avoids potential parsing inconsistencies in Thymeleaf templates when resolving URLs at runtime. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- DeveloperGuide.md | 2 +- src/main/resources/templates/adminSettings.html | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/DeveloperGuide.md b/DeveloperGuide.md index bbf8b8677..32d480f5c 100644 --- a/DeveloperGuide.md +++ b/DeveloperGuide.md @@ -541,7 +541,7 @@ This would generate n entries of tr for each person in exampleData ```html ``` diff --git a/src/main/resources/templates/adminSettings.html b/src/main/resources/templates/adminSettings.html index da4d16c1c..9d0cff6f0 100644 --- a/src/main/resources/templates/adminSettings.html +++ b/src/main/resources/templates/adminSettings.html @@ -51,7 +51,7 @@ Change User's Role - analytics @@ -316,4 +316,4 @@
- \ No newline at end of file + From 9fc174d12d8b9b3d54b62109b567d4c57e21a5f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 23:04:45 +0100 Subject: [PATCH 16/19] Bump actions/dependency-review-action from 4.6.0 to 4.7.0 (#3519) Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.6.0 to 4.7.0.
Release notes

Sourced from actions/dependency-review-action's releases.

v4.7.0

Commits

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/dependency-review-action&package-manager=github_actions&previous-version=4.6.0&new-version=4.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dependency-review.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 304267160..0cdd47933 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -24,4 +24,4 @@ jobs: - name: "Checkout Repository" uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: "Dependency Review" - uses: actions/dependency-review-action@ce3cf9537a52e8119d91fd484ab5b8a807627bf8 # v4.6.0 + uses: actions/dependency-review-action@38ecb5b593bf0eb19e335c03f97670f792489a8b # v4.7.0 From 662c2a4dfe39469e04938c560363dd39d15e85f0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 23:05:06 +0100 Subject: [PATCH 17/19] Bump org.apache.xmlgraphics:batik-all from 1.18 to 1.19 (#3520) Bumps org.apache.xmlgraphics:batik-all from 1.18 to 1.19. [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.xmlgraphics:batik-all&package-manager=gradle&previous-version=1.18&new-version=1.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 7359d0b6a..412db1b2e 100644 --- a/build.gradle +++ b/build.gradle @@ -479,7 +479,7 @@ dependencies { testImplementation "org.springframework.boot:spring-boot-starter-test:$springBootVersion" // Batik - implementation "org.apache.xmlgraphics:batik-all:1.18" + implementation "org.apache.xmlgraphics:batik-all:1.19" // TwelveMonkeys runtimeOnly "com.twelvemonkeys.imageio:imageio-batik:$imageioVersion" From 70717813f6df96222a94bffd7d0f32c592c1a175 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 23:05:26 +0100 Subject: [PATCH 18/19] Bump io.micrometer:micrometer-core from 1.14.6 to 1.14.7 (#3521) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer) from 1.14.6 to 1.14.7.
Release notes

Sourced from io.micrometer:micrometer-core's releases.

1.14.7

:star: New Features

  • Replace Meter.Id.getTags() with cheaper alternatives #6147

:lady_beetle: Bug Fixes

  • MultiGauge doesn't work with MeterFilter.map() #6146
  • Record cache.size in CaffeineCacheMetrics without enabling recordStats() #6128
  • TimedHandler shutdown hanging indefinitely #6194
  • Use snapshot consistently in AppOpticsMeterRegistry.writeSummary() #6181

:heart: Contributors

Thank you to all the contributors who worked on this release:

@​AlexElin, @​RafeArnold, and @​izeye

Commits
  • b6e5031 Bump com.tngtech.archunit:archunit-junit5 from 1.3.1 to 1.3.2 (#6226)
  • 6567cdc Merge branch '1.13.x' into 1.14.x
  • 80d4c9d Call Shutdown#check after finishing timing (#6194)
  • 7f82709 Bump maven-resolver from 1.9.22 to 1.9.23 (#6219)
  • a1a4f3d Bump maven-resolver from 1.9.22 to 1.9.23 (#6218)
  • a6adb3a Merge branch '1.13.x' into 1.14.x
  • fb2d4da Get Google Cloud project ID from env var for integration tests
  • 4f0cf53 Bump com.fasterxml.jackson.core:jackson-databind from 2.18.3 to 2.18.4 (#6214)
  • 33d1f7e Merge branch '1.13.x' into 1.14.x
  • 79939c3 Fix JavaDurationGetSecondsToToSeconds warnings for tests (#6207)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=io.micrometer:micrometer-core&package-manager=gradle&previous-version=1.14.6&new-version=1.14.7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 412db1b2e..58dfb77ab 100644 --- a/build.gradle +++ b/build.gradle @@ -527,7 +527,7 @@ dependencies { implementation "org.bouncycastle:bcprov-jdk18on:$bouncycastleVersion" implementation "org.bouncycastle:bcpkix-jdk18on:$bouncycastleVersion" implementation "org.springframework.boot:spring-boot-starter-actuator:$springBootVersion" - implementation "io.micrometer:micrometer-core:1.14.6" + implementation "io.micrometer:micrometer-core:1.14.7" implementation group: "com.google.zxing", name: "core", version: "3.5.3" // https://mvnrepository.com/artifact/org.commonmark/commonmark implementation "org.commonmark:commonmark:0.24.0" From c660ad80ce1a2f1fc82fdfaee141c7b4d8124ae0 Mon Sep 17 00:00:00 2001 From: Ludy Date: Wed, 14 May 2025 00:06:14 +0200 Subject: [PATCH 19/19] Update legal URLs and improve OpenAPI metadata configuration (#3522) # Description of Changes Please provide a summary of the changes, including: - Updated default Terms & Conditions URL from `/terms-and-conditions` to `/terms` in: - `InitialSetup.java` - `settings.yml.template` - `allEndpointsRemovedSettings.yml` - Improved OpenAPI metadata in `OpenApiConfig.java`: - Added contact information (`name`, `url`, `email`) - Added license section with MIT license - Included terms of service link - Changed string comparison in `MetricsConfig.java` to use `"constant".equals(...)` format - Cleaned up and unified YAML formatting and comments - Merged and restructured `enterpriseEdition` settings under `premium.proFeatures` ### Why the change was made - Ensure legal links are consistent and up-to-date - Improve clarity and completeness of the OpenAPI specification for external consumers - Follow best practices for code readability and configuration structure - Prevent misconfiguration from outdated or redundant YAML sections --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details. --- .../software/SPDF/config/InitialSetup.java | 2 +- .../software/SPDF/config/MetricsConfig.java | 2 +- .../software/SPDF/config/OpenApiConfig.java | 33 +++++++++----- src/main/resources/settings.yml.template | 12 ++--- testing/allEndpointsRemovedSettings.yml | 45 ++++++++++++------- 5 files changed, 58 insertions(+), 36 deletions(-) diff --git a/src/main/java/stirling/software/SPDF/config/InitialSetup.java b/src/main/java/stirling/software/SPDF/config/InitialSetup.java index 44de07d38..0adc3d133 100644 --- a/src/main/java/stirling/software/SPDF/config/InitialSetup.java +++ b/src/main/java/stirling/software/SPDF/config/InitialSetup.java @@ -73,7 +73,7 @@ public class InitialSetup { // Initialize Terms and Conditions String termsUrl = applicationProperties.getLegal().getTermsAndConditions(); if (StringUtils.isEmpty(termsUrl)) { - String defaultTermsUrl = "https://www.stirlingpdf.com/terms-and-conditions"; + String defaultTermsUrl = "https://www.stirlingpdf.com/terms"; GeneralUtils.saveKeyToSettings("legal.termsAndConditions", defaultTermsUrl); applicationProperties.getLegal().setTermsAndConditions(defaultTermsUrl); } diff --git a/src/main/java/stirling/software/SPDF/config/MetricsConfig.java b/src/main/java/stirling/software/SPDF/config/MetricsConfig.java index ba216be75..7012ad517 100644 --- a/src/main/java/stirling/software/SPDF/config/MetricsConfig.java +++ b/src/main/java/stirling/software/SPDF/config/MetricsConfig.java @@ -15,7 +15,7 @@ public class MetricsConfig { return new MeterFilter() { @Override public MeterFilterReply accept(Meter.Id id) { - if (id.getName().equals("http.requests")) { + if ("http.requests".equals(id.getName())) { return MeterFilterReply.NEUTRAL; } return MeterFilterReply.DENY; diff --git a/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java b/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java index d98c33257..d4ff7d167 100644 --- a/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java +++ b/src/main/java/stirling/software/SPDF/config/OpenApiConfig.java @@ -5,7 +5,9 @@ import org.springframework.context.annotation.Configuration; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; @@ -31,14 +33,25 @@ public class OpenApiConfig { // default version if all else fails version = "1.0.0"; } + Info info = + new Info() + .title(DEFAULT_TITLE) + .version(version) + .license( + new License() + .name("MIT") + .url( + "https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/refs/heads/main/LICENSE") + .identifier("MIT")) + .termsOfService("https://www.stirlingpdf.com/terms") + .contact( + new Contact() + .name("Stirling Software") + .url("https://www.stirlingpdf.com") + .email("contact@stirlingpdf.com")) + .description(DEFAULT_DESCRIPTION); if (!applicationProperties.getSecurity().getEnableLogin()) { - return new OpenAPI() - .components(new Components()) - .info( - new Info() - .title(DEFAULT_TITLE) - .version(version) - .description(DEFAULT_DESCRIPTION)); + return new OpenAPI().components(new Components()).info(info); } else { SecurityScheme apiKeyScheme = new SecurityScheme() @@ -47,11 +60,7 @@ public class OpenApiConfig { .name("X-API-KEY"); return new OpenAPI() .components(new Components().addSecuritySchemes("apiKey", apiKeyScheme)) - .info( - new Info() - .title(DEFAULT_TITLE) - .version(version) - .description(DEFAULT_DESCRIPTION)) + .info(info) .addSecurityItem(new SecurityRequirement().addList("apiKey")); } } diff --git a/src/main/resources/settings.yml.template b/src/main/resources/settings.yml.template index 201f875dd..380faeb42 100644 --- a/src/main/resources/settings.yml.template +++ b/src/main/resources/settings.yml.template @@ -77,7 +77,7 @@ premium: appId: '' mail: - enabled: true # set to 'true' to enable sending emails + enabled: false # set to 'true' to enable sending emails host: smtp.example.com # SMTP server hostname port: 587 # SMTP server port username: '' # SMTP server username @@ -85,7 +85,7 @@ mail: from: '' # sender email address legal: - termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder + termsAndConditions: https://www.stirlingpdf.com/terms # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy). Empty string to disable or filename to load from local file in static folder accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility). Empty string to disable or filename to load from local file in static folder cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie). Empty string to disable or filename to load from local file in static folder @@ -113,11 +113,11 @@ system: name: postgres # set the name of your database. Should match the name of the database you create customPaths: pipeline: - watchedFoldersDir: '' #Defaults to /pipeline/watchedFolders - finishedFoldersDir: '' #Defaults to /pipeline/finishedFolders + watchedFoldersDir: '' # Defaults to /pipeline/watchedFolders + finishedFoldersDir: '' # Defaults to /pipeline/finishedFolders operations: - weasyprint: '' #Defaults to /opt/venv/bin/weasyprint - unoconvert: '' #Defaults to /opt/venv/bin/unoconvert + weasyprint: '' # Defaults to /opt/venv/bin/weasyprint + unoconvert: '' # Defaults to /opt/venv/bin/unoconvert fileUploadLimit: '' # Defaults to "". No limit when string is empty. Set a number, between 0 and 999, followed by one of the following strings to set a limit. "KB", "MB", "GB". ui: diff --git a/testing/allEndpointsRemovedSettings.yml b/testing/allEndpointsRemovedSettings.yml index fa83e2ff0..3290d6fef 100644 --- a/testing/allEndpointsRemovedSettings.yml +++ b/testing/allEndpointsRemovedSettings.yml @@ -11,7 +11,6 @@ # If you want to override with environment parameter follow parameter naming SECURITY_INITIALLOGIN_USERNAME # ############################################################################################################# - security: enableLogin: false # set to 'true' to enable login csrfDisabled: false # set to 'true' to disable CSRF protection (not recommended for production) @@ -62,18 +61,32 @@ security: privateKey: classpath:saml-private-key.key # Your private key. Generated from your keypair spCert: classpath:saml-public-cert.crt # Your signing certificate. Generated from your keypair -enterpriseEdition: - enabled: false # set to 'true' to enable enterprise edition +premium: key: 00000000-0000-0000-0000-000000000000 - SSOAutoLogin: false # Enable to auto login to first provided SSO - CustomMetadata: - autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values - author: username # supports text such as 'John Doe' or types such as username to autopopulate with user's username - creator: Stirling-PDF # supports text such as 'Company-PDF' - producer: Stirling-PDF # supports text such as 'Company-PDF' + enabled: false # Enable license key checks for pro/enterprise features + proFeatures: + SSOAutoLogin: false + CustomMetadata: + autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values + author: username # supports text such as 'John Doe' or types such as username to autopopulate with user's username + creator: Stirling-PDF # supports text such as 'Company-PDF' + producer: Stirling-PDF # supports text such as 'Company-PDF' + googleDrive: + enabled: false + clientId: '' + apiKey: '' + appId: '' + +mail: + enabled: false # set to 'true' to enable sending emails + host: smtp.example.com # SMTP server hostname + port: 587 # SMTP server port + username: '' # SMTP server username + password: '' # SMTP server password + from: '' # sender email address legal: - termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder + termsAndConditions: https://www.stirlingpdf.com/terms # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy). Empty string to disable or filename to load from local file in static folder accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility). Empty string to disable or filename to load from local file in static folder cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie). Empty string to disable or filename to load from local file in static folder @@ -88,6 +101,7 @@ system: customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template HTML files tessdataDir: /usr/share/tessdata # path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored. enableAnalytics: true # set to 'true' to enable analytics, set to 'false' to disable analytics; for enterprise users, this is set to true + enableUrlToPDF: false # Set to 'true' to enable URL to PDF, INTERNAL ONLY, known security issues, should not be used externally disableSanitize: false # set to true to disable Sanitize HTML; (can lead to injections in HTML) datasource: enableCustomDatabase: false # Enterprise users ONLY, set this property to 'true' if you would like to use your own custom database configuration @@ -100,13 +114,12 @@ system: name: postgres # set the name of your database. Should match the name of the database you create customPaths: pipeline: - watchedFoldersDir: "" #Defaults to /pipeline/watchedFolders - finishedFoldersDir: "" #Defaults to /pipeline/finishedFolders + watchedFoldersDir: '' # Defaults to /pipeline/watchedFolders + finishedFoldersDir: '' # Defaults to /pipeline/finishedFolders operations: - weasyprint: "" #Defaults to /opt/venv/bin/weasyprint - unoconvert: "" #Defaults to /opt/venv/bin/unoconvert - - + weasyprint: '' # Defaults to /opt/venv/bin/weasyprint + unoconvert: '' # Defaults to /opt/venv/bin/unoconvert + fileUploadLimit: '' # Defaults to "". No limit when string is empty. Set a number, between 0 and 999, followed by one of the following strings to set a limit. "KB", "MB", "GB". ui: appName: '' # application's visible name