Compare commits

...

105 Commits

Author SHA1 Message Date
Dimitris Kaitantzidis
67de8a9460 Fix canvas pdf to csv (#2228)
* WIP: fixes canvas and rect to crop - small problem in smaller screens - neew to fix re render page on resize

* Closes #2209

* Closes #2227
2024-11-16 11:02:20 +00:00
Anthony Stirling
b26aa3417e Update build.gradle 2024-11-16 11:01:44 +00:00
Renan
8dfb5940ca Fixing bug: Add Image makes random changes to image (#2246) (#2256)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-16 08:55:40 +00:00
Anthony Stirling
0ce479e1e3 Update push-docker.yml 2024-11-16 08:43:42 +00:00
Anthony Stirling
cca3b6b525 Update multi-tool.html 2024-11-16 08:40:34 +00:00
github-actions[bot]
03529567ba 📝 Update README: Translation Progress Table (#2254)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-15 22:18:01 +00:00
Anthony Stirling
781a52c759 Update ignore_translation.toml 2024-11-15 22:15:36 +00:00
Anthony Stirling
be2c103065 Update build.gradle 2024-11-15 21:56:57 +00:00
albanobattistella
80fd2eff5f Update messages_it_IT.properties (#2250)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-15 21:53:39 +00:00
github-actions[bot]
65abfd9c7a Update translation files (#2252)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-11-15 21:52:28 +00:00
Rafael Encinas
1833d7cd73 Clear file inputs after jobs (#2248) 2024-11-15 20:21:23 +00:00
reecebrowne
fd93dad9a5 Multitool advertising (#2247)
* Multi-tool advert on pages that share functionality

* Update translation files

Signed-off-by: GitHub Action <action@github.com>

---------

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-11-15 18:57:51 +00:00
albanobattistella
ef18b17890 Update messages_it_IT.properties (#2239) 2024-11-15 11:27:02 +00:00
Ludy
d3ae9f9a81 Prohibit the registration of unauthorized usernames (#2240) 2024-11-15 09:36:59 +00:00
Ludy
4a70d680a4 added title display on hovering, added missing german translations (#2237)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-15 09:28:37 +00:00
Ludy
82ebd3dba9 Add: missing swagger Tag (#2238) 2024-11-15 09:25:17 +00:00
MaratheHarshad
15848e3de6 Fix: Ensure backend receives false when checkbox is unchecked in split-pdf-by-chapters feature (#2234)
* Implemented hidden input tags to resolve issue with file input handling

* Cleanup: Remove log statements for production readiness

---------

Co-authored-by: Harshad Marathe <harshad@DESKTOP-1MNKUHA>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-14 21:46:24 +00:00
github-actions[bot]
ea0d9301ff 📝 Update README: Translation Progress Table (#2236)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-14 20:22:45 +00:00
reecebrowne
b27e1f254c Feature/1976/multi tool multiple pages (#2200)
* Multitool - Select multiple pages for rotation tool

* Multitool multi select delete feature

* Multitool multi select UI improvements and big fixes

* Multitool multi select select all and UI improvements

* Multi tool multi select, download selected, clean up and bug fixes

* Comments

* Update buttons for page selection

* Update translation files

Signed-off-by: GitHub Action <action@github.com>

* Multitool multiselect split functionality and UI updates

* Download selected button, additional tooltips

* Update translation files

Signed-off-by: GitHub Action <action@github.com>

* revert CertSignController

* remove material icons

* restore to previous certsigncontroller

* Update CertSignController.java

---------

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-14 20:00:36 +00:00
Anthony Stirling
7f30882e5e Setup new docker org stirlingtools/stirling-pdf (#2232)
* Update push-docker.yml

* Update push-docker.yml

* Update push-docker.yml
2024-11-14 11:20:17 +00:00
Anthony Stirling
26c0a92e30 Update pull_request_template.md 2024-11-13 13:59:22 +00:00
Renan
5cf53e39d0 Increase watermark coverage to fill page (#2049) (#2220)
* Increase watermark coverage to fill page (#2049)

* Increase watermark coverage to fill page with the new calculation (#2049)
2024-11-13 11:12:30 +00:00
Dimitris Kaitantzidis
7f566d5de8 Fix canvas crop (#2221)
* WIP: fixes canvas and rect to crop - small problem in smaller screens - neew to fix re render page on resize

* Closes #2209
2024-11-13 10:35:02 +00:00
S. Neuhaus
caa32c5bae Mention HTTP error 413 in FAQ (#2226) 2024-11-13 10:33:27 +00:00
Ludy
41c41cc88c adds missing dependencies in the endpoints (#2224) 2024-11-13 08:54:11 +00:00
leo-jmateo
c2acd74447 Catalan Translation - Stirling PDF String Updates (#2222)
* Update messages_ca_CA.properties

Partial Catalan Translation Contribution for Stirling PDF

Hi,

I’ve completed a partial Catalan translation for Stirling PDF, covering all strings up to the Pipeline section. I focused on maintaining consistency in terminology to ensure a smooth user experience in Catalan.

* Update messages_ca_CA.properties

Update on Catalan Translation Verification – Test 2 Passed

Hi [Developer’s Name],

I’ve now completed the verification for Test 2 and ensured that all keys in messages_en_GB.properties align with those in messages_ca_CA.properties. The files should now be fully synchronized with no missing or extra keys.

I’ll proceed to re-run the tests to confirm everything is in order.

Please feel free to review the updated pull request, and let me know if there’s anything further you’d like me to adjust.

Thank you for your support!

Best regards,

* Catalan Translation - Stirling PDF String Updates

Hi,

I have worked on the Catalan translation for some of the text strings in the Stirling PDF project. Attached are my contributions, which include the relevant strings for various parts of the system. I’ve made a few small adjustments to ensure the translation is as accurate and coherent as possible in technical contexts.

Changes made:
	1.	Translation of strings related to PDF manipulation tools (e.g., Add Watermark, Split PDF, etc.).
	2.	Adjustments of terms for better accuracy, such as using “Eliminar” instead of “Treure” or “Esborrar”.
	3.	Review of technical translations to ensure consistency, such as using “Nombre” instead of “Quantitat” for referring to the number of documents or pages.

Attached are the modified strings for your review:
	•	[Attach the modified strings file]

If you have any questions or need further adjustments, I’m happy to help.

Thank you for your attention and for all your work on the project!

Best regards,

* Catalan Translation - Stirling PDF String Updates

Hi,

I have worked on the Catalan translation for some of the text strings in the Stirling PDF project. Attached are my contributions, which include the relevant strings for various parts of the system. I’ve made a few small adjustments to ensure the translation is as accurate and coherent as possible in technical contexts.

Changes made:
	1.	Translation of strings related to PDF manipulation tools (e.g., Add Watermark, Split PDF, etc.).
	2.	Adjustments of terms for better accuracy, such as using “Eliminar” instead of “Treure” or “Esborrar”.
	3.	Review of technical translations to ensure consistency, such as using “Nombre” instead of “Quantitat” for referring to the number of documents or pages.

Attached are the modified strings for your review:
	•	[Attach the modified strings file]

If you have any questions or need further adjustments, I’m happy to help.

Thank you for your attention and for all your work on the project!

Best regards,

* Catalan Translation - Stirling PDF String Updates

Hi,

I have worked on the Catalan translation for some of the text strings in the Stirling PDF project. Attached are my contributions, which include the relevant strings for various parts of the system. I’ve made a few small adjustments to ensure the translation is as accurate and coherent as possible in technical contexts.

Changes made:
	1.	Translation of strings related to PDF manipulation tools (e.g., Add Watermark, Split PDF, etc.).
	2.	Adjustments of terms for better accuracy, such as using “Eliminar” instead of “Treure” or “Esborrar”.
	3.	Review of technical translations to ensure consistency, such as using “Nombre” instead of “Quantitat” for referring to the number of documents or pages.

Attached are the modified strings for your review:
	•	[Attach the modified strings file]

If you have any questions or need further adjustments, I’m happy to help.

Thank you for your attention and for all your work on the project!

Best regards,

* Catalan Translation - Stirling PDF String Updates

* 📝 Sync README
> Made via sync_files.yml

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-13 07:54:49 +00:00
Ludy
4d5d0e3cef Removes references to nonexistent endpoint (#2223) 2024-11-13 07:51:47 +00:00
MaratheHarshad
df6af8766f Restricting file input to .md files for Markdown to PDF conversion (#2219)
Co-authored-by: Harshad Marathe <harshad@DESKTOP-1MNKUHA>
2024-11-12 16:58:51 +00:00
Anthony Stirling
0dd4456ae8 Update HowToUseOCR.md 2024-11-12 13:31:34 +00:00
Anthony Stirling
b0c8912742 Update README.md 2024-11-12 11:06:04 +00:00
github-actions[bot]
467be09749 📝 Update README: Translation Progress Table (#2214)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-11 23:16:05 +00:00
Anthony Stirling
ceabcf2b3d Update get-info-on-pdf.html #2212 2024-11-11 23:12:57 +00:00
leo-jmateo
361a0c9be8 Update messages_ca_CA.properties (#2210)
* Update messages_ca_CA.properties

Partial Catalan Translation Contribution for Stirling PDF

Hi,

I’ve completed a partial Catalan translation for Stirling PDF, covering all strings up to the Pipeline section. I focused on maintaining consistency in terminology to ensure a smooth user experience in Catalan.

* Update messages_ca_CA.properties

Update on Catalan Translation Verification – Test 2 Passed

Hi [Developer’s Name],

I’ve now completed the verification for Test 2 and ensured that all keys in messages_en_GB.properties align with those in messages_ca_CA.properties. The files should now be fully synchronized with no missing or extra keys.

I’ll proceed to re-run the tests to confirm everything is in order.

Please feel free to review the updated pull request, and let me know if there’s anything further you’d like me to adjust.

Thank you for your support!

Best regards,

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-11 22:38:54 +00:00
Ludy
128ca8e224 Fix: Reading the username based on the login method. (#2211) 2024-11-11 11:55:46 +00:00
Anthony Stirling
7d1d6d1f12 Update Version-groups.md 2024-11-11 10:40:27 +00:00
Ludovic Ortega
645c786d95 feat: move helm chart to https://github.com/Stirling-Tools/Stirling-PDF-chart (#2208)
* feat: remove helm chart

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

* feat: mention kubernetes in install doc

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

---------

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2024-11-10 13:48:58 +00:00
Ludy
862a88e2e9 Fix: missing opener for View PDF #2206 (#2207)
Fix missing opener for View PDF #2206
2024-11-10 13:24:12 +00:00
github-actions[bot]
2f92aa90ef 💾 Update Version (#2205)
💾 Sync Versions
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-09 23:11:42 +00:00
Anthony Stirling
ba8dd04086 Update build.gradle 2024-11-09 23:11:10 +00:00
github-actions[bot]
c13509cf67 💾 Update Version (#2204)
💾 Sync Versions
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-09 23:10:30 +00:00
Anthony Stirling
0ab02e6ceb Update build.gradle 2024-11-09 23:02:12 +00:00
Anthony Stirling
af52652aee Rename release-helm-charts.yml to release-helm-charts.yml-disabled 2024-11-09 23:01:55 +00:00
Anthony Stirling
e534f022f5 Rename lint-helm-charts.yml to lint-helm-charts.yml-disabled 2024-11-09 23:01:26 +00:00
Ludy
84867a7ad7 Fix: Card has no favorite icon (#2203)
fixes the bug if the card has no favorite icon
2024-11-09 15:07:51 +00:00
Renan
e97cb9d49e Add option to insert blank page between pages in Multi-tool (#2194) (#2201) 2024-11-08 22:51:03 +00:00
Anthony Stirling
1b0c1b6cff Searchbar in nav auto select, and exe nolonger disable CLI (#2197)
* fix remmeber me

* remove uselss comment

* Update translation files (#2185)

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>

* exe no longer disable CLI

---------

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: a <a>
2024-11-07 21:50:47 +00:00
Rafael Encinas
7eea7fb3cb [Feature] Set Executor Instances limits dynamically from properties (#2193)
* Update 'ProcessExecutor.java' to use dynamic process limits from properties

* Move limits location out of 'application.properties'

* Rename 'SemaphoreLimit' to 'SessionLimit' and bundle with 'Timeout...' into one parent class
2024-11-07 00:43:57 +00:00
github-actions[bot]
c921b5d76f 📝 Update README: Translation Progress Table (#2190)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-05 23:28:15 +00:00
Peter Dave Hello
26ec0c5d77 Update and improve zh_TW Traditional Chinese locale (#2188) 2024-11-05 23:26:26 +00:00
ninjat
404e31468e Added input sanitization to fix self-xss issue (#2189) 2024-11-05 21:44:24 +00:00
Anthony Stirling
0c0f61aa0d fix remmeber me (#2184)
* fix remmeber me

* remove uselss comment

* Update translation files (#2185)

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>

---------

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-11-05 14:31:31 +00:00
Ludovic Ortega
40ffb6559d feat: add helm chart github action (#2113)
* feat: add helm chart github action

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

* fix: remove test branch

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

* fix: run helm-docs-built after syncing version

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>

* fix: helm repo url

---------

Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2024-11-04 20:13:26 +00:00
github-actions[bot]
645c5ff36f 📝 Update README: Translation Progress Table (#2165)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-03 22:47:28 +00:00
MaratheHarshad
83db7a22f5 Fix: Navbar layout overflow (#2162)
Fix: Navbar layout overflow using Bootstrap class .navbar-expand-xl

Co-authored-by: Harshad Marathe <harshad@DESKTOP-1MNKUHA>
2024-11-03 20:59:57 +00:00
Ludy
ebfccfa835 Corrects AI generated translation (#2166) 2024-11-03 20:39:00 +00:00
Saud Fatayerji
aa810163d2 Completed translations for 19 languages using AI (#2164)
Created translations for various languages using AI
2024-11-03 20:14:45 +00:00
github-actions[bot]
dcb69ad66a 📝 Update README: Translation Progress Table (#2160)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-11-03 18:05:03 +00:00
Ludy
1a19024961 Fix: Auto language detection #2122 (#2148)
* Fix: Auto language detection #2122

* add LanguageService and AdditionalLanguageJsController

* hidden swagger
2024-11-03 14:20:26 +00:00
albanobattistella
68c9601245 Update messages_it_IT.properties (#2161) 2024-11-03 14:16:06 +00:00
Ludy
7ec343d9ce Fix: Add missing .map file for minified files (#2156) 2024-11-03 07:55:39 +00:00
Ludy
6f42d976f6 Fix: Path correction to draggable.js #2154 + little makeup (#2159) 2024-11-03 07:26:45 +00:00
Ludy
cf13803fd4 Fix: redeclaration of const and add: tranlation placeholder for Session Expiry Messages (#2158)
Fix: redeclaration of const
2024-11-03 07:24:16 +00:00
Ludy
a8d0d1a871 re-config labeler & add new labels (#2153)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-11-03 07:21:56 +00:00
Ludy
a5aac01b4d fixed minor bugs in Markdown (#2152) 2024-11-03 07:20:10 +00:00
albanobattistella
2be14788b1 Update messages_it_IT.properties (#2146) 2024-11-01 16:32:52 +00:00
github-actions[bot]
217404be7f 📝 Update README: Translation Progress Table (#2136)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-31 20:33:03 +00:00
github-actions[bot]
d3dc3e07b2 Update translation files (#2145)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-31 20:22:11 +00:00
Eric
94702dbafa fix signature logo not loading and add option to disable it (#2143)
* fix signature logo not loading and add option to disable it

* Hardening suggestions for Stirling-PDF / fix-sig-logo (#2144)

Modernize and secure temp file creation

Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>

---------

Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
2024-10-31 20:18:42 +00:00
Anthony Stirling
febc3cf48b Update pull_request_template.md 2024-10-31 17:46:30 +00:00
Philip H.
c5abb47403 navbar.css: prevent overlapping of elements (#2140)
go-pro-link is overlapping the settings button
2024-10-31 17:45:44 +00:00
Anthony Stirling
0e3c9bcc10 Update README.md 2024-10-31 14:52:41 +00:00
github-actions[bot]
384c3ee88f 💾 Update Version (#2139)
💾 Sync Versions
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-31 13:06:55 +00:00
Anthony Stirling
5f7a0537f9 Update build.gradle 2024-10-31 13:06:12 +00:00
Anthony Stirling
5aa5628465 [bug fix] Update compress-pdf.html (#2138)
Update compress-pdf.html
2024-10-31 10:59:51 +00:00
albanobattistella
0d91bca932 Update messages_it_IT.properties (#2135) 2024-10-30 19:55:54 +00:00
Ludovic Ortega
8e88591499 chore(helm): bump chart version according to semver (#2109)
Signed-off-by: Ludovic Ortega <ludovic.ortega@adminafk.fr>
2024-10-30 13:49:28 +00:00
github-actions[bot]
3e051d0105 Update 3rd Party Licenses (#2134)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-30 13:00:51 +00:00
dependabot[bot]
4a9b16ff8f Bump org.springframework.security:spring-security-saml2-service-provider from 6.3.3 to 6.3.4 (#2052)
Bump org.springframework.security:spring-security-saml2-service-provider

Bumps [org.springframework.security:spring-security-saml2-service-provider](https://github.com/spring-projects/spring-security) from 6.3.3 to 6.3.4.
- [Release notes](https://github.com/spring-projects/spring-security/releases)
- [Changelog](https://github.com/spring-projects/spring-security/blob/main/RELEASE.adoc)
- [Commits](https://github.com/spring-projects/spring-security/compare/6.3.3...6.3.4)

---
updated-dependencies:
- dependency-name: org.springframework.security:spring-security-saml2-service-provider
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-30 12:58:47 +00:00
github-actions[bot]
a7082ecd85 💾 Update Version (#2132)
💾 Sync Versions
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-30 12:48:44 +00:00
github-actions[bot]
966e6a4923 📝 Update README: Translation Progress Table (#2133)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-30 12:48:30 +00:00
Anthony Stirling
27d2681a97 Feature/save signs (#2127)
* apply fix

* Fixes empty th:action

* Update build.gradle

* fix

* formatting

* Save signatures

* Fix code scanning alert no. 42: Uncontrolled data used in path expression

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fix UserServiceInterface

* Merge branch 'feature/saveSigns' of
git@github.com:Stirling-Tools/Stirling-PDF.git into feature/saveSigns

* 0.31.0 bump and further csrf

* formatting

* preview name

* add

* sign doc

* Update translation files (#2128)

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>

---------

Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: Dimitrios Kaitantzidis <james_k23@hotmail.gr>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: a <a>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-30 12:46:44 +00:00
github-actions[bot]
ed75fa4e1b 📝 Update README: Translation Progress Table (#2129)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-29 19:05:01 +00:00
Rania Amina
9b9752bd7a Update id_ID Translation and fix some grammars (#2108)
* Update id_ID Translation and fix some grammars

* sync lines to fix build warning

* get back new line at end of file

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-10-29 19:03:00 +00:00
Anthony Stirling
903dc7638c Fix csrf (#2126)
* apply fix

* Fixes empty th:action

* Update build.gradle

* fix

* formatting

---------

Co-authored-by: Dimitrios Kaitantzidis <james_k23@hotmail.gr>
2024-10-29 17:56:29 +00:00
github-actions[bot]
c39b111edc 📝 Update README: Translation Progress Table (#2121)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-29 16:31:25 +00:00
github-actions[bot]
d910929aa6 Update translation files (#2125)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-29 16:30:44 +00:00
reecebrowne
a9ce0e80ee Feature/298 improve compare performance (#2124)
* Implement Diff.js

* Compare feature - add service worker and improve efficiency for large files

* Compare - messages updated to be compatable with language packs

* Compare - Acknowledge Diff.js usage

* Add message warning there is  no text in uploaded pdf to messages file

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-10-29 15:56:45 +00:00
Florian Fish
4922ab700e Add new french translations (#2120)
Add new french translations and improve simple quote
2024-10-29 10:12:49 +00:00
github-actions[bot]
01f3c138a6 Update 3rd Party Licenses (#2119)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-28 23:22:15 +00:00
github-actions[bot]
4e21f76979 📝 Update README: Translation Progress Table (#2103)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-28 23:22:02 +00:00
dependabot[bot]
a9ccd85e75 Bump org.springframework.boot from 3.3.4 to 3.3.5 (#2118)
Bumps [org.springframework.boot](https://github.com/spring-projects/spring-boot) from 3.3.4 to 3.3.5.
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

---
updated-dependencies:
- dependency-name: org.springframework.boot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-28 23:19:59 +00:00
dependabot[bot]
6f407f1d2f Bump springBootVersion from 3.3.4 to 3.3.5 (#2117)
Bumps `springBootVersion` from 3.3.4 to 3.3.5.

Updates `org.springframework.boot:spring-boot-starter-web` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-jetty` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-thymeleaf` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-security` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-data-jpa` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-oauth2-client` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-test` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-starter-actuator` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

Updates `org.springframework.boot:spring-boot-devtools` from 3.3.4 to 3.3.5
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.3.4...v3.3.5)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-starter-web
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-jetty
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-thymeleaf
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-security
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-data-jpa
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-oauth2-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-test
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-starter-actuator
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-devtools
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-28 23:19:36 +00:00
pixeebot[bot]
af5e2b6895 Modernize and secure temp file creation (#2106)
Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
2024-10-28 23:19:12 +00:00
Ludy
d2046c64d8 Optimierung der SAML2-Integration und Verbesserung der Zertifikats- und Fehlerbehandlung (#2105)
* certificate processing

* Hides dialog when provider list is empty

* removed: unused
2024-10-27 22:17:36 +00:00
Manuel Mora Gordillo
1b88d89191 Spanish translate (#2102)
* Spanish translate

* Added blank line

---------

Co-authored-by: Manu <manuel@fusiontelecom.co>
2024-10-25 13:20:13 +01:00
github-actions[bot]
03bf98265b 📝 Update README: Translation Progress Table (#2072)
📝 Sync README
> Made via sync_files.yml

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-10-24 14:21:17 +01:00
Anthony Stirling
89da2a5c01 Auto detect presence of external dependencies (LibreOffice etc) and disable/enable features dynamically (#2082)
* Create ExternalAppDepConfig.java

* Update EndpointConfiguration.java

* Hardening suggestions for Stirling-PDF / ExternalAppDepConfig (#2083)

Switch order of literals to prevent NullPointerException

Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>

---------

Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
2024-10-24 13:59:17 +01:00
swanemar
a10d06b693 added some missing translations (#2085) 2024-10-24 10:35:32 +00:00
Eric
a7ed99084f visual certificate signing (#2084)
add visual digital signature
2024-10-24 07:08:09 +01:00
github-actions[bot]
88f3594d80 Update 3rd Party Licenses (#2080)
Signed-off-by: GitHub Action <action@github.com>
Co-authored-by: GitHub Action <action@github.com>
2024-10-23 12:28:58 +01:00
Eric
e0b77ca274 extract and apply the image orientation from exif data in imageToPdf (#2073) 2024-10-23 12:17:40 +01:00
albanobattistella
bac81c930d Update messages_it_IT.properties (#2077) 2024-10-23 12:16:49 +01:00
Corbinian Grimm
2f49626a4c Update messages_de_DE.properties (#2070)
* Update messages_de_DE.properties

Completed translations for German language.

* Update messages_de_DE.properties
2024-10-22 21:53:13 +01:00
Anthony Stirling
83ef003505 Update PostHogService.java 2024-10-22 15:36:54 +01:00
Anthony Stirling
949b87005c Fix metricCollection 2024-10-22 15:36:22 +01:00
159 changed files with 10313 additions and 5946 deletions

View File

@@ -16,21 +16,27 @@ Java:
Back End: Back End:
- changed-files: - changed-files:
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/**/*'
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/provider/**/*' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/**/*'
- any-glob-to-any-file: 'src/main/resources/settings.yml.template' - any-glob-to-any-file: 'src/main/resources/settings.yml.template'
- any-glob-to-any-file: 'src/main/resources/application.properties'
- any-glob-to-any-file: 'src/main/resources/banner.txt' - any-glob-to-any-file: 'src/main/resources/banner.txt'
- any-glob-to-any-file: 'scripts/png_to_webp.py'
- any-glob-to-any-file: 'split_photos.py'
Security: Security:
- changed-files: - changed-files:
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*'
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/provider/**/*' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/model/provider/**/*'
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/AuthenticationType.java' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/model/AuthenticationType.java'
- any-glob-to-any-file: 'scripts/download-security-jar.sh'
API: API:
- changed-files: - changed-files:
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/web/MetricsController.java' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/web/MetricsController.java'
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/api/**/*' - any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/api/**/*'
- any-glob-to-any-file: 'scripts/png_to_webp.py'
- any-glob-to-any-file: 'split_photos.py'
Documentation: Documentation:
- changed-files: - changed-files:
@@ -43,6 +49,9 @@ Docker:
- any-glob-to-any-file: 'Dockerfile' - any-glob-to-any-file: 'Dockerfile'
- any-glob-to-any-file: 'Dockerfile-*' - any-glob-to-any-file: 'Dockerfile-*'
- any-glob-to-any-file: 'exampleYmlFiles/*.yml' - any-glob-to-any-file: 'exampleYmlFiles/*.yml'
- any-glob-to-any-file: 'scripts/init.sh'
- any-glob-to-any-file: 'scripts/init-without-ocr.sh'
- any-glob-to-any-file: 'scripts/installFonts.sh'
Test: Test:
- changed-files: - changed-files:

21
.github/labels.yml vendored
View File

@@ -3,9 +3,12 @@
# #
# The repository labels will be automatically configured using this file and # The repository labels will be automatically configured using this file and
# the GitHub Action https://github.com/marketplace/actions/github-labeler. # the GitHub Action https://github.com/marketplace/actions/github-labeler.
- name: "Licenses"
color: "EDEDED"
from_name: "licenses"
- name: "Back End" - name: "Back End"
color: "20CE6C" color: "20CE6C"
description: "Issues related to back-end development" description: "Issues or pull requests related to back-end development"
from_name: "Back end" from_name: "Back end"
- name: "Bug" - name: "Bug"
description: "Something isn't working" description: "Something isn't working"
@@ -24,6 +27,7 @@
from_name: "documentation" from_name: "documentation"
- name: "Done for next release" - name: "Done for next release"
color: "0CDBD1" color: "0CDBD1"
description: "Items that are completed and will be included in the next release"
- name: "Done" - name: "Done"
color: "60F13B" color: "60F13B"
- name: "duplicate" - name: "duplicate"
@@ -37,7 +41,7 @@
description: "Fix needs to be confirmed" description: "Fix needs to be confirmed"
- name: "Front End" - name: "Front End"
color: "BBD2F1" color: "BBD2F1"
description: "Issues related to front-end development" description: "Issues or pull requests related to front-end development"
- name: "github-actions" - name: "github-actions"
description: "Pull requests that update GitHub Actions code" description: "Pull requests that update GitHub Actions code"
color: "999999" color: "999999"
@@ -91,3 +95,16 @@
description: "Testing-related issues or pull requests" description: "Testing-related issues or pull requests"
- name: "Stale" - name: "Stale"
color: "000000" color: "000000"
description: "Issues or pull requests that have become inactive"
- name: "Priority: Critical"
color: "000000"
description: "Issues or pull requests with the highest priority"
- name: "Priority: High"
color: "FF0000"
description: "Issues or pull requests with high priority"
- name: "Priority: Medium"
color: "FFFF00"
description: "Issues or pull requests with medium priority"
- name: "Priority: Low"
color: "00FF00"
description: "Issues or pull requests with low priority"

View File

@@ -8,6 +8,8 @@ Closes #(issue_number)
- [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have performed a self-review of my own code - [ ] I have performed a self-review of my own code
- [ ] I have attached images of the change if it is UI based
- [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] If my code has heavily changed functionality I have updated relevant docs on [Stirling-PDFs doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
- [ ] My changes generate no new warnings - [ ] My changes generate no new warnings
- [ ] 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) - [ ] 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)

View File

@@ -1,67 +0,0 @@
import re
import yaml
# Paths to the files
chart_yaml_path = "chart/stirling-pdf/Chart.yaml"
gradle_path = "build.gradle"
def get_chart_version(path):
"""
Reads the appVersion from Chart.yaml.
Args:
path (str): The file path to the Chart.yaml.
Returns:
str: The appVersion if found, otherwise an empty string.
"""
with open(path, encoding="utf-8") as file:
chart_yaml = yaml.safe_load(file)
return chart_yaml.get("appVersion", "")
def get_gradle_version(path):
"""
Extracts the version from build.gradle.
Args:
path (str): The file path to the build.gradle.
Returns:
str: The version if found, otherwise an empty string.
"""
with open(path, encoding="utf-8") as file:
for line in file:
if "version =" in line:
# Extracts the value after 'version ='
return re.search(r'version\s*=\s*[\'"](.+?)[\'"]', line).group(1)
return ""
def update_chart_version(path, new_version):
"""
Updates the appVersion in Chart.yaml with a new version.
Args:
path (str): The file path to the Chart.yaml.
new_version (str): The new version to update to.
"""
with open(path, encoding="utf-8") as file:
chart_yaml = yaml.safe_load(file)
chart_yaml["appVersion"] = new_version
with open(path, "w", encoding="utf-8") as file:
yaml.safe_dump(chart_yaml, file)
# Main logic
chart_version = get_chart_version(chart_yaml_path)
gradle_version = get_gradle_version(gradle_path)
if chart_version != gradle_version:
print(
f"Versions do not match. Updating Chart.yaml from {chart_version} to {gradle_version}."
)
update_chart_version(chart_yaml_path, gradle_version)
else:
print("Versions match. No update required.")

View File

@@ -10,6 +10,7 @@ on:
permissions: permissions:
contents: read contents: read
packages: write packages: write
jobs: jobs:
push: push:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -66,6 +67,8 @@ jobs:
images: | images: |
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf ${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
tags: | tags: |
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }}
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }}
@@ -93,6 +96,8 @@ jobs:
images: | images: |
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf ${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
tags: | tags: |
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
type=raw,value=latest-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=latest-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
@@ -119,6 +124,8 @@ jobs:
images: | images: |
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf ${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
tags: | tags: |
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }}
type=raw,value=latest-fat,enable=${{ github.ref == 'refs/heads/master' }} type=raw,value=latest-fat,enable=${{ github.ref == 'refs/heads/master' }}

View File

@@ -14,44 +14,6 @@ permissions:
pull-requests: write pull-requests: write
jobs: jobs:
sync-versions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: pip install pyyaml
- name: Sync versions
run: python .github/scripts/gradle_to_chart.py
- name: Set up git config
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Run git add
run: |
git add .
git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
> Made via sync_files.yml" || echo "no changes"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update files
committer: GitHub Action <action@github.com>
author: GitHub Action <action@github.com>
signoff: true
branch: sync_version
title: ":floppy_disk: Update Version"
body: |
Auto-generated by [create-pull-request][1]
[1]: https://github.com/peter-evans/create-pull-request
draft: false
delete-branch: true
labels: github-actions
sync-readme: sync-readme:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ bin/
tmp/ tmp/
*.tmp *.tmp
*.bak *.bak
*.exe
*.swp *.swp
*~.nib *~.nib
local.properties local.properties

View File

@@ -1,6 +1,7 @@
# New Database Backup and Import Functionality # New Database Backup and Import Functionality
**Full activation will take place on approximately January 5th, 2025!** > [!IMPORTANT]
> **Full activation will take place on approximately January 5th, 2025!**
Why is the waiting time six months? Why is the waiting time six months?

View File

@@ -7,6 +7,7 @@ Stirling-PDF is a robust, locally hosted web-based PDF manipulation tool. This g
## 2. Project Overview ## 2. Project Overview
Stirling-PDF is built using: Stirling-PDF is built using:
- Spring Boot + Thymeleaf - Spring Boot + Thymeleaf
- PDFBox - PDFBox
- LibreOffice - LibreOffice
@@ -20,14 +21,17 @@ Stirling-PDF is built using:
## 3. Development Environment Setup ## 3. Development Environment Setup
### Prerequisites ### Prerequisites
- Docker - Docker
- Git - Git
- Java JDK 17 or later - Java JDK 17 or later
- Gradle 7.0 or later (Included within repo) - Gradle 7.0 or later (Included within repo)
### Setup Steps ### Setup Steps
1. Clone the repository: 1. Clone the repository:
```
```bash
git clone https://github.com/Stirling-Tools/Stirling-PDF.git git clone https://github.com/Stirling-Tools/Stirling-PDF.git
cd Stirling-PDF cd Stirling-PDF
``` ```
@@ -43,10 +47,9 @@ Visit the [Lombok website](https://projectlombok.org/setup/) for installation in
5. Add environment variable 5. Add environment variable
For local testing you should generally be testing the full 'Security' version of Stirling-PDF to do this you must add the environment flag DOCKER_ENABLE_SECURITY=true to your system and/or IDE build/run step For local testing you should generally be testing the full 'Security' version of Stirling-PDF to do this you must add the environment flag DOCKER_ENABLE_SECURITY=true to your system and/or IDE build/run step
## 4. Project Structure ## 4. Project Structure
``` ```bash
Stirling-PDF/ Stirling-PDF/
├── .github/ # GitHub-specific files (workflows, issue templates) ├── .github/ # GitHub-specific files (workflows, issue templates)
├── configs/ # Configuration files used by stirling at runtime (generated at runtime) ├── configs/ # Configuration files used by stirling at runtime (generated at runtime)
@@ -92,6 +95,7 @@ Stirling-PDF/
## 5. Docker-based Development ## 5. Docker-based Development
Stirling-PDF offers several Docker versions: Stirling-PDF offers several Docker versions:
- Full: All features included - Full: All features included
- Ultra-Lite: Basic PDF operations only - Ultra-Lite: Basic PDF operations only
- Fat: Includes additional libraries and fonts predownloaded - Fat: Includes additional libraries and fonts predownloaded
@@ -153,11 +157,13 @@ docker-compose -f exampleYmlFiles/docker-compose-latest-security.yml up
Stirling-PDF uses different Docker images for various configurations. The build process is controlled by environment variables and uses specific Dockerfile variants. Here's how to build the Docker images: Stirling-PDF uses different Docker images for various configurations. The build process is controlled by environment variables and uses specific Dockerfile variants. Here's how to build the Docker images:
1. Set the security environment variable: 1. Set the security environment variable:
```bash ```bash
export DOCKER_ENABLE_SECURITY=false # or true for security-enabled builds export DOCKER_ENABLE_SECURITY=false # or true for security-enabled builds
``` ```
2. Build the project with Gradle: 2. Build the project with Gradle:
```bash ```bash
./gradlew clean build ./gradlew clean build
``` ```
@@ -165,16 +171,19 @@ Stirling-PDF uses different Docker images for various configurations. The build
3. Build the Docker images: 3. Build the Docker images:
For the latest version: For the latest version:
```bash ```bash
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile . docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile .
``` ```
For the ultra-lite version: For the ultra-lite version:
```bash ```bash
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite . docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite .
``` ```
For the fat version (with security enabled): For the fat version (with security enabled):
```bash ```bash
export DOCKER_ENABLE_SECURITY=true export DOCKER_ENABLE_SECURITY=true
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-fat -f ./Dockerfile-fat . docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-fat -f ./Dockerfile-fat .
@@ -182,8 +191,6 @@ Stirling-PDF uses different Docker images for various configurations. The build
Note: The `--no-cache` and `--pull` flags ensure that the build process uses the latest base images and doesn't use cached layers, which is useful for testing and ensuring reproducible builds. however to improve build times these can often be removed depending on your usecase Note: The `--no-cache` and `--pull` flags ensure that the build process uses the latest base images and doesn't use cached layers, which is useful for testing and ensuring reproducible builds. however to improve build times these can often be removed depending on your usecase
## 6. Testing ## 6. Testing
### Comprehensive Testing Script ### Comprehensive Testing Script
@@ -197,6 +204,7 @@ To run the test script:
``` ```
This script performs the following actions: This script performs the following actions:
1. Builds all Docker images (full, ultra-lite, fat) 1. Builds all Docker images (full, ultra-lite, fat)
2. Runs each version to ensure it starts correctly 2. Runs each version to ensure it starts correctly
3. Executes Cucumber tests against main version and ensures feature compatibility, in the event these tests fail your PR will not be merged 3. Executes Cucumber tests against main version and ensures feature compatibility, in the event these tests fail your PR will not be merged
@@ -209,7 +217,6 @@ Note: The `test.sh` script will run automatically when you raise a PR. However,
2. Access the application at `http://localhost:8080` and manually test all features developed. 2. Access the application at `http://localhost:8080` and manually test all features developed.
### Local Testing (Java and UI Components) ### Local Testing (Java and UI Components)
For quick iterations and development of Java backend, JavaScript, and UI components, you can run and test Stirling-PDF locally without Docker. This approach allows you to work on and verify changes to: For quick iterations and development of Java backend, JavaScript, and UI components, you can run and test Stirling-PDF locally without Docker. This approach allows you to work on and verify changes to:
@@ -223,7 +230,8 @@ For quick iterations and development of Java backend, JavaScript, and UI compone
To run Stirling-PDF locally: To run Stirling-PDF locally:
1. Compile and run the project using built in IDE methods or by running: 1. Compile and run the project using built in IDE methods or by running:
```
```bash
./gradlew bootRun ./gradlew bootRun
``` ```
@@ -234,11 +242,11 @@ To run Stirling-PDF locally:
4. For API changes, use tools like Postman or curl to test endpoints directly. 4. For API changes, use tools like Postman or curl to test endpoints directly.
Important notes: Important notes:
- Local testing doesn't include features that depend on external tools like OCRmyPDF, LibreOffice, or Python scripts. - Local testing doesn't include features that depend on external tools like OCRmyPDF, LibreOffice, or Python scripts.
- There are currently no automated unit tests. All testing is done manually through the UI or API calls. (You are welcome to add JUnits!) - There are currently no automated unit tests. All testing is done manually through the UI or API calls. (You are welcome to add JUnits!)
- Always verify your changes in the full Docker environment before submitting pull requests, as some integrations and features will only work in the complete setup. - Always verify your changes in the full Docker environment before submitting pull requests, as some integrations and features will only work in the complete setup.
## 7. Contributing ## 7. Contributing
1. Fork the repository on GitHub. 1. Fork the repository on GitHub.
@@ -246,14 +254,17 @@ Important notes:
3. Make your changes and commit them with clear, descriptive messages and ensure any documentation is updated related to your changes. 3. Make your changes and commit them with clear, descriptive messages and ensure any documentation is updated related to your changes.
4. Test your changes thoroughly in the Docker environment. 4. Test your changes thoroughly in the Docker environment.
5. Run the `test.sh` script to ensure all versions build correctly and pass the Cucumber tests: 5. Run the `test.sh` script to ensure all versions build correctly and pass the Cucumber tests:
```bash ```bash
./test.sh ./test.sh
``` ```
6. Push your changes to your fork. 6. Push your changes to your fork.
7. Submit a pull request to the main repository. 7. Submit a pull request to the main repository.
8. See additional [contributing guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) 8. See additional [contributing guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
When you raise a PR: When you raise a PR:
- The `test.sh` script will run automatically against your PR. - The `test.sh` script will run automatically against your PR.
- The PR checks will verify versioning and dependency updates. - The PR checks will verify versioning and dependency updates.
- Documentation will be automatically updated for dependency changes. - Documentation will be automatically updated for dependency changes.
@@ -268,6 +279,7 @@ API documentation is available at `/swagger-ui/index.html` when running the appl
## 9. Customization ## 9. Customization
Stirling-PDF can be customized through environment variables or a `settings.yml` file. Key customization options include: Stirling-PDF can be customized through environment variables or a `settings.yml` file. Key customization options include:
- Application name and branding - Application name and branding
- Security settings - Security settings
- UI customization - UI customization
@@ -276,7 +288,8 @@ Stirling-PDF can be customized through environment variables or a `settings.yml`
When using Docker, pass environment variables using the `-e` flag or in your `docker-compose.yml` file. When using Docker, pass environment variables using the `-e` flag or in your `docker-compose.yml` file.
Example: Example:
```
```bash
docker run -p 8080:8080 -e APP_NAME="My PDF Tool" stirling-pdf:full docker run -p 8080:8080 -e APP_NAME="My PDF Tool" stirling-pdf:full
``` ```
@@ -293,16 +306,14 @@ For managing language translations that affect multiple files, Stirling-PDF prov
This script helps you make consistent replacements across language files. This script helps you make consistent replacements across language files.
When contributing translations: When contributing translations:
1. Use the helper script for multi-file changes. 1. Use the helper script for multi-file changes.
2. Ensure all language files are updated consistently. 2. Ensure all language files are updated consistently.
3. The PR checks will verify consistency in language file updates. 3. The PR checks will verify consistency in language file updates.
Remember to test your changes thoroughly to ensure they don't break any existing functionality. Remember to test your changes thoroughly to ensure they don't break any existing functionality.
## Code examples
# Code examples
### Overview of Thymeleaf ### Overview of Thymeleaf
@@ -311,22 +322,28 @@ Thymeleaf is a server-side Java HTML template engine. It is used in Stirling-PD
### Thymeleaf overview ### Thymeleaf overview
In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content. In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content.
Some examples of this are
Some examples of this are:
```html ```html
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block> <th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
or or
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block> <th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
``` ```
Where it uses the th:block, th: indicating its a special thymeleaf element to be used serverside in generating the html, and block being the actual element type. Where it uses the th:block, th: indicating its a special thymeleaf element to be used serverside in generating the html, and block being the actual element type.
In this case we are inserting the ``navbar`` entry within the ``fragments/navbar.html`` fragment into the ``th:block`` element. In this case we are inserting the ``navbar`` entry within the ``fragments/navbar.html`` fragment into the ``th:block`` element.
They can be more complex such as They can be more complex such as:
```html ```html
<th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}"></th:block> <th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}"></th:block>
``` ```
Which is the same as above but passes the parameters title and header into the fragment common.html to be used in its HTML generation Which is the same as above but passes the parameters title and header into the fragment common.html to be used in its HTML generation
Thymeleaf can also be used to loop through objects or pass things from java side into html side. Thymeleaf can also be used to loop through objects or pass things from java side into html side.
```java ```java
@GetMapping @GetMapping
public String newFeaturePage(Model model) { public String newFeaturePage(Model model) {
@@ -334,7 +351,9 @@ Thymeleaf can also be used to loop through objects or pass things from java side
return "new-feature"; return "new-feature";
} }
``` ```
in above example if exampleData is a list of plain java objects of class Person and within it you had id, name, age etc. You can reference it like so in above example if exampleData is a list of plain java objects of class Person and within it you had id, name, age etc. You can reference it like so
```html ```html
<tbody> <tbody>
<!-- Use th:each to iterate over the list --> <!-- Use th:each to iterate over the list -->
@@ -346,6 +365,7 @@ in above example if exampleData is a list of plain java objects of class Person
</tr> </tr>
</tbody> </tbody>
``` ```
This would generate n entries of tr for each person in exampleData This would generate n entries of tr for each person in exampleData
### Adding a New Feature to the Backend (API) ### Adding a New Feature to the Backend (API)
@@ -397,34 +417,35 @@ This would generate n entries of tr for each person in exampleData
``` ```
2b. **Integrate the Service with the Controller:** 2b. **Integrate the Service with the Controller:**
- Autowire the service class in the controller and use it to handle the API request.
```java - Autowire the service class in the controller and use it to handle the API request.
package stirling.software.SPDF.controller.api;
import org.springframework.beans.factory.annotation.Autowired; ```java
import org.springframework.web.bind.annotation.GetMapping; package stirling.software.SPDF.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import stirling.software.SPDF.service.NewFeatureService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@RestController import org.springframework.beans.factory.annotation.Autowired;
@RequestMapping("/api/v1/new-feature") import org.springframework.web.bind.annotation.GetMapping;
@Tag(name = "General", description = "General APIs") import org.springframework.web.bind.annotation.RequestMapping;
public class NewFeatureController { import org.springframework.web.bind.annotation.RestController;
import stirling.software.SPDF.service.NewFeatureService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
@Autowired @RestController
private NewFeatureService newFeatureService; @RequestMapping("/api/v1/new-feature")
@Tag(name = "General", description = "General APIs")
public class NewFeatureController {
@GetMapping @Autowired
@Operation(summary = "New Feature", description = "This is a new feature endpoint.") private NewFeatureService newFeatureService;
public String newFeature() {
return newFeatureService.getNewFeatureData(); @GetMapping
} @Operation(summary = "New Feature", description = "This is a new feature endpoint.")
} public String newFeature() {
``` return newFeatureService.getNewFeatureData();
}
}
```
### Adding a New Feature to the Frontend (UI) ### Adding a New Feature to the Frontend (UI)
@@ -511,7 +532,6 @@ This would generate n entries of tr for each person in exampleData
</li> </li>
``` ```
## Adding New Translations to Existing Language Files in Stirling-PDF ## Adding New Translations to Existing Language Files in Stirling-PDF
When adding a new feature or modifying existing ones in Stirling-PDF, you'll need to add new translation entries to the existing language files. Here's a step-by-step guide: When adding a new feature or modifying existing ones in Stirling-PDF, you'll need to add new translation entries to the existing language files. Here's a step-by-step guide:
@@ -522,13 +542,13 @@ Find the existing `messages.properties` files in the `src/main/resources` direct
- `messages.properties` (default, usually English) - `messages.properties` (default, usually English)
- `messages_en_GB.properties` - `messages_en_GB.properties`
- `messages_fr.properties` - `messages_fr_FR.properties`
- `messages_de.properties` - `messages_de_DE.properties`
- etc. - etc.
### 2. Add New Translation Entries ### 2. Add New Translation Entries
Open each of these files and add your new translation entries. For example, if you're adding a new feature called "PDF Splitter", Open each of these files and add your new translation entries. For example, if you're adding a new feature called "PDF Splitter",
Use descriptive, hierarchical keys (e.g., `feature.element.description`) Use descriptive, hierarchical keys (e.g., `feature.element.description`)
you might add: you might add:
@@ -552,6 +572,4 @@ In your Thymeleaf templates, use the `#{key}` syntax to reference the new transl
<button th:text="#{pdfSplitter.button.split}">Split PDF</button> <button th:text="#{pdfSplitter.button.split}">Split PDF</button>
``` ```
Remember, never hard-code text in your templates or Java code. Always use translation keys to ensure proper localization. Remember, never hard-code text in your templates or Java code. Always use translation keys to ensure proper localization.

View File

@@ -1,47 +1,46 @@
| Operation | PageOps | Convert | Security | Other | CLI | Python | OpenCV | LibreOffice | OCRmyPDF | Java | Javascript | | Operation | PageOps | Convert | Security | Other | CLI | Python | OpenCV | LibreOffice | OCRmyPDF | Java | Javascript | Unoconv | Ghostscript |
| ------------------- | ------- | ------- | -------- | ----- | --- | ------ | ------ | ----------- | -------- | ---- | ---------- | | ------------------- | ------- | ------- | -------- | ----- | --- | ------ | ------ | ----------- | -------- | ---- | ---------- | ------- | ----------- |
| adjust-contrast | ✔️ | | | | | | | | | | ✔️ | | adjust-contrast | ✔️ | | | | | | | | | | ✔️ | | |
| auto-split-pdf | ✔️ | | | | | | | | | ✔️ | | | auto-split-pdf | ✔️ | | | | | | | | | ✔️ | | | |
| crop | ✔️ | | | | | | | | | ✔️ | | | crop | ✔️ | | | | | | | | | ✔️ | | | |
| extract-page | ✔️ | | | | | | | | | ✔️ | | | extract-page | ✔️ | | | | | | | | | ✔️ | | | |
| merge-pdfs | ✔️ | | | | | | | | | ✔️ | | | merge-pdfs | ✔️ | | | | | | | | | ✔️ | | | |
| multi-page-layout | ✔️ | | | | | | | | | ✔️ | | | multi-page-layout | ✔️ | | | | | | | | | ✔️ | | | |
| pdf-organizer | ✔️ | | | | | | | | | ✔️ | ✔️ | | pdf-organizer | ✔️ | | | | | | | | | ✔️ | ✔️ | | |
| pdf-to-single-page | ✔️ | | | | | | | | | ✔️ | | | pdf-to-single-page | ✔️ | | | | | | | | | ✔️ | | | |
| remove-pages | ✔️ | | | | | | | | | ✔️ | | | remove-pages | ✔️ | | | | | | | | | ✔️ | | | |
| rotate-pdf | ✔️ | | | | | | | | | ✔️ | | | rotate-pdf | ✔️ | | | | | | | | | ✔️ | | | |
| scale-pages | ✔️ | | | | | | | | | ✔️ | | | scale-pages | ✔️ | | | | | | | | | ✔️ | | | |
| split-pdfs | ✔️ | | | | | | | | | ✔️ | | | split-pdfs | ✔️ | | | | | | | | | ✔️ | | | |
| file-to-pdf | | ✔️ | | | ✔️ | | | ✔️ | | | | | file-to-pdf | | ✔️ | | | ✔️ | ✔️ | | ✔️ | | | | ✔️ | |
| img-to-pdf | | ✔️ | | | | | | | | ✔️ | | | img-to-pdf | | ✔️ | | | | | | | | ✔️ | | | |
| pdf-to-html | | ✔️ | | | ✔️ | | | ✔️ | | | | | pdf-to-html | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
| pdf-to-img | | ✔️ | | | | ✔️ | | | | ✔️ | | | pdf-to-img | | ✔️ | | | | ✔️ | | | | ✔️ | | | |
| pdf-to-pdfa | | ✔️ | | | ✔️ | | | | ✔️ | | | | pdf-to-pdfa | | ✔️ | | | ✔️ | | | | ✔️ | | | | ✔️ |
| pdf-to-markdown | | ✔️ | | | | | | | | ✔️ | | | pdf-to-markdown | | ✔️ | | | | | | | | ✔️ | | | |
| pdf-to-presentation | | ✔️ | | | ✔️ | | | ✔️ | | | | | pdf-to-presentation | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
| pdf-to-text | | ✔️ | | | ✔️ | | | ✔️ | | | | | pdf-to-text | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
| pdf-to-word | | ✔️ | | | ✔️ | | | ✔️ | | | | | pdf-to-word | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
| pdf-to-xml | | ✔️ | | | ✔️ | | | ✔️ | | | | | pdf-to-xml | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
| xlsx-to-pdf | | ✔️ | | | ✔️ | | | ✔️ | | | | | add-password | | | ✔️ | | | | | | | ✔️ | | | |
| add-password | | | ✔️ | | | | | | | ✔️ | | | add-watermark | | | ✔️ | | | | | | | ✔️ | | | |
| add-watermark | | | ✔️ | | | | | | | ✔️ | | | cert-sign | | | ✔️ | | | | | | | ✔️ | | | |
| cert-sign | | | ✔️ | | | | | | | ✔️ | | | remove-cert-sign | | | ✔️ | | | | | | | ✔️ | | | |
| remove-cert-sign | | | ✔️ | | | | | | | ✔️ | | | change-permissions | | | ✔️ | | | | | | | ✔️ | | | |
| change-permissions | | | ✔️ | | | | | | | ✔️ | | | remove-password | | | ✔️ | | | | | | | ✔️ | | | |
| remove-password | | | ✔️ | | | | | | | ✔️ | | | sanitize-pdf | | | ✔️ | | | | | | | ✔️ | | | |
| sanitize-pdf | | | ✔️ | | | | | | | ✔️ | | | add-image | | | | ✔️ | | | | | | ✔️ | | | |
| add-image | | | | ✔️ | | | | | | ✔️ | | | add-page-numbers | | | | ✔️ | | | | | | ✔️ | | | |
| add-page-numbers | | | | ✔️ | | | | | | ✔️ | | | auto-rename | | | | ✔️ | | | | | | ✔️ | | | |
| auto-rename | | | | ✔️ | | | | | | ✔️ | | | change-metadata | | | | ✔️ | | | | | | ✔️ | | | |
| change-metadata | | | | ✔️ | | | | | | ✔️ | | | compare | | | | ✔️ | | | | | | | ✔️ | | |
| compare | | | | ✔️ | | | | | | | ✔️ | | compress-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | ✔️ |
| compress-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | extract-image-scans | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | |
| extract-image-scans | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | extract-images | | | | ✔️ | | | | | | ✔️ | | | |
| extract-images | | | | ✔️ | | | | | | ✔️ | | | flatten | | | | ✔️ | | | | | | | ✔️ | | |
| flatten | | | | ✔️ | | | | | | | ✔️ | | get-info-on-pdf | | | | ✔️ | | | | | | ✔️ | | | |
| get-info-on-pdf | | | | ✔️ | | | | | | ✔️ | | | ocr-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | |
| ocr-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | remove-blanks | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | |
| remove-blanks | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | repair | | | | ✔️ | ✔️ | | | ✔️ | | | | | ✔️ |
| repair | | | | ✔️ | ✔️ | | | ✔️ | | | | | show-javascript | | | | ✔️ | | | | | | | ✔️ | | |
| show-javascript | | | | ✔️ | | | | | | | ✔️ | | sign | | | | ✔️ | | | | | | | ✔️ | | |
| sign | | | | ✔️ | | | | | | | ✔️ |

View File

@@ -1,33 +1,41 @@
## User Guide for Local Directory Scanning and File Processing ## User Guide for Local Directory Scanning and File Processing
### Setting Up Watched Folders: ### Setting Up Watched Folders
- Create a folder where you want your files to be monitored. This is your 'watched folder'. - Create a folder where you want your files to be monitored. This is your 'watched folder'.
- The default directory for this is `./pipeline/watchedFolders/` - The default directory for this is `./pipeline/watchedFolders/`.
- Place any directories you want to be scanned into this folder, this folder should contain multiple folders each for their own tasks and pipelines. - Place any directories you want to be scanned into this folder. This folder should contain multiple folders, each for their own tasks and pipelines.
### Configuring Processing with JSON Files: ### Configuring Processing with JSON Files
- In each directory you want processed (e.g `./pipeline/watchedFolders/officePrinter`), include a JSON configuration file.
- This JSON file should specify how you want the files in the directory to be handled (e.g., what operations to perform on them) which can be made, configured and downloaded from Stirling-PDF Pipeline interface.r - In each directory you want processed (e.g., `./pipeline/watchedFolders/officePrinter`), include a JSON configuration file.
- This JSON file should specify how you want the files in the directory to be handled (e.g., what operations to perform on them). This can be made, configured, and downloaded from the Stirling-PDF Pipeline interface.
### Automatic Scanning and Processing
### Automatic Scanning and Processing:
- The system automatically checks the watched folder every minute for new directories and files to process. - The system automatically checks the watched folder every minute for new directories and files to process.
- When a directory with a valid JSON configuration file is found, it begins processing the files inside as per the configuration. - When a directory with a valid JSON configuration file is found, it begins processing the files inside according to the configuration.
### Processing Steps
### Processing Steps:
- Files in each directory are processed according to the instructions in the JSON file. - Files in each directory are processed according to the instructions in the JSON file.
- This might involve file conversions, data filtering, renaming files, etc. If the output of a step is a zip, this zip will be automatically unzipped as it passes to next process. - This might involve file conversions, data filtering, renaming files, etc. If the output of a step is a zip, this zip will be automatically unzipped as it passes to the next process.
### Results and Output
### Results and Output:
- After processing, the results are saved in a specified output location. This could be a different folder or location as defined in the JSON file or the default location `./pipeline/finishedFolders/`. - After processing, the results are saved in a specified output location. This could be a different folder or location as defined in the JSON file or the default location `./pipeline/finishedFolders/`.
- Each processed file is named and organized according to the rules set in the JSON configuration. - Each processed file is named and organized according to the rules set in the JSON configuration.
### Completion and Cleanup: ### Completion and Cleanup
- Once processing is complete, the original files in the watched folder's directory are removed. - Once processing is complete, the original files in the watched folder's directory are removed.
- You can find the processed files in the designated output location. - You can find the processed files in the designated output location.
### Error Handling: ### Error Handling
- If there's an error during processing, the system will not delete the original files, allowing you to check and retry if necessary. - If there's an error during processing, the system will not delete the original files, allowing you to check and retry if necessary.
### User Interaction: ### User Interaction
- As a user, your main tasks are to set up the watched folders, place directories with files for processing, and create the corresponding JSON configuration files. - As a user, your main tasks are to set up the watched folders, place directories with files for processing, and create the corresponding JSON configuration files.
- The system handles the rest, including scanning, processing, and outputting results. - The system handles the rest, including scanning, processing, and outputting results.

View File

@@ -1,43 +1,47 @@
<p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" ><br><h1 align="center">Stirling-PDF</h1> <p align="center">
<img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80">
<br>
<h1 align="center">Stirling-PDF</h1>
</p> </p>
# How to add new languages to Stirling-PDF # How to add new languages to Stirling-PDF
Fork Stirling-PDF and make a new branch out of Main Fork Stirling-PDF and create a new branch out of `main`.
Then add reference to the language in the navbar by adding a new language entry to the dropdown Then add a reference to the language in the navbar by adding a new language entry to the dropdown:
https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/templates/fragments/languages.html - Edit the file: [languages.html](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/templates/fragments/languages.html)
and add a flag svg file to - Add a flag SVG file to: [flags directory](https://github.com/Stirling-Tools/Stirling-PDF/tree/main/src/main/resources/static/images/flags)
https://github.com/Stirling-Tools/Stirling-PDF/tree/main/src/main/resources/static/images/flags
Any SVG flags are fine, i got most of mine from [here](https://flagicons.lipis.dev/)
If your language isn't represented by a flag just find whichever closely matches it, such as for Arabic i chose Saudi Arabia
For example to add Polish you would add Any SVG flags are fine; most of the current ones were sourced from [here](https://flagicons.lipis.dev/). If your language isn't represented by a flag, choose a similar one, such as Saudi Arabia's flag for Arabic.
For example, to add Polish, you would add:
```html ```html
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="pl_PL"> <a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="pl_PL">
<img src="images/flags/pl.svg" alt="icon" width="20" height="15"> Polski <img src="images/flags/pl.svg" alt="icon" width="20" height="15"> Polski
</a> </a>
``` ```
The data-language-code is the code used to reference the file in the next step. The `data-bs-language-code` is the code used to reference the file in the next step.
Start by copying the existing english property file ### Add Language Property File
[https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties) Start by copying the existing English property file:
Copy and rename it to messages_{your data-language-code here}.properties, in the polish example you would set the name to messages_pl_PL.properties - [messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties)
Then simply translate all property entries within that file and make a PR into main for others to use! Copy and rename it to `messages_{your data-bs-language-code here}.properties`. In the Polish example, you would set the name to `messages_pl_PL.properties`.
If you do not have a java IDE i am happy to verify the changes worked once you raise PR (but won't be able to verify the translations themselves) Then simply translate all property entries within that file and make a Pull Request (PR) into `main` for others to use!
If you do not have a Java IDE, I am happy to verify that the changes work once you raise the PR (but I won't be able to verify the translations themselves).
## Handling Untranslatable Strings ## Handling Untranslatable Strings
Sometimes, certain strings in the properties file may not require translation because they are the same in the target language or are universal (like names of protocols, certain terminologies, etc.). To ensure accurate statistics for language progress, these strings should be added to the `ignore_translation.toml` file located in the `scripts` directory. This will exclude them from the translation progress calculations. Sometimes, certain strings in the properties file may not require translation because they are the same in the target language or are universal (like names of protocols, certain terminologies, etc.). To ensure accurate statistics for language progress, these strings should be added to the `ignore_translation.toml` file located in the `scripts` directory. This will exclude them from the translation progress calculations.
For example, if the English string error=Error does not need translation in Polish, add it to the ignore_translation.toml under the Polish section: For example, if the English string `error=Error` does not need translation in Polish, add it to the `ignore_translation.toml` under the Polish section:
```toml ```toml
[pl_PL] [pl_PL]
@@ -49,7 +53,9 @@ ignore = [
## Add New Translation Tags ## Add New Translation Tags
- **Important**: If you add any new translation tags, they must first be added to the `messages_en_GB.properties` file. This ensures consistency across all language files. > [!IMPORTANT]
> If you add any new translation tags, they must first be added to the `messages_en_GB.properties` file. This ensures consistency across all language files.
- New translation tags **must be added** to the `messages_en_GB.properties` file to maintain a reference for other languages. - New translation tags **must be added** to the `messages_en_GB.properties` file to maintain a reference for other languages.
- After adding the new tags to `messages_en_GB.properties`, add and translate them in the respective language file (e.g., `messages_pl_PL.properties`). - After adding the new tags to `messages_en_GB.properties`, add and translate them in the respective language file (e.g., `messages_pl_PL.properties`).

View File

@@ -3,34 +3,36 @@
This document provides instructions on how to add additional language packs for the OCR tab in Stirling-PDF, both inside and outside of Docker. This document provides instructions on how to add additional language packs for the OCR tab in Stirling-PDF, both inside and outside of Docker.
## My OCR used to work and now doesn't! ## My OCR used to work and now doesn't!
The paths have changed for the tessadata locations on new docker images, please use ``/usr/share/tessdata`` (Others should still work for backwards compatibility but might not)
The paths have changed for the tessdata locations on new Docker images. Please use `/usr/share/tessdata` (Others should still work for backward compatibility but might not).
## How does the OCR Work ## How does the OCR Work
Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) which in turn uses tesseract for its text recognition.
All credit goes to them for this awesome work! Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF), which in turn uses Tesseract for its text recognition. All credit goes to them for this awesome work!
## Language Packs ## Language Packs
Tesseract OCR supports a variety of languages. You can find additional language packs in the Tesseract GitHub repositories: Tesseract OCR supports a variety of languages. You can find additional language packs in the Tesseract GitHub repositories:
- [tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast): These language packs are smaller and faster to load, but may provide lower recognition accuracy. - [tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast): These language packs are smaller and faster to load but may provide lower recognition accuracy.
- [tessdata](https://github.com/tesseract-ocr/tessdata): These language packs are larger and provide better recognition accuracy, but may take longer to load. - [tessdata](https://github.com/tesseract-ocr/tessdata): These language packs are larger and provide better recognition accuracy, but may take longer to load.
Depending on your requirements, you can choose the appropriate language pack for your use case. By default Stirling-PDF uses the tessdata_fast eng but this can be replaced. Depending on your requirements, you can choose the appropriate language pack for your use case. By default, Stirling-PDF uses `tessdata_fast` for English, but this can be replaced.
### Installing Language Packs ### Installing Language Packs
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need. 1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata` 2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
# DO NOT REMOVE EXISTING ENG.TRAINEDDATA, IT'S REQUIRED. **DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.**
#### Docker ### Docker Setup
If you are using Docker, you need to expose the Tesseract tessdata directory as a volume in order to use the additional language packs. If you are using Docker, you need to expose the Tesseract tessdata directory as a volume in order to use the additional language packs.
#### Docker Compose
Modify your `docker-compose.yml` file to include the following volume configuration:
#### Docker Compose
Modify your `docker-compose.yml` file to include the following volume configuration:
```yaml ```yaml
services: services:
@@ -40,18 +42,19 @@ services:
- /location/of/trainingData:/usr/share/tessdata - /location/of/trainingData:/usr/share/tessdata
``` ```
#### Docker Run
Add the following to your existing Docker run command:
#### Docker run
Add the following to your existing docker run command
```bash ```bash
-v /location/of/trainingData:/usr/share/tessdata -v /location/of/trainingData:/usr/share/tessdata
``` ```
#### Non-Docker ### Non-Docker Setup
If you are not using Docker, you need to install the OCR components, including the ocrmypdf app.
You can see [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html)
Debian based systems, install languages with this command: If you are not using Docker, you need to install the OCR components, including the `ocrmypdf` app. You can see the [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html).
For Debian-based systems, install languages with this command:
```bash ```bash
sudo apt update &&\ sudo apt update &&\
@@ -65,7 +68,7 @@ apt search tesseract-ocr-
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g' dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
``` ```
Fedora: For Fedora:
```bash ```bash
# All languages # All languages
@@ -77,3 +80,23 @@ dnf search -C tesseract-langpack-
# View installed languages: # View installed languages:
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g' rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
``` ```
For Windows:
Ensure ocrmypdf in installed with
``pip install ocrmypdf``
Additional languages must be downloaded manually:
Download desired .traineddata files from tessdata or tessdata_fast
Place them in the tessdata folder within your Tesseract installation directory
(e.g., C:\Program Files\Tesseract-OCR\tessdata)
Verify installation:
``tesseract --list-langs``
You must then edit your ``/configs/settings.yml`` and change the system.tessdataDir to match the directory containing lang files
```
system:
tessdataDir: C:/Program Files/Tesseract-OCR/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.
```

View File

@@ -1,48 +1,35 @@
To run the application without Docker/Podman, you will need to manually install all dependencies and build the necessary components. To run the application without Docker/Podman, you will need to manually install all dependencies and build the necessary components.
Note that some dependencies might not be available in the standard repositories of all Linux distributions, and may require additional steps to install. Note that some dependencies might not be available in the standard repositories of all Linux distributions, and may require additional steps to install.
The following guide assumes you have a basic understanding of using a command line interface in your operating system. The following guide assumes you have a basic understanding of using a command line interface in your operating system.
It should work on most Linux distributions and MacOS. For Windows, you might need to use Windows Subsystem for Linux (WSL) for certain steps. It should work on most Linux distributions and MacOS. For Windows, you might need to use Windows Subsystem for Linux (WSL) for certain steps. The amount of dependencies is to actually reduce overall size, i.e., installing LibreOffice subcomponents rather than the full LibreOffice package.
The amount of dependencies is to actually reduce overall size, ie installing LibreOffice sub components rather than full LibreOffice package.
You could theoretically use a Distrobox/Toolbox, if your Distribution has old or not all Packages. But you might just as well use the Docker Container then. You could theoretically use a Distrobox/Toolbox if your distribution has old or not all packages. But you might just as well use the Docker container then.
### Step 1: Prerequisites ### Step 1: Prerequisites
Install the following software, if not already installed: Install the following software, if not already installed:
- Java 17 or later (21 recommended) - Java 17 or later (21 recommended)
- Gradle 7.0 or later (included within repo so not needed on server) - Gradle 7.0 or later (included within repo so not needed on server)
- Git - Git
- Python 3.8 (with pip) - Python 3.8 (with pip)
- Make - Make
- GCC/G++ - GCC/G++
- Automake - Automake
- Autoconf - Autoconf
- libtool - libtool
- pkg-config - pkg-config
- zlib1g-dev - zlib1g-dev
- libleptonica-dev - libleptonica-dev
For Debian-based systems, you can use the following command: For Debian-based systems, you can use the following command:
```bash ```bash
sudo apt-get update sudo apt-get update
sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-21-jdk python3 python3-pip sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-21-jdk python3 python3-pip
``` ```
For Fedora-based systems use this command: For Fedora-based systems use this command:
@@ -52,6 +39,7 @@ sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zli
``` ```
For non-root users with Nix Package Manager, use the following command: For non-root users with Nix Package Manager, use the following command:
```bash ```bash
nix-channel --update nix-channel --update
nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica
@@ -63,45 +51,37 @@ For Debian and Fedora, you can build it from source using the following commands
```bash ```bash
mkdir ~/.git mkdir ~/.git
cd ~/.git &&\ cd ~/.git && \
git clone https://github.com/agl/jbig2enc.git &&\ git clone https://github.com/agl/jbig2enc.git && \
cd jbig2enc &&\ cd jbig2enc && \
./autogen.sh &&\ ./autogen.sh && \
./configure &&\ ./configure && \
make &&\ make && \
sudo make install sudo make install
``` ```
For Nix, you will face `Leptonica not detected`. Bypass this by installing it directly using the following command: For Nix, you will face `Leptonica not detected`. Bypass this by installing it directly using the following command:
```bash ```bash
nix-env -iA nixpkgs.jbig2enc nix-env -iA nixpkgs.jbig2enc
``` ```
### Step 3: Install Additional Software ### Step 3: Install Additional Software
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for pattern recognition functionality.
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and OpenCV for pattern recognition functionality.
Install the following software: Install the following software:
- libreoffice-core - libreoffice-core
- libreoffice-common - libreoffice-common
- libreoffice-writer - libreoffice-writer
- libreoffice-calc - libreoffice-calc
- libreoffice-impress - libreoffice-impress
- python3-uno - python3-uno
- unoconv - unoconv
- pngquant - pngquant
- unpaper - unpaper
- ocrmypdf - ocrmypdf
- opencv-python-headless - opencv-python-headless
For Debian-based systems, you can use the following command: For Debian-based systems, you can use the following command:
@@ -128,51 +108,52 @@ pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
### Step 4: Clone and Build Stirling-PDF ### Step 4: Clone and Build Stirling-PDF
```bash ```bash
cd ~/.git &&\ cd ~/.git && \
git clone https://github.com/Stirling-Tools/Stirling-PDF.git &&\ git clone https://github.com/Stirling-Tools/Stirling-PDF.git && \
cd Stirling-PDF &&\ cd Stirling-PDF && \
chmod +x ./gradlew &&\ chmod +x ./gradlew && \
./gradlew build ./gradlew build
``` ```
### Step 5: Move jar to desired location ### Step 5: Move Jar to Desired Location
After the build process, a `.jar` file will be generated in the `build/libs` directory. After the build process, a `.jar` file will be generated in the `build/libs` directory. You can move this file to a desired location, for example, `/opt/Stirling-PDF/`. You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory. This folder is required for the Python scripts using OpenCV.
You can move this file to a desired location, for example, `/opt/Stirling-PDF/`.
You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory.
This folder is required for the python scripts using OpenCV.
```bash ```bash
sudo mkdir /opt/Stirling-PDF &&\ sudo mkdir /opt/Stirling-PDF && \
sudo mv ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ &&\ sudo mv ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ && \
sudo mv scripts /opt/Stirling-PDF/ &&\ sudo mv scripts /opt/Stirling-PDF/ && \
echo "Scripts installed." echo "Scripts installed."
``` ```
For non-root users, you can just keep the jar in the main directory of Stirling-PDF using the following command: For non-root users, you can just keep the jar in the main directory of Stirling-PDF using the following command:
```bash ```bash
mv ./build/libs/Stirling-PDF-*.jar ./Stirling-PDF-*.jar mv ./build/libs/Stirling-PDF-*.jar ./Stirling-PDF-*.jar
``` ```
### Step 6: Other files ### Step 6: Other Files
#### OCR #### OCR
If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running non-english scanning.
If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running non-English scanning.
##### Installing Language Packs ##### Installing Language Packs
Easiest is to use the langpacks provided by your repositories. Skip the other steps.
Manual: The easiest method is to use the language packs provided by your repositories. Skip the other steps if they are available.
**Manual:**
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need. 1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata` 2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
3. Please view [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html) for more info. 3. Please view [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html) for more info.
**IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED. **IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.
Debian based systems, install languages with this command: **Debian-based systems**, install languages with this command:
```bash ```bash
sudo apt update &&\ sudo apt update && \
# All languages # All languages
# sudo apt install -y 'tesseract-ocr-*' # sudo apt install -y 'tesseract-ocr-*'
@@ -183,7 +164,7 @@ apt search tesseract-ocr-
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g' dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
``` ```
Fedora: **Fedora:**
```bash ```bash
# All languages # All languages
@@ -196,13 +177,13 @@ dnf search -C tesseract-langpack-
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g' rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
``` ```
Nix: **Nix:**
```bash ```bash
nix-env -iA nixpkgs.tesseract nix-env -iA nixpkgs.tesseract
``` ```
**Note:** Nix Package Manager pre-installs almost all the language packs when tesseract is installed. **Note:** Nix Package Manager pre-installs almost all the language packs when Tesseract is installed.
### Step 7: Run Stirling-PDF ### Step 7: Run Stirling-PDF
@@ -214,11 +195,13 @@ or
java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar
``` ```
Since libreoffice, soffice, and conversion tools have their dbus_tmp_dir set as `dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"`, you might get the following error when using their endpoints: Since LibreOffice, soffice, and conversion tools have their dbus_tmp_dir set as `dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"`, you might get the following error when using their endpoints:
``` ```
[Thread-7] INFO s.s.SPDF.utils.ProcessExecutor - mkdir: cannot create directory /run/user/1501: Permission denied [Thread-7] INFO s.s.SPDF.utils.ProcessExecutor - mkdir: cannot create directory /run/user/1501: Permission denied
``` ```
To resolve this, before starting the Stirling-PDF, you have to set the environment variable to a directory you have write access to by using the following commands:
To resolve this, before starting Stirling-PDF, you have to set the environment variable to a directory you have write access to by using the following commands:
```bash ```bash
mkdir temp mkdir temp
@@ -228,9 +211,10 @@ or
java -jar ./Stirling-PDF-*.jar java -jar ./Stirling-PDF-*.jar
``` ```
### Step 8: Adding a Desktop icon ### Step 8: Adding a Desktop Icon
This will add a modified app starter to your app menu.
This will add a modified Appstarter to your Appmenu.
```bash ```bash
location=$(pwd)/gradlew location=$(pwd)/gradlew
image=$(pwd)/docs/stirling-transparent.svg image=$(pwd)/docs/stirling-transparent.svg
@@ -251,35 +235,40 @@ EOF
Note: Currently the app will run in the background until manually closed. Note: Currently the app will run in the background until manually closed.
### Optional: Changing the host and port of the application: ### Optional: Changing the Host and Port of the Application
To override the default configuration, you can add the following to `/.git/Stirling-PDF/configs/custom_settings.yml` file: To override the default configuration, you can add the following to `/.git/Stirling-PDF/configs/custom_settings.yml` file:
```bash ```yaml
server: server:
host: 0.0.0.0 # Not working - use instead address host: 0.0.0.0 # Not working - use instead address
address: 0.0.0.0 address: 0.0.0.0
port: 3000 port: 3000
``` ```
'-Djava.net.preferIPv4Stack=true' --> To force ipv4 only in the java starting command
`-Djava.net.preferIPv4Stack=true` --> To force IPv4 only in the Java starting command
**Note:** This file is created after the first application launch. To have it before that, you can create the directory and add the file yourself. **Note:** This file is created after the first application launch. To have it before that, you can create the directory and add the file yourself.
### Optional: Run Stirling-PDF as a service (requires root). ### Optional: Run Stirling-PDF as a Service (requires root)
First create a .env file, where you can store environment variables: First create a `.env` file, where you can store environment variables:
```
```bash
touch /opt/Stirling-PDF/.env touch /opt/Stirling-PDF/.env
``` ```
In this file you can add all variables, one variable per line, as stated in the main readme (for example SYSTEM_DEFAULTLOCALE="de-DE").
Create a new file where we store our service settings and open it with nano editor: In this file, you can add all variables, one variable per line, as stated in the main readme (for example `SYSTEM_DEFAULTLOCALE="de-DE"`).
```
Create a new file where we store our service settings and open it with the nano editor:
```bash
nano /etc/systemd/system/stirlingpdf.service nano /etc/systemd/system/stirlingpdf.service
``` ```
Paste this content, make sure to update the filename of the jar-file. Press Ctrl+S and Ctrl+X to save and exit the nano editor: Paste this content, make sure to update the filename of the jar file. Press `Ctrl+S` and `Ctrl+X` to save and exit the nano editor:
```
```ini
[Unit] [Unit]
Description=Stirling-PDF service Description=Stirling-PDF service
After=syslog.target network.target After=syslog.target network.target
@@ -303,22 +292,25 @@ WantedBy=multi-user.target
Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file): Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file):
``` ```bash
sudo systemctl daemon-reload sudo systemctl daemon-reload
``` ```
Enable the service to tell the service to start it automatically: Enable the service to tell it to start automatically:
```
```bash
sudo systemctl enable stirlingpdf.service sudo systemctl enable stirlingpdf.service
``` ```
See the status of the service: See the status of the service:
```
```bash
sudo systemctl status stirlingpdf.service sudo systemctl status stirlingpdf.service
``` ```
Manually start/stop/restart the service: Manually start/stop/restart the service:
```
```bash
sudo systemctl start stirlingpdf.service sudo systemctl start stirlingpdf.service
sudo systemctl stop stirlingpdf.service sudo systemctl stop stirlingpdf.service
sudo systemctl restart stirlingpdf.service sudo systemctl restart stirlingpdf.service
@@ -326,12 +318,11 @@ sudo systemctl restart stirlingpdf.service
--- ---
Remember to set the necessary environment variables before running the project if you want to customize the application the list can be seen in the main readme. Remember to set the necessary environment variables before running the project if you want to customize the application. The list can be seen in the main readme.
You can do this in the terminal by using the `export` command or -D argument to java -jar command: You can do this in the terminal by using the `export` command or `-D` argument to the Java `-jar` command:
```bash ```bash
export APP_HOME_NAME="Stirling PDF" export APP_HOME_NAME="Stirling PDF"
or or
-DAPP_HOME_NAME="Stirling PDF" -DAPP_HOME_NAME="Stirling PDF"
```

View File

@@ -1,6 +1,7 @@
# Pipeline Configuration and Usage Tutorial # Pipeline Configuration and Usage Tutorial
- Configure the pipeline config file and input files to run files against it
- For reuse, download the config file and re-upload it when needed, or place it in /pipeline/defaultWebUIConfigs/ to auto-load in the web UI for all users - Configure the pipeline config file and input files to run files against it.
- For reuse, download the config file and re-upload it when needed, or place it in `/pipeline/defaultWebUIConfigs/` to auto-load in the web UI for all users.
## Steps to Configure and Use Your Pipeline ## Steps to Configure and Use Your Pipeline
@@ -26,19 +27,16 @@
- Use the **Validation** button to check your pipeline. A green indicator signifies correct setup; a pop-out error indicates issues. - Use the **Validation** button to check your pipeline. A green indicator signifies correct setup; a pop-out error indicates issues.
8. **Download Pipeline Configuration** 8. **Download Pipeline Configuration**
- To use the configuration for folder scanning (or save it for future use and reupload it), you can also download a JSON file in this menu. You can also pre-load this for future use by placing it in ``/pipeline/defaultWebUIConfigs/``. It will then appear in the dropdown menu for all users to use. - To use the configuration for folder scanning (or save it for future use and re-upload it), download a JSON file in this menu. You can also pre-load it for future use by placing it in `/pipeline/defaultWebUIConfigs/`. It will then appear in the dropdown menu for all users to use.
9. **Submit Files for Processing** 9. **Submit Files for Processing**
- If your pipeline is correctly set up close the configure menu, input the files and hit **Submit**. - If your pipeline is correctly set up, close the configure menu, input the files, and hit **Submit**.
10. **Note on Web UI Limitations** 10. **Note on Web UI Limitations**
- The current web UI version does not support operations that require multiple different types of inputs, such as adding a separate image to a PDF. - The current web UI version does not support operations that require multiple different types of inputs, such as adding a separate image to a PDF.
### Current Limitations ### Current Limitations
- Cannot have more than one of the same operation
- Cannot input additional files via UI
- All files and operations run in serial mode
- Cannot have more than one of the same operation.
- Cannot input additional files via UI.
- All files and operations run in serial mode.

440
README.md
View File

@@ -1,4 +1,4 @@
<p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" ></p> <p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80"></p>
<h1 align="center">Stirling-PDF</h1> <h1 align="center">Stirling-PDF</h1>
[![Docker Pulls](https://img.shields.io/docker/pulls/frooodle/s-pdf)](https://hub.docker.com/r/frooodle/s-pdf) [![Docker Pulls](https://img.shields.io/docker/pulls/frooodle/s-pdf)](https://hub.docker.com/r/frooodle/s-pdf)
@@ -7,11 +7,10 @@
[![GitHub Repo stars](https://img.shields.io/github/stars/stirling-tools/stirling-pdf?style=social)](https://github.com/Stirling-Tools/stirling-pdf) [![GitHub Repo stars](https://img.shields.io/github/stars/stirling-tools/stirling-pdf?style=social)](https://github.com/Stirling-Tools/stirling-pdf)
[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af) [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af)
[<img src="https://www.ssdnodes.com/wp-content/uploads/2023/11/footer-logo.svg" alt="Name" height="40">](https://www.ssdnodes.com/manage/aff.php?aff=2216&register=true)
This is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements. [Stirling-PDF](https://www.stirlingpdf.com) is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements.
Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes. Stirling-PDF does not initiate any outbound calls for record-keeping or tracking purposes.
All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point. All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point.
@@ -19,7 +18,8 @@ All files and PDFs exist either exclusively on the client side, reside in server
## Features ## Features
- Dark mode support. - Enterprise features like SSO Check [here](https://docs.stirlingpdf.com/Enterprise%20Edition)
- Dark mode support
- Custom download options - Custom download options
- Parallel file processing and downloads - Parallel file processing and downloads
- Custom 'Pipelines' to run multiple features in a queue - Custom 'Pipelines' to run multiple features in a queue
@@ -27,68 +27,76 @@ All files and PDFs exist either exclusively on the client side, reside in server
- Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation) - Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation)
- Database Backup and Import (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DATABASE.md) for documentation) - Database Backup and Import (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DATABASE.md) for documentation)
## **PDF Features**
### **Page Operations** ## PDF Features
- View and modify PDFs - View multi page PDFs with custom viewing sorting and searching. Plus on page edit features like annotate, draw and adding text and images. (Using PDF.js with Joxit and Liberation.Liberation fonts) ### Page Operations
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages.
- Merge multiple PDFs together into a single resultant file.
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files.
- Reorganize PDF pages into different orders.
- Rotate PDFs in 90-degree increments.
- Remove pages.
- Multi-page layout (Format PDFs into a multi-paged page).
- Scale page contents size by set %.
- Adjust Contrast.
- Crop PDF.
- Auto Split PDF (With physically scanned page dividers).
- Extract page(s).
- Convert PDF to a single page.
- Overlay PDFs ontop of each other
### **Conversion Operations** - View and modify PDFs - View multi-page PDFs with custom viewing, sorting, and searching. Plus on-page edit features like annotate, draw, and adding text and images. (Using PDF.js with Joxit and Liberation fonts)
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages
- Merge multiple PDFs into a single resultant file
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files
- Reorganize PDF pages into different orders
- Rotate PDFs in 90-degree increments
- Remove pages
- Multi-page layout (format PDFs into a multi-paged page)
- Scale page contents size by set percentage
- Adjust contrast
- Crop PDF
- Auto split PDF (with physically scanned page dividers)
- Extract page(s)
- Convert PDF to a single page
- Overlay PDFs on top of each other
- PDF to single page
- Split PDF by sections
- Convert PDFs to and from images. ### Conversion Operations
- Convert any common file to PDF (using LibreOffice).
- Convert PDF to Word/Powerpoint/Others (using LibreOffice).
- Convert HTML to PDF.
- URL to PDF.
- Markdown to PDF.
### **Security & Permissions** - Convert PDFs to and from images
- Convert any common file to PDF (using LibreOffice)
- Convert PDF to Word/PowerPoint/others (using LibreOffice)
- Convert HTML to PDF
- Convert PDF to xml
- Convert PDF to CSV
- URL to PDF
- Markdown to PDF
- Add and remove passwords. ### Security & Permissions
- Change/set PDF Permissions.
- Add watermark(s).
- Certify/sign PDFs.
- Sanitize PDFs.
- Auto-redact text.
### **Other Operations** - Add and remove passwords
- Change/set PDF permissions
- Add watermark(s)
- Certify/sign PDFs
- Sanitize PDFs
- Auto-redact text
- Add/Generate/Write signatures. ### Other Operations
- Repair PDFs.
- Detect and remove blank pages.
- Compare 2 PDFs and show differences in text.
- Add images to PDFs.
- Compress PDFs to decrease their filesize (Using OCRMyPDF).
- Extract images from PDF.
- Extract images from Scans.
- Add page numbers.
- Auto rename file by detecting PDF header text.
- OCR on PDF (Using OCRMyPDF).
- PDF/A conversion (Using OCRMyPDF).
- Edit metadata.
- Flatten PDFs.
- Get all information on a PDF to view or export as JSON.
- Show/Detect embedded Javascript
For a overview of the tasks and the technology each uses please view [Endpoint-groups.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md) - Add/generate/write signatures
- Split by Size or PDF
- Repair PDFs
- Detect and remove blank pages
- Compare two PDFs and show differences in text
- Add images to PDFs
- Compress PDFs to decrease their filesize (using OCRMyPDF)
- Extract images from PDF
- Remove images from PDF
- Extract images from scans
- Remove annotations
- Add page numbers
- Auto rename file by detecting PDF header text
- OCR on PDF (using OCRMyPDF)
- PDF/A conversion (using OCRMyPDF)
- Edit metadata
- Flatten PDFs
- Get all information on a PDF to view or export as JSON
- Show/detect embedded JavaScript
Demo of the app is available [here](https://stirlingpdf.io). For an overview of the tasks and the technology each uses, please view [Endpoint-groups.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md).
## Technologies used A demo of the app is available [here](https://stirlingpdf.io).
## Technologies Used
- Spring Boot + Thymeleaf - Spring Boot + Thymeleaf
- [PDFBox](https://github.com/apache/pdfbox/tree/trunk) - [PDFBox](https://github.com/apache/pdfbox/tree/trunk)
@@ -99,27 +107,28 @@ Demo of the app is available [here](https://stirlingpdf.io).
- [PDF.js](https://github.com/mozilla/pdf.js) - [PDF.js](https://github.com/mozilla/pdf.js)
- [PDF-LIB.js](https://github.com/Hopding/pdf-lib) - [PDF-LIB.js](https://github.com/Hopding/pdf-lib)
## How to use ## How to Use
### Windows ### Windows
For windows users download the latest Stirling-PDF.exe from our [release](https://github.com/Stirling-Tools/Stirling-PDF/releases) section or by clicking [here](https://github.com/Stirling-Tools/Stirling-PDF/releases/latest/download/Stirling-PDF.exe)
For Windows users, download the latest Stirling-PDF.exe from our [release](https://github.com/Stirling-Tools/Stirling-PDF/releases) section or by clicking [here](https://github.com/Stirling-Tools/Stirling-PDF/releases/latest/download/Stirling-PDF.exe).
### Locally ### Locally
Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/LocalRunGuide.md Please view the [LocalRunGuide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/LocalRunGuide.md).
### Docker / Podman ### Docker / Podman
https://hub.docker.com/r/frooodle/s-pdf > [!NOTE]
> <https://hub.docker.com/r/frooodle/s-pdf>
Stirling-PDF has three different versions: a full version, an ultra-lite version, and a 'fat' version. Depending on the types of features you use, you may want a smaller image to save on space. To see what the different versions offer, please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md). For people that don't mind space optimization, just use the latest tag.
Stirling PDF has 3 different versions, a Full version and ultra-Lite version as well as a 'Fat' version. Depending on the types of features you use you may want a smaller image to save on space.
To see what the different versions offer please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md)
For people that don't mind about space optimization just use the latest tag.
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest?label=Stirling-PDF%20Full) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest?label=Stirling-PDF%20Full)
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite)
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-fat?label=Stirling-PDF%20Fat) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-fat?label=Stirling-PDF%20Fat)
Please note in below examples you may need to change the volume paths as needed, current examples install them to the current working directory Please note in the examples below, you may need to change the volume paths as needed, e.g., `./extraConfigs:/configs` to `/opt/stirlingpdf/extraConfigs:/configs`.
eg ``./extraConfigs:/configs`` to ``/opt/stirlingpdf/extraConfigs:/configs``
### Docker Run ### Docker Run
@@ -129,15 +138,13 @@ docker run -d \
-v ./trainingData:/usr/share/tessdata \ -v ./trainingData:/usr/share/tessdata \
-v ./extraConfigs:/configs \ -v ./extraConfigs:/configs \
-v ./logs:/logs \ -v ./logs:/logs \
# Optional customization (not required)
# -v /location/of/customFiles:/customFiles \
-e DOCKER_ENABLE_SECURITY=false \ -e DOCKER_ENABLE_SECURITY=false \
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \ -e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
-e LANGS=en_GB \ -e LANGS=en_GB \
--name stirling-pdf \ --name stirling-pdf \
frooodle/s-pdf:latest frooodle/s-pdf:latest
Can also add these for customisation but are not required
-v /location/of/customFiles:/customFiles \
``` ```
### Docker Compose ### Docker Compose
@@ -150,7 +157,7 @@ services:
ports: ports:
- '8080:8080' - '8080:8080'
volumes: volumes:
- ./trainingData:/usr/share/tessdata #Required for extra OCR languages - ./trainingData:/usr/share/tessdata # Required for extra OCR languages
- ./extraConfigs:/configs - ./extraConfigs:/configs
# - ./customFiles:/customFiles/ # - ./customFiles:/customFiles/
# - ./logs:/logs/ # - ./logs:/logs/
@@ -162,196 +169,257 @@ services:
Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman". Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman".
## Enable OCR/Compression feature ### Kubernetes
Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md See the kubernetes helm chart [here](https://github.com/Stirling-Tools/Stirling-PDF-chart)
## Enable OCR/Compression Feature
Please view the [HowToUseOCR.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md).
## Reuse Stored Files
Certain functionality like `Sign` supports pre-saved files stored at `/customFiles/signatures/`. Image files placed within here will be accessible to be used via the web UI. Currently, this supports two folder types:
- `/customFiles/signatures/ALL_USERS`: Accessible to all users, useful for organizations where many users use the same files or for users not using authentication
- `/customFiles/signatures/{username}`: Such as `/customFiles/signatures/froodle`, accessible only to the `froodle` username, private for all others
## Supported Languages ## Supported Languages
Stirling PDF currently supports 38! Stirling-PDF currently supports 36 languages!
| Language | Progress | | Language | Progress |
| ------------------------------------------- | -------------------------------------- | | -------------------------------------------- | -------------------------------------- |
| Arabic (العربية) (ar_AR) | ![94%](https://geps.dev/progress/94) | | Arabic (العربية) (ar_AR) | ![97%](https://geps.dev/progress/97) |
| Basque (Euskara) (eu_ES) | ![57%](https://geps.dev/progress/57) | | Basque (Euskara) (eu_ES) | ![55%](https://geps.dev/progress/55) |
| Bulgarian (Български) (bg_BG) | ![99%](https://geps.dev/progress/99) | | Bulgarian (Български) (bg_BG) | ![96%](https://geps.dev/progress/96) |
| Catalan (Català) (ca_CA) | ![44%](https://geps.dev/progress/44) | | Catalan (Català) (ca_CA) | ![90%](https://geps.dev/progress/90) |
| Croatian (Hrvatski) (hr_HR) | ![87%](https://geps.dev/progress/87) | | Croatian (Hrvatski) (hr_HR) | ![98%](https://geps.dev/progress/98) |
| Czech (Česky) (cs_CZ) | ![83%](https://geps.dev/progress/83) | | Czech (Česky) (cs_CZ) | ![97%](https://geps.dev/progress/97) |
| Danish (Dansk) (da_DK) | ![91%](https://geps.dev/progress/91) | | Danish (Dansk) (da_DK) | ![96%](https://geps.dev/progress/96) |
| Dutch (Nederlands) (nl_NL) | ![88%](https://geps.dev/progress/88) | | Dutch (Nederlands) (nl_NL) | ![96%](https://geps.dev/progress/96) |
| English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) |
| English (US) (en_US) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) |
| French (Français) (fr_FR) | ![88%](https://geps.dev/progress/88) | | French (Français) (fr_FR) | ![97%](https://geps.dev/progress/97) |
| German (Deutsch) (de_DE) | ![94%](https://geps.dev/progress/94) | | German (Deutsch) (de_DE) | ![99%](https://geps.dev/progress/99) |
| Greek (Ελληνικά) (el_GR) | ![75%](https://geps.dev/progress/75) | | Greek (Ελληνικά) (el_GR) | ![97%](https://geps.dev/progress/97) |
| Hindi (हिंदी) (hi_IN) | ![72%](https://geps.dev/progress/72) | | Hindi (हिंदी) (hi_IN) | ![95%](https://geps.dev/progress/95) |
| Hungarian (Magyar) (hu_HU) | ![69%](https://geps.dev/progress/69) | | Hungarian (Magyar) (hu_HU) | ![98%](https://geps.dev/progress/98) |
| Indonesia (Bahasa Indonesia) (id_ID) | ![70%](https://geps.dev/progress/70) | | Indonesian (Bahasa Indonesia) (id_ID) | ![97%](https://geps.dev/progress/97) |
| Irish (Gaeilge) (ga_IE) | ![90%](https://geps.dev/progress/90) | | Irish (Gaeilge) (ga_IE) | ![88%](https://geps.dev/progress/88) |
| Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) | | Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) |
| Japanese (日本語) (ja_JP) | ![87%](https://geps.dev/progress/87) | | Japanese (日本語) (ja_JP) | ![85%](https://geps.dev/progress/85) |
| Korean (한국어) (ko_KR) | ![77%](https://geps.dev/progress/77) | | Korean (한국어) (ko_KR) | ![95%](https://geps.dev/progress/95) |
| Norwegian (Norsk) (no_NB) | ![90%](https://geps.dev/progress/90) | | Norwegian (Norsk) (no_NB) | ![87%](https://geps.dev/progress/87) |
| Polish (Polski) (pl_PL) | ![99%](https://geps.dev/progress/99) | | Polish (Polski) (pl_PL) | ![97%](https://geps.dev/progress/97) |
| Portuguese (Português) (pt_PT) | ![72%](https://geps.dev/progress/72) | | Portuguese (Português) (pt_PT) | ![97%](https://geps.dev/progress/97) |
| Portuguese Brazilian (Português) (pt_BR) | ![99%](https://geps.dev/progress/99) | | Portuguese Brazilian (Português) (pt_BR) | ![98%](https://geps.dev/progress/98) |
| Romanian (Română) (ro_RO) | ![92%](https://geps.dev/progress/92) | | Romanian (Română) (ro_RO) | ![90%](https://geps.dev/progress/90) |
| Russian (Русский) (ru_RU) | ![77%](https://geps.dev/progress/77) | | Russian (Русский) (ru_RU) | ![97%](https://geps.dev/progress/97) |
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![72%](https://geps.dev/progress/72) | | Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![70%](https://geps.dev/progress/70) |
| Simplified Chinese (简体中文) (zh_CN) | ![93%](https://geps.dev/progress/93) | | Simplified Chinese (简体中文) (zh_CN) | ![91%](https://geps.dev/progress/91) |
| Slovakian (Slovensky) (sk_SK) | ![84%](https://geps.dev/progress/84) | | Slovakian (Slovensky) (sk_SK) | ![82%](https://geps.dev/progress/82) |
| Spanish (Español) (es_ES) | ![93%](https://geps.dev/progress/93) | | Spanish (Español) (es_ES) | ![98%](https://geps.dev/progress/98) |
| Swedish (Svenska) (sv_SE) | ![92%](https://geps.dev/progress/92) | | Swedish (Svenska) (sv_SE) | ![97%](https://geps.dev/progress/97) |
| Thai (ไทย) (th_TH) | ![91%](https://geps.dev/progress/91) | | Thai (ไทย) (th_TH) | ![96%](https://geps.dev/progress/96) |
| Traditional Chinese (繁體中文) (zh_TW) | ![99%](https://geps.dev/progress/99) | | Traditional Chinese (繁體中文) (zh_TW) | ![98%](https://geps.dev/progress/98) |
| Turkish (Türkçe) (tr_TR) | ![94%](https://geps.dev/progress/94) | | Turkish (Türkçe) (tr_TR) | ![92%](https://geps.dev/progress/92) |
| Ukrainian (Українська) (uk_UA) | ![82%](https://geps.dev/progress/82) | | Ukrainian (Українська) (uk_UA) | ![80%](https://geps.dev/progress/80) |
| Vietnamese (Tiếng Việt) (vi_VN) | ![91%](https://geps.dev/progress/91) | | Vietnamese (Tiếng Việt) (vi_VN) | ![88%](https://geps.dev/progress/88) |
## Contributing (creating issues, translations, fixing bugs, etc.) ## Contributing (Creating Issues, Translations, Fixing Bugs, etc.)
Please see our [Contributing Guide](CONTRIBUTING.md)! Please see our [Contributing Guide](CONTRIBUTING.md).
## Customisation ## Stirling PDF Enterprise
Stirling PDF allows easy customization of the app. Stirling PDF offers a Enterprise edition of its software, This is the same great software but with added features and comforts
Includes things like
### Whats included
- Prioritised Support tickets via support@stirlingpdf.com to reach directly to Stirling-PDF team for support and 1:1 meetings where applicable (Provided they come from same email domain registered with us)
- Prioritised Enhancements to Stirling-PDF where applicable
- Base SSO support
- Advanced SSO such as automated login handling (Coming very soon)
- SAML SSO (Coming very soon)
- Custom automated metadata handling
- Advanced user configurations (Coming soon)
- Plus other exciting features to come
Check out of [docs](https://docs.stirlingpdf.com/Enterprise%20Edition) on it or our official [website](https://www.stirlingpdf.com)
## Customization
Stirling-PDF allows easy customization of the app, including things like:
- Custom application name - Custom application name
- Custom slogans, icons, HTML, images CSS etc (via file overrides) - Custom slogans, icons, HTML, images, CSS, etc. (via file overrides)
There are two options for this, either using the generated settings file ``settings.yml`` There are two options for this, either using the generated settings file `settings.yml`, which is located in the `/configs` directory and follows standard YAML formatting, or using environment variables, which would override the settings file.
This file is located in the ``/configs`` directory and follows standard YAML formatting
Environment variables are also supported and would override the settings file For example, in `settings.yml`, you might have:
For example in the settings.yml you have
```yaml ```yaml
security: security:
enableLogin: 'true' enableLogin: 'true'
``` ```
To have this via an environment variable you would have ``SECURITY_ENABLELOGIN`` To have this via an environment variable, you would use `SECURITY_ENABLELOGIN`.
The Current list of settings is The current list of settings is:
```yaml ```yaml
security: security:
enableLogin: false # set to 'true' to enable login enableLogin: false # set to 'true' to enable login
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production) csrfDisabled: true # set to 'true' to disable CSRF protection (not recommended for production)
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1 loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2) loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
initialLogin: initialLogin:
username: '' # Initial username for the first login username: '' # initial username for the first login
password: '' # Initial password for the first login password: '' # initial password for the first login
oauth2: oauth2:
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work) enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
client: client:
keycloak: keycloak:
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
clientId: '' # Client ID for Keycloak OAuth2 clientId: '' # client ID for Keycloak OAuth2
clientSecret: '' # Client Secret for Keycloak OAuth2 clientSecret: '' # client secret for Keycloak OAuth2
scopes: openid, profile, email # Scopes for Keycloak OAuth2 scopes: openid, profile, email # scopes for Keycloak OAuth2
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2 useAsUsername: preferred_username # field to use as the username for Keycloak OAuth2
google: google:
clientId: '' # Client ID for Google OAuth2 clientId: '' # client ID for Google OAuth2
clientSecret: '' # Client Secret for Google OAuth2 clientSecret: '' # client secret for Google OAuth2
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2 scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # scopes for Google OAuth2
useAsUsername: email # Field to use as the username for Google OAuth2 useAsUsername: email # field to use as the username for Google OAuth2
github: github:
clientId: '' # Client ID for GitHub OAuth2 clientId: '' # client ID for GitHub OAuth2
clientSecret: '' # Client Secret for GitHub OAuth2 clientSecret: '' # client secret for GitHub OAuth2
scopes: read:user # Scope for GitHub OAuth2 scopes: read:user # scope for GitHub OAuth2
useAsUsername: login # Field to use as the username for GitHub OAuth2 useAsUsername: login # field to use as the username for GitHub OAuth2
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) endpoint
clientId: '' # Client ID from your provider clientId: '' # client ID from your provider
clientSecret: '' # Client Secret from your provider clientSecret: '' # client secret from your provider
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
useAsUsername: email # Default is 'email'; custom fields can be used as the username useAsUsername: email # default is 'email'; custom fields can be used as the username
scopes: openid, profile, email # Specify the scopes for which the application will request permissions scopes: openid, profile, email # specify the scopes for which the application will request permissions
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak' provider: google # set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
saml2:
enabled: false # currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
registrationId: stirling
idpMetadataUri: https://dev-XXXXXXXX.okta.com/app/externalKey/sso/saml/metadata
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
idpIssuer: http://www.okta.com/externalKey
idpCert: classpath:okta.crt
privateKey: classpath:saml-private-key.key
spCert: classpath:saml-public-cert.crt
enterpriseEdition:
enabled: false # set to 'true' to enable enterprise edition
key: 00000000-0000-0000-0000-000000000000
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'
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
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
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum). Empty string to disable or filename to load from local file in static folder
system: system:
defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc) defaultLocale: en-US # set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes) enableAlphaFunctionality: false # set to enable functionality which might need more testing before it fully goes live (this feature might make no changes)
showUpdate: true # see when a new update is available showUpdate: false # see when a new update is available
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true' showUpdateOnlyAdmin: false # only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files 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: undefined # set to 'true' to enable analytics, set to 'false' to disable analytics; for enterprise users, this is set to true
ui: ui:
appName: '' # Application's visible name appName: '' # application's visible name
homeDescription: '' # Short description or tagline shown on homepage. homeDescription: '' # short description or tagline shown on the homepage
appNameNavbar: '' # Name displayed on the navigation bar appNameNavbar: '' # name displayed on the navigation bar
endpoints: endpoints:
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages']) toRemove: [] # list endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice']) groupsToRemove: [] # list groups to disable (e.g. ['LibreOffice'])
metrics: metrics:
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
# Automatically Generated Settings (Do Not Edit Directly)
AutomaticallyGenerated:
key: example
UUID: example
``` ```
There is an additional config file ``/configs/custom_settings.yml`` were users familiar with java and spring application.properties can input their own settings on-top of Stirling-PDFs existing ones There is an additional config file `/configs/custom_settings.yml` where users familiar with Java and Spring `application.properties` can input their own settings on top of Stirling-PDF's existing ones.
### Extra notes
- Endpoints. Currently, the endpoints ENDPOINTS_TO_REMOVE and GROUPS_TO_REMOVE can include comma separate lists of endpoints and groups to disable as example ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages would disable both image-to-pdf and remove pages, GROUPS_TO_REMOVE=LibreOffice Would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md)
- customStaticFilePath. Customise static files such as the app logo by placing files in the /customFiles/static/ directory. An example of customising app logo is placing a /customFiles/static/favicon.svg to override current SVG. This can be used to change any images/icons/css/fonts/js etc in Stirling-PDF
### Environment only parameters ### Extra Notes
- ``SYSTEM_ROOTURIPATH`` ie set to ``/pdf-app`` to Set the application's root URI to ``localhost:8080/pdf-app`` - **Endpoints**: Currently, the `ENDPOINTS_TO_REMOVE` and `GROUPS_TO_REMOVE` endpoints can include comma-separated lists of endpoints and groups to disable. For example, `ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages` would disable both image-to-pdf and remove pages, while `GROUPS_TO_REMOVE=LibreOffice` would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md).
- ``SYSTEM_CONNECTIONTIMEOUTMINUTES`` to set custom connection timeout values - **customStaticFilePath**: Customize static files such as the app logo by placing files in the `/customFiles/static/` directory. An example of customizing the app logo is placing `/customFiles/static/favicon.svg` to override the current SVG. This can be used to change any `images/icons/css/fonts/js`, etc. in Stirling-PDF.
- ``DOCKER_ENABLE_SECURITY`` to tell docker to download security jar (required as true for auth login)
- ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS`` to download calibre onto stirling-pdf enabling pdf to/from book and advanced html conversion ### Environment-Only Parameters
- ``LANGS`` to define custom font libraries to install for use for document conversions
- `SYSTEM_ROOTURIPATH` - Set the application's root URI (e.g. `/pdf-app` to set the root URI to `localhost:8080/pdf-app`)
- `SYSTEM_CONNECTIONTIMEOUTMINUTES` - Set custom connection timeout values
- `DOCKER_ENABLE_SECURITY` - Set to `true` to download security jar (required for authentication login)
- `INSTALL_BOOK_AND_ADVANCED_HTML_OPS` - Download Calibre onto Stirling-PDF to enable PDF to/from book and advanced HTML conversion
- `LANGS` - Define custom font libraries to install for document conversions
## API ## API
For those wanting to use Stirling-PDFs backend API to link with their own custom scripting to edit PDFs you can view all existing API documentation For those wanting to use Stirling-PDF's backend API to link with their own custom scripting to edit PDFs, you can view all existing API documentation [here](https://app.swaggerhub.com/apis-docs/Stirling-Tools/Stirling-PDF/), or navigate to `/swagger-ui/index.html` of your Stirling-PDF instance for your version's documentation (or by following the API button in the settings of Stirling-PDF).
[here](https://app.swaggerhub.com/apis-docs/Stirling-Tools/Stirling-PDF/) or navigate to /swagger-ui/index.html of your stirling-pdf instance for your versions documentation (Or by following the API button in your settings of Stirling-PDF)
## Login authentication ## Login Authentication
![stirling-login](images/login-light.png) ![stirling-login](images/login-light.png)
### Prerequisites ### Prerequisites
- User must have the folder ./configs volumed within docker so that it is retained during updates. - User must have the folder `./configs` volumed within Docker so that it is retained during updates.
- Docker users must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables. - Docker users must download the security jar version by setting `DOCKER_ENABLE_SECURITY` to `true` in environment variables.
- Then either enable login via the settings.yml file or via setting ``SECURITY_ENABLE_LOGIN`` to ``true`` - Then either enable login via the `settings.yml` file or set `SECURITY_ENABLE_LOGIN` to `true`.
- Now the initial user will be generated with username ``admin`` and password ``stirling``. On login you will be forced to change the password to a new one. You can also use the environment variables ``SECURITY_INITIALLOGIN_USERNAME`` and ``SECURITY_INITIALLOGIN_PASSWORD`` to set your own straight away (Recommended to remove them after user creation). - Now the initial user will be generated with username `admin` and password `stirling`. On login, you will be forced to change the password to a new one. You can also use the environment variables `SECURITY_INITIALLOGIN_USERNAME` and `SECURITY_INITIALLOGIN_PASSWORD` to set your own credentials straight away (recommended to remove them after user creation).
Once the above has been done, on restart, a new stirling-pdf-DB.mv.db will show if everything worked. Once the above has been done, on restart, a new `stirling-pdf-DB.mv.db` will show if everything worked.
When you login to Stirling PDF you will be redirected to /login page to login with those default credentials. After login everything should function as normal When you log in to Stirling-PDF, you will be redirected to the `/login` page to log in with those default credentials. After login, everything should function as normal.
To access your account settings go to Account settings in the settings cog menu (top right in navbar) This Account settings menu is also where you find your API key. To access your account settings, go to Account Settings in the settings cog menu (top right in the navbar). This Account Settings menu is also where you find your API key.
To add new users go to the bottom of Account settings and hit 'Admin Settings', here you can add new users. The different roles mentioned within this are for rate limiting. This is a Work in progress which will be expanding on more in future To add new users, go to the bottom of Account Settings and hit 'Admin Settings'. Here you can add new users. The different roles mentioned within this are for rate limiting. This is a work in progress and will be expanded on more in the future.
For API usage you must provide a header with 'X-API-Key' and the associated API key for that user. For API usage, you must provide a header with `X-API-Key` and the associated API key for that user.
## FAQ ## FAQ
### Q1: What are your planned features? ### Q1: What are your planned features?
- Progress bar/Tracking - Progress bar/tracking
- Full custom logic pipelines to combine multiple operations together. - Full custom logic pipelines to combine multiple operations together
- Folder support with auto scanning to perform operations on - Folder support with auto-scanning to perform operations on
- Redact text (Via UI not just automated way) - Redact text (via UI, not just automated)
- Add Forms - Add forms
- Multi page layout (Stich PDF pages together) support x rows y columns and custom page sizing - Multi-page layout (stitch PDF pages together) support x rows y columns and custom page sizing
- Fill forms manually or automatically - Fill forms manually or automatically
### Q2: Why is my application downloading .htm files? ### Q2: Why is my application downloading .htm files? Why am i getting HTTP error 413?
This is an issue caused commonly by your NGINX configuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files. This is an issue commonly caused by your NGINX configuration. The default file upload size for NGINX is 1MB. You need to add the following in your Nginx sites-available file: `client_max_body_size SIZE;` (where "SIZE" is 50M for example for 50MB files).
### Q3: Why is my download timing out ### Q3: Why is my download timing out?
NGINX has timeout values by default so if you are running Stirling-PDF behind NGINX you may need to set a timeout value such as adding the config ``proxy_read_timeout 3600;`` NGINX has timeout values by default, so if you are running Stirling-PDF behind NGINX, you may need to set a timeout value, such as adding the config `proxy_read_timeout 3600;`.

View File

@@ -1,7 +1,7 @@
|All versions in a Docker environment can download Calibre as a optional extra at runtime to support `book-to-pdf` and `pdf-to-book` using parameter ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS``. |All versions in a Docker environment can download Calibre as a optional extra at runtime to support `book-to-pdf` and `pdf-to-book` using parameter ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS``.
The 'Fat' container contains all those found in 'Full' with security jar along with this Calibre install. The 'Fat' container contains all those found in 'Full' with security jar along with this Calibre install.
Technology | Ultra-Lite | Full | | Technology | Ultra-Lite | Full |
| ---------- | :--------: | :---: | | ---------- | :--------: | :---: |
| Java | ✔️ | ✔️ | | Java | ✔️ | ✔️ |
| JavaScript | ✔️ | ✔️ | | JavaScript | ✔️ | ✔️ |
@@ -54,3 +54,15 @@ Technology | Ultra-Lite | Full |
| ocr-pdf | | ✔️ | | ocr-pdf | | ✔️ |
| pdf-to-pdfa | | ✔️ | | pdf-to-pdfa | | ✔️ |
| remove-blanks | | ✔️ | | remove-blanks | | ✔️ |
pdf-to-text | ✔️ | ✔️
pdf-to-html | | ✔️
pdf-to-word | | ✔️
pdf-to-presentation | | ✔️
pdf-to-xml | | ✔️
remove-annotations | ✔️ | ✔️
remove-cert-sign | ✔️ | ✔️
remove-image-pdf | ✔️ | ✔️
file-to-pdf | | ✔️
html-to-pdf | | ✔️
url-to-pdf | | ✔️
repair | | ✔️

View File

@@ -1,6 +1,6 @@
plugins { plugins {
id "java" id "java"
id "org.springframework.boot" version "3.3.4" id "org.springframework.boot" version "3.3.5"
id "io.spring.dependency-management" version "1.1.6" id "io.spring.dependency-management" version "1.1.6"
id "org.springdoc.openapi-gradle-plugin" version "1.8.0" id "org.springdoc.openapi-gradle-plugin" version "1.8.0"
id "io.swagger.swaggerhub" version "1.3.2" id "io.swagger.swaggerhub" version "1.3.2"
@@ -13,7 +13,7 @@ plugins {
import com.github.jk1.license.render.* import com.github.jk1.license.render.*
ext { ext {
springBootVersion = "3.3.4" springBootVersion = "3.3.5"
pdfboxVersion = "3.0.3" pdfboxVersion = "3.0.3"
logbackVersion = "1.5.7" logbackVersion = "1.5.7"
imageioVersion = "3.12.0" imageioVersion = "3.12.0"
@@ -22,7 +22,7 @@ ext {
} }
group = "stirling.software" group = "stirling.software"
version = "0.30.1" version = "0.33.1"
java { java {
// 17 is lowest but we support and recommend 21 // 17 is lowest but we support and recommend 21
@@ -78,7 +78,7 @@ launch4j {
errTitle="Encountered error, Do you have Java 21?" errTitle="Encountered error, Do you have Java 21?"
downloadUrl="https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe" downloadUrl="https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe"
variables=["BROWSER_OPEN=true", "ENDPOINTS_GROUPS_TO_REMOVE=CLI"] variables=["BROWSER_OPEN=true"]
jreMinVersion="17" jreMinVersion="17"
mutexName="Stirling-PDF" mutexName="Stirling-PDF"
@@ -137,11 +137,11 @@ dependencies {
if (System.getenv("DOCKER_ENABLE_SECURITY") != "false") { if (System.getenv("DOCKER_ENABLE_SECURITY") != "false") {
implementation "org.springframework.boot:spring-boot-starter-security:$springBootVersion" implementation "org.springframework.boot:spring-boot-starter-security:$springBootVersion"
runtimeOnly "org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE" implementation "org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE"
implementation "org.springframework.boot:spring-boot-starter-data-jpa:$springBootVersion" implementation "org.springframework.boot:spring-boot-starter-data-jpa:$springBootVersion"
implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion" implementation "org.springframework.boot:spring-boot-starter-oauth2-client:$springBootVersion"
implementation 'org.springframework.security:spring-security-saml2-service-provider:6.3.3' implementation 'org.springframework.security:spring-security-saml2-service-provider:6.3.4'
implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5' implementation 'com.unboundid.product.scim2:scim2-sdk-client:2.3.5'
//2.2.x requires rebuild of DB file.. need migration path //2.2.x requires rebuild of DB file.. need migration path
runtimeOnly "com.h2database:h2:2.1.214" runtimeOnly "com.h2database:h2:2.1.214"
@@ -154,6 +154,8 @@ dependencies {
implementation "org.springframework.security:spring-security-saml2-service-provider" implementation "org.springframework.security:spring-security-saml2-service-provider"
implementation 'com.coveo:saml-client:5.0.0' implementation 'com.coveo:saml-client:5.0.0'
} }
testImplementation "org.springframework.boot:spring-boot-starter-test:$springBootVersion" testImplementation "org.springframework.boot:spring-boot-starter-test:$springBootVersion"
@@ -179,6 +181,9 @@ dependencies {
runtimeOnly "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion" runtimeOnly "com.twelvemonkeys.imageio:imageio-webp:$imageioVersion"
// runtimeOnly "com.twelvemonkeys.imageio:imageio-xwd:$imageioVersion" // runtimeOnly "com.twelvemonkeys.imageio:imageio-xwd:$imageioVersion"
// Image metadata extractor
implementation "com.drewnoakes:metadata-extractor:2.19.0"
implementation "commons-io:commons-io:2.17.0" implementation "commons-io:commons-io:2.17.0"
implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0" implementation "org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0"
//general PDF //general PDF

View File

@@ -1,16 +0,0 @@
apiVersion: v2
appVersion: 0.30.1
description: locally hosted web application that allows you to perform various operations
on PDF files
home: https://github.com/Stirling-Tools/Stirling-PDF
keywords:
- stirling-pdf
- helm
- charts repo
maintainers:
- name: Stirling-Tools
url: https://github.com/Stirling-Tools/Stirling-PDF
name: stirling-pdf-chart
sources:
- https://github.com/Stirling-Tools/Stirling-PDF
version: 1.0.0

View File

@@ -1,30 +0,0 @@
** Please be patient while the chart is being deployed **
Get the stirlingpdf URL by running:
{{- if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "stirlingpdf.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/
{{- else if contains "LoadBalancer" .Values.service.type }}
** Please ensure an external IP is associated to the {{ template "stirlingpdf.fullname" . }} service before proceeding **
** Watch the status using: kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "stirlingpdf.fullname" . }} **
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}/
OR
export SERVICE_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
echo http://$SERVICE_HOST:{{ .Values.service.externalPort }}/
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "stirlingpdf.name" . }}" -l "release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo http://127.0.0.1:8080/
kubectl port-forward $POD_NAME 8080:8080 --namespace {{ .Release.Namespace }}
{{- end }}

View File

@@ -1,129 +0,0 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "stirlingpdf.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "stirlingpdf.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}
{{- /*
Create chart name and version as used by the chart label.
It does minimal escaping for use in Kubernetes labels.
Example output:
stirlingpdf-0.4.5
*/ -}}
{{- define "stirlingpdf.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end -}}
{{/*
Common labels
*/}}
{{- define "stirlingpdf.labels" -}}
helm.sh/chart: {{ include "stirlingpdf.chart" . }}
{{ include "stirlingpdf.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
{{- if .Values.commonLabels}}
{{ toYaml .Values.commonLabels }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{/*
Selector labels
*/}}
{{- define "stirlingpdf.selectorLabels" -}}
app.kubernetes.io/name: {{ include "stirlingpdf.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}
{{/*
Create the name of the service account to use
*/}}
{{- define "stirlingpdf.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "stirlingpdf.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
{{/*
Return the proper image name to change the volume permissions
*/}}
{{- define "stirlingpdf.volumePermissions.image" -}}
{{- $registryName := .Values.volumePermissions.image.registry -}}
{{- $repositoryName := .Values.volumePermissions.image.repository -}}
{{- $tag := .Values.volumePermissions.image.tag | toString -}}
{{/*
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
Also, we can't use a single if because lazy evaluation is not an option
*/}}
{{- if .Values.global }}
{{- if .Values.global.imageRegistry }}
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
{{- else -}}
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
{{- end -}}
{{- else -}}
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
{{- end -}}
{{- end -}}
{{/*
Return the proper Docker Image Registry Secret Names
*/}}
{{- define "stirlingpdf.imagePullSecrets" -}}
{{/*
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic.
Also, we can not use a single if because lazy evaluation is not an option
*/}}
{{- if .Values.global }}
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
imagePullSecrets:
{{- range .Values.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- range .Values.volumePermissions.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- end -}}
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
imagePullSecrets:
{{- range .Values.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- range .Values.volumePermissions.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- end -}}
{{- end -}}

View File

@@ -1,131 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "stirlingpdf.fullname" . }}
{{- with .Values.deployment.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- if .Values.deployment.labels }}
{{- toYaml .Values.deployment.labels | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
{{- include "stirlingpdf.selectorLabels" . | nindent 6 }}
replicas: {{ .Values.replicaCount }}
strategy:
{{ toYaml .Values.strategy | indent 4 }}
revisionHistoryLimit: 10
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "stirlingpdf.selectorLabels" . | nindent 8 }}
{{- if .Values.podLabels }}
{{- toYaml .Values.podLabels | nindent 8 }}
{{- end }}
spec:
{{- if .Values.priorityClassName }}
priorityClassName: "{{ .Values.priorityClassName }}"
{{- end }}
{{- if .Values.securityContext.enabled }}
securityContext:
fsGroup: {{ .Values.securityContext.fsGroup }}
{{- if .Values.securityContext.runAsNonRoot }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
{{- end }}
{{- if .Values.securityContext.supplementalGroups }}
supplementalGroups: {{ .Values.securityContext.supplementalGroups }}
{{- end }}
{{- else if .Values.persistence.enabled }}
initContainers:
- name: volume-permissions
image: {{ template "stirlingpdf.volumePermissions.image" . }}
imagePullPolicy: "{{ .Values.volumePermissions.image.pullPolicy }}"
securityContext:
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
command: ['sh', '-c', 'chown -R {{ .Values.securityContext.fsGroup }}:{{ .Values.securityContext.fsGroup }} {{ .Values.persistence.path }}']
volumeMounts:
- mountPath: {{ .Values.persistence.path }}
name: storage-volume
{{- end }}
{{- include "stirlingpdf.imagePullSecrets" . | indent 6 }}
containers:
- name: {{ .Chart.Name }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext:
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
env:
- name: SYSTEM_ROOTURIPATH
value: {{ .Values.rootPath}}
{{- if .Values.envs }}
{{ toYaml .Values.envs | indent 8 }}
{{- end }}
{{- if .Values.extraArgs }}
args:
{{ toYaml .Values.extraArgs | indent 8 }}
{{- end }}
ports:
- name: http
containerPort: 8080
livenessProbe:
httpGet:
path: {{ .Values.rootPath}}
port: http
{{ toYaml .Values.probes.livenessHttpGetConfig | indent 12 }}
{{ toYaml .Values.probes.liveness | indent 10 }}
readinessProbe:
httpGet:
path: {{ .Values.rootPath}}
port: http
{{ toYaml .Values.probes.readinessHttpGetConfig | indent 12 }}
{{ toYaml .Values.probes.readiness | indent 10 }}
volumeMounts:
{{- if .Values.deployment.extraVolumeMounts }}
{{- toYaml .Values.deployment.extraVolumeMounts | nindent 8 }}
{{- end }}
{{- if .Values.deployment.sidecarContainers }}
{{- range $name, $spec := .Values.deployment.sidecarContainers }}
- name: {{ $name }}
{{- toYaml $spec | nindent 8 }}
{{- end }}
{{- end }}
{{- with .Values.resources }}
resources:
{{ toYaml . | indent 10 }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{ toYaml . | indent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- if .Values.schedulerName }}
schedulerName: {{ .Values.schedulerName }}
{{- end }}
serviceAccountName: {{ include "stirlingpdf.serviceAccountName" . }}
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
volumes:
{{- if .Values.deployment.extraVolumes }}
{{- toYaml .Values.deployment.extraVolumes | nindent 6 }}
{{- end }}
- name: storage-volume
{{- if .Values.persistence.enabled }}
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim | default (include "stirlingpdf.fullname" .) }}
{{- else }}
emptyDir: {}
{{- end }}

View File

@@ -1,85 +0,0 @@
{{- if .Values.ingress.enabled }}
{{- $servicePort := .Values.service.externalPort -}}
{{- $serviceName := include "stirlingpdf.fullname" . -}}
{{- $ingressExtraPaths := .Values.ingress.extraPaths -}}
---
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion }}
apiVersion: extensions/v1beta1
{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion }}
apiVersion: networking.k8s.io/v1beta1
{{- else }}
apiVersion: networking.k8s.io/v1
{{- end }}
kind: Ingress
metadata:
name: {{ include "stirlingpdf.fullname" . }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- with .Values.ingress.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- with .Values.ingress.ingressClassName }}
ingressClassName: {{ . }}
{{- end }}
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .name }}
http:
paths:
{{- range $ingressExtraPaths }}
- path: {{ default "/" .path | quote }}
backend:
{{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }}
{{- if $.Values.service.servicename }}
serviceName: {{ $.Values.service.servicename }}
{{- else }}
serviceName: {{ default $serviceName .service }}
{{- end }}
servicePort: {{ default $servicePort .port }}
{{- else }}
service:
{{- if $.Values.service.servicename }}
name: {{ $.Values.service.servicename }}
{{- else }}
name: {{ default $serviceName .service }}
{{- end }}
port:
number: {{ default $servicePort .port }}
pathType: {{ default $.Values.ingress.pathType .pathType }}
{{- end }}
{{- end }}
- path: {{ default "/" .path | quote }}
backend:
{{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }}
{{- if $.Values.service.servicename }}
serviceName: {{ $.Values.service.servicename }}
{{- else }}
serviceName: {{ default $serviceName .service }}
{{- end }}
servicePort: {{ default $servicePort .servicePort }}
{{- else }}
service:
{{- if $.Values.service.servicename }}
name: {{ $.Values.service.servicename }}
{{- else }}
name: {{ default $serviceName .service }}
{{- end }}
port:
number: {{ default $servicePort .port }}
pathType: {{ $.Values.ingress.pathType }}
{{- end }}
{{- end }}
tls:
{{- range .Values.ingress.hosts }}
{{- if .tls }}
- hosts:
- {{ .name }}
secretName: {{ .tlsSecret }}
{{- end }}
{{- end }}
{{- end -}}

View File

@@ -1,16 +0,0 @@
{{- if .Values.persistence.pv.enabled -}}
apiVersion: v1
kind: PersistentVolume
metadata:
name: {{ .Values.persistence.pv.pvname | default (include "stirlingpdf.fullname" .) }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
spec:
capacity:
storage: {{ .Values.persistence.pv.capacity.storage }}
accessModes:
- {{ .Values.persistence.pv.accessMode | quote }}
nfs:
server: {{ .Values.persistence.pv.nfs.server }}
path: {{ .Values.persistence.pv.nfs.path | quote }}
{{- end }}

View File

@@ -1,27 +0,0 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: {{ include "stirlingpdf.fullname" . }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- with .Values.persistence.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
accessModes:
- {{ .Values.persistence.accessMode | quote }}
resources:
requests:
storage: {{ .Values.persistence.size | quote }}
{{- if .Values.persistence.storageClass }}
{{- if (eq "-" .Values.persistence.storageClass) }}
storageClassName: ""
{{- else }}
storageClassName: "{{ .Values.persistence.storageClass }}"
{{- end }}
{{- if .Values.persistence.volumeName }}
volumeName: "{{ .Values.persistence.volumeName }}"
{{- end }}
{{- end }}
{{- end }}

View File

@@ -1,48 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.service.servicename | default (include "stirlingpdf.fullname" .) }}
{{- with .Values.service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- with .Values.service.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.service.type }}
{{- if (or (eq .Values.service.type "LoadBalancer") (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort)))) }}
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
{{- end }}
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP) }}
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
{{- end }}
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }}
loadBalancerSourceRanges:
{{- with .Values.service.loadBalancerSourceRanges }}
{{ toYaml . | indent 2 }}
{{- end }}
{{- end }}
{{- if eq .Values.service.type "ClusterIP" }}
{{- if .Values.service.clusterIP }}
clusterIP: {{ .Values.service.clusterIP }}
{{- end }}
{{- end }}
ports:
- port: {{ .Values.service.externalPort }}
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
nodePort: {{.Values.service.nodePort}}
{{- end }}
{{- if .Values.service.targetPort }}
targetPort: {{ .Values.service.targetPort }}
name: {{ .Values.service.targetPort }}
{{- else }}
targetPort: http
name: http
{{- end }}
protocol: TCP
selector:
{{- include "stirlingpdf.selectorLabels" . | nindent 4 }}

View File

@@ -1,13 +0,0 @@
{{- if .Values.serviceAccount.create -}}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "stirlingpdf.serviceAccountName" . }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{ toYaml . | nindent 4 }}
{{- end }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- end }}

View File

@@ -1,31 +0,0 @@
{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.serviceMonitor.enabled ) }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "stirlingpdf.fullname" . }}
namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace }}
labels:
{{- include "stirlingpdf.labels" . | nindent 4 }}
{{- with .Values.serviceMonitor.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
endpoints:
- targetPort: 8080
{{- if .Values.serviceMonitor.interval }}
interval: {{ .Values.serviceMonitor.interval }}
{{- end }}
{{- if .Values.serviceMonitor.metricsPath }}
path: {{ .Values.serviceMonitor.metricsPath }}
{{- end }}
{{- if .Values.serviceMonitor.timeout }}
scrapeTimeout: {{ .Values.serviceMonitor.timeout }}
{{- end }}
jobLabel: {{ include "stirlingpdf.fullname" . }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
{{- include "stirlingpdf.selectorLabels" . | nindent 6 }}
{{- end }}

View File

@@ -1,240 +0,0 @@
extraArgs: []
# - --storage-timestamp-tolerance 1s
replicaCount: 1
strategy:
type: RollingUpdate
image:
repository: frooodle/s-pdf
# took Chart appVersion by default
tag: ~
pullPolicy: IfNotPresent
secret:
labels: {}
## Labels to apply to all resources
##
commonLabels: {}
# team_name: dev
# rootpath for the application
rootPath: /
envs: []
# - name: UI_APP_NAME
# value: "Stirling PDF"
# - name: UI_HOME_DESCRIPTION
# value: "Your locally hosted one-stop-shop for all your PDF needs."
# - name: UI_APP_NAVBAR_NAME
# value: "Stirling PDF"
# - name: ALLOW_GOOGLE_VISIBILITY
# value: "true"
# - name: APP_LOCALE
# value: "en_GB"
deployment:
## stirling-pdf Deployment annotations
annotations: {}
# name: value
labels: {}
# name: value
# additional volumes
extraVolumes: []
# - name: nginx-config
# secret:
# secretName: nginx-config
# additional volumes to mount
extraVolumeMounts: []
## sidecarContainers for the stirling-pdf
# Can be used to add a proxy to the pod that does
# scanning for secrets, signing, authentication, validation
# of the chart's content, send notifications...
sidecarContainers: {}
## Example sidecarContainer which uses an extraVolume from above and
## a named port that can be referenced in the service as targetPort.
# proxy:
# image: nginx:latest
# ports:
# - name: proxy
# containerPort: 8081
# volumeMounts:
# - name: nginx-config
# readOnly: true
# mountPath: /etc/nginx
## Pod annotations
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
## Read more about kube2iam to provide access to s3 https://github.com/jtblin/kube2iam
##
podAnnotations: {}
# iam.amazonaws.com/role: role-arn
## Pod labels
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
podLabels: {}
# name: value
service:
servicename:
type: ClusterIP
externalTrafficPolicy: Local
## Uses pre-assigned IP address from cloud provider
## Only valid if service.type: LoadBalancer
loadBalancerIP:
## Limits which cidr blocks can connect to service's load balancer
## Only valid if service.type: LoadBalancer
loadBalancerSourceRanges: []
# clusterIP: None
externalPort: 8080
## targetPort of the container to use. If a sidecar should handle the
## requests first, use the named port from the sidecar. See sidecar example
## from deployment above. Leave empty to use stirling-pdf directly.
targetPort:
nodePort:
annotations: {}
labels: {}
serviceMonitor:
enabled: false
# namespace: prometheus
labels: {}
metricsPath: "/metrics"
# timeout: 60
# interval: 60
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 80m
# memory: 64Mi
probes:
liveness:
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
livenessHttpGetConfig:
scheme: HTTP
readiness:
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 1
successThreshold: 1
failureThreshold: 3
readinessHttpGetConfig:
scheme: HTTP
serviceAccount:
create: true
name: ""
automountServiceAccountToken: false
## Annotations for the Service Account
annotations: {}
# UID/GID 1000 is the default user "stirling-pdf" used in
# the container image starting in v0.8.0 and above. This
# is required for local persistent storage. If your cluster
# does not allow this, try setting securityContext: {}
securityContext:
enabled: true
fsGroup: 1000
## Optionally, specify supplementalGroups and/or
## runAsNonRoot for security purposes
# runAsNonRoot: true
# supplementalGroups: [1000]
containerSecurityContext: {}
priorityClassName: ""
nodeSelector: {}
tolerations: []
affinity: {}
persistence:
enabled: false
accessMode: ReadWriteOnce
size: 8Gi
labels: {}
# name: value
path: /tmp
## A manually managed Persistent Volume and Claim
## Requires persistence.enabled: true
## If defined, PVC must be created manually before volume will be bound
# existingClaim:
## stirling-pdf data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
# storageClass: "-"
# volumeName:
pv:
enabled: false
pvname:
capacity:
storage: 8Gi
accessMode: ReadWriteOnce
nfs:
server:
path:
## Init containers parameters:
## volumePermissions: Change the owner of the persistent volume mountpoint to RunAsUser:fsGroup
##
volumePermissions:
image:
registry: docker.io
repository: bitnami/minideb
tag: buster
pullPolicy: Always
## Optionally specify an array of imagePullSecrets.
## Secrets must be manually created in the namespace.
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
##
# pullSecrets:
# - myRegistryKeySecretName
## Ingress for load balancer
ingress:
enabled: false
pathType: "ImplementationSpecific"
## stirling-pdf Ingress labels
##
labels: {}
# dns: "route53"
## stirling-pdf Ingress annotations
##
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
## stirling-pdf Ingress hostnames
## Must be provided if Ingress is enabled
##
hosts: []
# - name: stirling-pdf.domain1.com
# path: /
# tls: false
# - name: stirling-pdf.domain2.com
# path: /
#
# ## Set this to true in order to enable TLS on the ingress record
# tls: true
#
# ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
# ## Secrets must be added manually to the namespace
# tlsSecret: stirling-pdf.domain2-tls
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
ingressClassName:

View File

@@ -13,13 +13,11 @@ ignore = [
'PDFToText.tags', 'PDFToText.tags',
'adminUserSettings.admin', 'adminUserSettings.admin',
'language.direction', 'language.direction',
'survey.button',
'watermark.type.1', 'watermark.type.1',
] ]
[cs_CZ] [cs_CZ]
ignore = [ ignore = [
'info',
'language.direction', 'language.direction',
'pipeline.header', 'pipeline.header',
'text', 'text',
@@ -39,10 +37,12 @@ ignore = [
'addPageNumbers.selectText.3', 'addPageNumbers.selectText.3',
'alphabet', 'alphabet',
'certSign.name', 'certSign.name',
'home.pipeline.title',
'language.direction', 'language.direction',
'licenses.version', 'licenses.version',
'pipeline.title', 'pipeline.title',
'pipelineOptions.pipelineHeader', 'pipelineOptions.pipelineHeader',
'pro',
'sponsor', 'sponsor',
'text', 'text',
'watermark.type.1', 'watermark.type.1',
@@ -79,7 +79,6 @@ ignore = [
'alphabet', 'alphabet',
'compare.document.1', 'compare.document.1',
'compare.document.2', 'compare.document.2',
'info',
'language.direction', 'language.direction',
'licenses.license', 'licenses.license',
'licenses.module', 'licenses.module',
@@ -87,8 +86,6 @@ ignore = [
'licenses.version', 'licenses.version',
'pdfOrganiser.mode', 'pdfOrganiser.mode',
'pipeline.title', 'pipeline.title',
'pipelineOptions.pipelineHeader',
'sponsor',
'watermark.type.2', 'watermark.type.2',
] ]
@@ -105,11 +102,8 @@ ignore = [
[hr_HR] [hr_HR]
ignore = [ ignore = [
'PDFToBook.selectText.1', 'PDFToBook.selectText.1',
'font',
'home.pipeline.title', 'home.pipeline.title',
'info',
'language.direction', 'language.direction',
'pdfOrganiser.tags',
'showJS.tags', 'showJS.tags',
] ]
@@ -125,7 +119,6 @@ ignore = [
[it_IT] [it_IT]
ignore = [ ignore = [
'font',
'language.direction', 'language.direction',
'no', 'no',
'password', 'password',
@@ -148,18 +141,10 @@ ignore = [
[nl_NL] [nl_NL]
ignore = [ ignore = [
'HTMLToPDF.print',
'adjustContrast.contrast',
'compare.document.1', 'compare.document.1',
'compare.document.2', 'compare.document.2',
'error',
'getPdfInfo.downloadJson',
'help',
'info',
'language.direction', 'language.direction',
'navbar.allTools', 'navbar.allTools',
'printFile.submit',
'showJS.downloadJS',
'sponsor', 'sponsor',
] ]
@@ -181,7 +166,6 @@ ignore = [
[pt_BR] [pt_BR]
ignore = [ ignore = [
'changeMetadata.trapped',
'language.direction', 'language.direction',
'pipelineOptions.pipelineHeader', 'pipelineOptions.pipelineHeader',
] ]
@@ -227,7 +211,6 @@ ignore = [
[th_TH] [th_TH]
ignore = [ ignore = [
'language.direction', 'language.direction',
'pipeline.title',
'pipelineOptions.pipelineHeader', 'pipelineOptions.pipelineHeader',
'showJS.tags', 'showJS.tags',
] ]

View File

@@ -1,7 +1,5 @@
package stirling.software.SPDF.EE; package stirling.software.SPDF.EE;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@@ -20,6 +18,6 @@ public class EEAppConfig {
@Bean(name = "runningEE") @Bean(name = "runningEE")
public boolean runningEnterpriseEdition() { public boolean runningEnterpriseEdition() {
return licenseKeyChecker.getEnterpriseEnabledResult(); return licenseKeyChecker.getEnterpriseEnabledResult();
} }
} }

View File

@@ -5,6 +5,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -42,7 +43,7 @@ public class EndpointConfiguration {
public void disableEndpoint(String endpoint) { public void disableEndpoint(String endpoint) {
if (!endpointStatuses.containsKey(endpoint) || endpointStatuses.get(endpoint) != false) { if (!endpointStatuses.containsKey(endpoint) || endpointStatuses.get(endpoint) != false) {
logger.info("Disabling {}", endpoint); logger.debug("Disabling {}", endpoint);
endpointStatuses.put(endpoint, false); endpointStatuses.put(endpoint, false);
} }
} }
@@ -76,6 +77,23 @@ public class EndpointConfiguration {
} }
} }
public void logDisabledEndpointsSummary() {
List<String> disabledList =
endpointStatuses.entrySet().stream()
.filter(entry -> !entry.getValue()) // only get disabled endpoints (value
// is false)
.map(Map.Entry::getKey)
.sorted()
.collect(Collectors.toList());
if (!disabledList.isEmpty()) {
logger.info(
"Total disabled endpoints: {}. Disabled endpoints: {}",
disabledList.size(),
String.join(", ", disabledList));
}
}
public void init() { public void init() {
// Adding endpoints to "PageOps" group // Adding endpoints to "PageOps" group
addEndpointToGroup("PageOps", "remove-pages"); addEndpointToGroup("PageOps", "remove-pages");
@@ -99,7 +117,6 @@ public class EndpointConfiguration {
addEndpointToGroup("Convert", "img-to-pdf"); addEndpointToGroup("Convert", "img-to-pdf");
addEndpointToGroup("Convert", "pdf-to-pdfa"); addEndpointToGroup("Convert", "pdf-to-pdfa");
addEndpointToGroup("Convert", "file-to-pdf"); addEndpointToGroup("Convert", "file-to-pdf");
addEndpointToGroup("Convert", "xlsx-to-pdf");
addEndpointToGroup("Convert", "pdf-to-word"); addEndpointToGroup("Convert", "pdf-to-word");
addEndpointToGroup("Convert", "pdf-to-presentation"); addEndpointToGroup("Convert", "pdf-to-presentation");
addEndpointToGroup("Convert", "pdf-to-text"); addEndpointToGroup("Convert", "pdf-to-text");
@@ -145,7 +162,6 @@ public class EndpointConfiguration {
addEndpointToGroup("CLI", "repair"); addEndpointToGroup("CLI", "repair");
addEndpointToGroup("CLI", "pdf-to-pdfa"); addEndpointToGroup("CLI", "pdf-to-pdfa");
addEndpointToGroup("CLI", "file-to-pdf"); addEndpointToGroup("CLI", "file-to-pdf");
addEndpointToGroup("CLI", "xlsx-to-pdf");
addEndpointToGroup("CLI", "pdf-to-word"); addEndpointToGroup("CLI", "pdf-to-word");
addEndpointToGroup("CLI", "pdf-to-presentation"); addEndpointToGroup("CLI", "pdf-to-presentation");
addEndpointToGroup("CLI", "pdf-to-html"); addEndpointToGroup("CLI", "pdf-to-html");
@@ -163,25 +179,26 @@ public class EndpointConfiguration {
// python // python
addEndpointToGroup("Python", "extract-image-scans"); addEndpointToGroup("Python", "extract-image-scans");
addEndpointToGroup("Python", REMOVE_BLANKS);
addEndpointToGroup("Python", "html-to-pdf"); addEndpointToGroup("Python", "html-to-pdf");
addEndpointToGroup("Python", "url-to-pdf"); addEndpointToGroup("Python", "url-to-pdf");
addEndpointToGroup("Python", "pdf-to-img"); addEndpointToGroup("Python", "pdf-to-img");
addEndpointToGroup("Python", "file-to-pdf");
// openCV // openCV
addEndpointToGroup("OpenCV", "extract-image-scans"); addEndpointToGroup("OpenCV", "extract-image-scans");
addEndpointToGroup("OpenCV", REMOVE_BLANKS);
// LibreOffice // LibreOffice
addEndpointToGroup("LibreOffice", "repair"); addEndpointToGroup("LibreOffice", "repair");
addEndpointToGroup("LibreOffice", "file-to-pdf"); addEndpointToGroup("LibreOffice", "file-to-pdf");
addEndpointToGroup("LibreOffice", "xlsx-to-pdf");
addEndpointToGroup("LibreOffice", "pdf-to-word"); addEndpointToGroup("LibreOffice", "pdf-to-word");
addEndpointToGroup("LibreOffice", "pdf-to-presentation"); addEndpointToGroup("LibreOffice", "pdf-to-presentation");
addEndpointToGroup("LibreOffice", "pdf-to-rtf"); addEndpointToGroup("LibreOffice", "pdf-to-rtf");
addEndpointToGroup("LibreOffice", "pdf-to-html"); addEndpointToGroup("LibreOffice", "pdf-to-html");
addEndpointToGroup("LibreOffice", "pdf-to-xml"); addEndpointToGroup("LibreOffice", "pdf-to-xml");
// Unoconv
addEndpointToGroup("Unoconv", "file-to-pdf");
// OCRmyPDF // OCRmyPDF
addEndpointToGroup("OCRmyPDF", "compress-pdf"); addEndpointToGroup("OCRmyPDF", "compress-pdf");
addEndpointToGroup("OCRmyPDF", "pdf-to-pdfa"); addEndpointToGroup("OCRmyPDF", "pdf-to-pdfa");
@@ -230,6 +247,18 @@ public class EndpointConfiguration {
addEndpointToGroup("Javascript", "sign"); addEndpointToGroup("Javascript", "sign");
addEndpointToGroup("Javascript", "compare"); addEndpointToGroup("Javascript", "compare");
addEndpointToGroup("Javascript", "adjust-contrast"); addEndpointToGroup("Javascript", "adjust-contrast");
// Ghostscript dependent endpoints
addEndpointToGroup("Ghostscript", "compress-pdf");
addEndpointToGroup("Ghostscript", "pdf-to-pdfa");
addEndpointToGroup("Ghostscript", "repair");
// Weasyprint dependent endpoints
addEndpointToGroup("Weasyprint", "html-to-pdf");
addEndpointToGroup("Weasyprint", "url-to-pdf");
// Pdftohtml dependent endpoints
addEndpointToGroup("Pdftohtml", "pdf-to-html");
} }
private void processEnvironmentConfigs() { private void processEnvironmentConfigs() {
@@ -251,5 +280,9 @@ public class EndpointConfiguration {
} }
} }
public Set<String> getEndpointsForGroup(String group) {
return endpointGroups.getOrDefault(group, new HashSet<>());
}
private static final String REMOVE_BLANKS = "remove-blanks"; private static final String REMOVE_BLANKS = "remove-blanks";
} }

View File

@@ -0,0 +1,148 @@
package stirling.software.SPDF.config;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j;
@Configuration
@Slf4j
public class ExternalAppDepConfig {
@Autowired private EndpointConfiguration endpointConfiguration;
private boolean isCommandAvailable(String command) {
try {
ProcessBuilder processBuilder = new ProcessBuilder();
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
processBuilder.command("where", command);
} else {
processBuilder.command("which", command);
}
Process process = processBuilder.start();
int exitCode = process.waitFor();
return exitCode == 0;
} catch (Exception e) {
log.debug("Error checking for command {}: {}", command, e.getMessage());
return false;
}
}
private final Map<String, List<String>> commandToGroupMapping =
new HashMap<>() {
{
put("gs", List.of("Ghostscript"));
put("soffice", List.of("LibreOffice"));
put("ocrmypdf", List.of("OCRmyPDF"));
put("weasyprint", List.of("Weasyprint"));
put("pdftohtml", List.of("Pdftohtml"));
put("unoconv", List.of("Unoconv"));
}
};
private List<String> getAffectedFeatures(String group) {
return endpointConfiguration.getEndpointsForGroup(group).stream()
.map(endpoint -> formatEndpointAsFeature(endpoint))
.collect(Collectors.toList());
}
private String formatEndpointAsFeature(String endpoint) {
// First replace common terms
String feature = endpoint.replace("-", " ").replace("pdf", "PDF").replace("img", "image");
// Split into words and capitalize each word
return Arrays.stream(feature.split("\\s+"))
.map(word -> capitalizeWord(word))
.collect(Collectors.joining(" "));
}
private String capitalizeWord(String word) {
if (word.isEmpty()) {
return word;
}
if ("pdf".equalsIgnoreCase(word)) {
return "PDF";
}
return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();
}
private void checkDependencyAndDisableGroup(String command) {
boolean isAvailable = isCommandAvailable(command);
if (!isAvailable) {
List<String> affectedGroups = commandToGroupMapping.get(command);
if (affectedGroups != null) {
for (String group : affectedGroups) {
List<String> affectedFeatures = getAffectedFeatures(group);
endpointConfiguration.disableGroup(group);
log.warn(
"Missing dependency: {} - Disabling group: {} (Affected features: {})",
command,
group,
affectedFeatures != null && !affectedFeatures.isEmpty()
? String.join(", ", affectedFeatures)
: "unknown");
}
}
}
}
@PostConstruct
public void checkDependencies() {
// Check core dependencies
checkDependencyAndDisableGroup("gs");
checkDependencyAndDisableGroup("soffice");
checkDependencyAndDisableGroup("ocrmypdf");
checkDependencyAndDisableGroup("weasyprint");
checkDependencyAndDisableGroup("pdftohtml");
checkDependencyAndDisableGroup("unoconv");
// Special handling for Python/OpenCV dependencies
boolean pythonAvailable = isCommandAvailable("python3") || isCommandAvailable("python");
if (!pythonAvailable) {
List<String> pythonFeatures = getAffectedFeatures("Python");
List<String> openCVFeatures = getAffectedFeatures("OpenCV");
endpointConfiguration.disableGroup("Python");
endpointConfiguration.disableGroup("OpenCV");
log.warn(
"Missing dependency: Python - Disabling Python features: {} and OpenCV features: {}",
String.join(", ", pythonFeatures),
String.join(", ", openCVFeatures));
} else {
// If Python is available, check for OpenCV
try {
ProcessBuilder processBuilder = new ProcessBuilder();
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
processBuilder.command("python", "-c", "import cv2");
} else {
processBuilder.command("python3", "-c", "import cv2");
}
Process process = processBuilder.start();
int exitCode = process.waitFor();
if (exitCode != 0) {
List<String> openCVFeatures = getAffectedFeatures("OpenCV");
endpointConfiguration.disableGroup("OpenCV");
log.warn(
"OpenCV not available in Python - Disabling OpenCV features: {}",
String.join(", ", openCVFeatures));
}
} catch (Exception e) {
List<String> openCVFeatures = getAffectedFeatures("OpenCV");
endpointConfiguration.disableGroup("OpenCV");
log.warn(
"Error checking OpenCV: {} - Disabling OpenCV features: {}",
e.getMessage(),
String.join(", ", openCVFeatures));
}
}
endpointConfiguration.logDisabledEndpointsSummary();
}
}

View File

@@ -9,6 +9,7 @@ import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import io.micrometer.common.util.StringUtils; import io.micrometer.common.util.StringUtils;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.ApplicationProperties;
@@ -40,7 +41,7 @@ public class InitialSetup {
applicationProperties.getAutomaticallyGenerated().setKey(secretKey); applicationProperties.getAutomaticallyGenerated().setKey(secretKey);
} }
} }
@PostConstruct @PostConstruct
public void initLegalUrls() throws IOException { public void initLegalUrls() throws IOException {
// Initialize Terms and Conditions // Initialize Terms and Conditions
@@ -59,7 +60,4 @@ public class InitialSetup {
applicationProperties.getLegal().setPrivacyPolicy(defaultPrivacyUrl); applicationProperties.getLegal().setPrivacyPolicy(defaultPrivacyUrl);
} }
} }
} }

View File

@@ -36,6 +36,8 @@ import org.springframework.security.saml2.provider.service.web.authentication.Sa
import org.springframework.security.web.SecurityFilterChain; import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository; import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
import org.springframework.security.web.csrf.CsrfTokenRequestAttributeHandler;
import org.springframework.security.web.savedrequest.NullRequestCache; import org.springframework.security.web.savedrequest.NullRequestCache;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
@@ -94,6 +96,41 @@ public class SecurityConfiguration {
userAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); userAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
if (applicationProperties.getSecurity().getCsrfDisabled()) { if (applicationProperties.getSecurity().getCsrfDisabled()) {
http.csrf(csrf -> csrf.disable()); http.csrf(csrf -> csrf.disable());
} else {
CookieCsrfTokenRepository cookieRepo =
CookieCsrfTokenRepository.withHttpOnlyFalse();
CsrfTokenRequestAttributeHandler requestHandler =
new CsrfTokenRequestAttributeHandler();
requestHandler.setCsrfRequestAttributeName(null);
http.csrf(
csrf ->
csrf.ignoringRequestMatchers(
request -> {
String apiKey = request.getHeader("X-API-Key");
// If there's no API key, don't ignore CSRF
// (return false)
if (apiKey == null || apiKey.trim().isEmpty()) {
return false;
}
// Validate API key using existing UserService
try {
Optional<User> user =
userService.getUserByApiKey(apiKey);
// If API key is valid, ignore CSRF (return
// true)
// If API key is invalid, don't ignore CSRF
// (return false)
return user.isPresent();
} catch (Exception e) {
// If there's any error validating the API
// key, don't ignore CSRF
return false;
}
})
.csrfTokenRepository(cookieRepo)
.csrfTokenRequestHandler(requestHandler));
} }
http.addFilterBefore(rateLimitingFilter(), UsernamePasswordAuthenticationFilter.class); http.addFilterBefore(rateLimitingFilter(), UsernamePasswordAuthenticationFilter.class);
http.addFilterAfter(firstLoginFilter, UsernamePasswordAuthenticationFilter.class); http.addFilterAfter(firstLoginFilter, UsernamePasswordAuthenticationFilter.class);
@@ -113,15 +150,20 @@ public class SecurityConfiguration {
logout.logoutRequestMatcher(new AntPathRequestMatcher("/logout")) logout.logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
.logoutSuccessHandler( .logoutSuccessHandler(
new CustomLogoutSuccessHandler(applicationProperties)) new CustomLogoutSuccessHandler(applicationProperties))
.clearAuthentication(true)
.invalidateHttpSession(true) // Invalidate session .invalidateHttpSession(true) // Invalidate session
.deleteCookies("JSESSIONID", "remember-me")); .deleteCookies("JSESSIONID", "remember-me"));
http.rememberMe( http.rememberMe(
rememberMeConfigurer -> rememberMeConfigurer ->
rememberMeConfigurer // Use the configurator directly rememberMeConfigurer // Use the configurator directly
.key("uniqueAndSecret")
.tokenRepository(persistentTokenRepository()) .tokenRepository(persistentTokenRepository())
.tokenValiditySeconds(1209600) // 2 weeks .tokenValiditySeconds(14 * 24 * 60 * 60) // 14 days
); .userDetailsService(
userDetailsService) // Your existing UserDetailsService
.useSecureCookie(true) // Enable secure cookie
.rememberMeParameter("remember-me") // Form parameter name
.rememberMeCookieName("remember-me") // Cookie name
.alwaysRemember(false));
http.authorizeHttpRequests( http.authorizeHttpRequests(
authz -> authz ->
authz.requestMatchers( authz.requestMatchers(
@@ -203,7 +245,8 @@ public class SecurityConfiguration {
} }
// Handle SAML // Handle SAML
if (applicationProperties.getSecurity().isSaml2Activ() && applicationProperties.getSystem().getEnableAlphaFunctionality()) { if (applicationProperties.getSecurity().isSaml2Activ()
&& applicationProperties.getSystem().getEnableAlphaFunctionality()) {
http.authenticationProvider(samlAuthenticationProvider()); http.authenticationProvider(samlAuthenticationProvider());
http.saml2Login( http.saml2Login(
saml2 -> saml2 ->
@@ -222,6 +265,16 @@ public class SecurityConfiguration {
} else { } else {
if (applicationProperties.getSecurity().getCsrfDisabled()) { if (applicationProperties.getSecurity().getCsrfDisabled()) {
http.csrf(csrf -> csrf.disable()); http.csrf(csrf -> csrf.disable());
} else {
CookieCsrfTokenRepository cookieRepo =
CookieCsrfTokenRepository.withHttpOnlyFalse();
CsrfTokenRequestAttributeHandler requestHandler =
new CsrfTokenRequestAttributeHandler();
requestHandler.setCsrfRequestAttributeName(null);
http.csrf(
csrf ->
csrf.csrfTokenRepository(cookieRepo)
.csrfTokenRequestHandler(requestHandler));
} }
http.authorizeHttpRequests(authz -> authz.anyRequest().permitAll()); http.authorizeHttpRequests(authz -> authz.anyRequest().permitAll());
} }

View File

@@ -19,10 +19,12 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.security.oauth2.core.user.OAuth2User;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import stirling.software.SPDF.config.interfaces.DatabaseBackupInterface; import stirling.software.SPDF.config.interfaces.DatabaseBackupInterface;
import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal; import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal;
import stirling.software.SPDF.config.security.session.SessionPersistentRegistry; import stirling.software.SPDF.config.security.session.SessionPersistentRegistry;
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface; import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
import stirling.software.SPDF.model.ApplicationProperties;
import stirling.software.SPDF.model.AuthenticationType; import stirling.software.SPDF.model.AuthenticationType;
import stirling.software.SPDF.model.Authority; import stirling.software.SPDF.model.Authority;
import stirling.software.SPDF.model.Role; import stirling.software.SPDF.model.Role;
@@ -31,6 +33,7 @@ import stirling.software.SPDF.repository.AuthorityRepository;
import stirling.software.SPDF.repository.UserRepository; import stirling.software.SPDF.repository.UserRepository;
@Service @Service
@Slf4j
public class UserService implements UserServiceInterface { public class UserService implements UserServiceInterface {
@Autowired private UserRepository userRepository; @Autowired private UserRepository userRepository;
@@ -45,6 +48,7 @@ public class UserService implements UserServiceInterface {
@Autowired DatabaseBackupInterface databaseBackupHelper; @Autowired DatabaseBackupInterface databaseBackupHelper;
@Autowired ApplicationProperties applicationProperties;
// Handle OAUTH2 login and user auto creation. // Handle OAUTH2 login and user auto creation.
public boolean processOAuth2PostLogin(String username, boolean autoCreateUser) public boolean processOAuth2PostLogin(String username, boolean autoCreateUser)
@@ -300,7 +304,13 @@ public class UserService implements UserServiceInterface {
boolean isValidEmail = boolean isValidEmail =
username.matches( username.matches(
"^(?=.{1,64}@)[A-Za-z0-9]+(\\.[A-Za-z0-9_+.-]+)*@[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$"); "^(?=.{1,64}@)[A-Za-z0-9]+(\\.[A-Za-z0-9_+.-]+)*@[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$");
return isValidSimpleUsername || isValidEmail;
List<String> notAllowedUserList = new ArrayList<>();
notAllowedUserList.add("ALL_USERS".toLowerCase());
boolean notAllowedUser = notAllowedUserList.contains(username.toLowerCase());
return (isValidSimpleUsername || isValidEmail) && !notAllowedUser;
} }
private String getInvalidUsernameMessage() { private String getInvalidUsernameMessage() {
@@ -355,13 +365,21 @@ public class UserService implements UserServiceInterface {
if (principal instanceof UserDetails) { if (principal instanceof UserDetails) {
return ((UserDetails) principal).getUsername(); return ((UserDetails) principal).getUsername();
} else if (principal instanceof OAuth2User) {
return ((OAuth2User) principal)
.getAttribute(
applicationProperties.getSecurity().getOauth2().getUseAsUsername());
} else if (principal instanceof CustomSaml2AuthenticatedPrincipal) {
return ((CustomSaml2AuthenticatedPrincipal) principal).getName();
} else if (principal instanceof String) {
return (String) principal;
} else { } else {
return principal.toString(); return principal.toString();
} }
} }
@Override @Override
public long getTotalUsersCount() { public long getTotalUsersCount() {
return userRepository.count(); return userRepository.count();
} }
} }

View File

@@ -1,48 +1,42 @@
package stirling.software.SPDF.config.security.saml2; package stirling.software.SPDF.config.security.saml2;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.KeyFactory; import java.security.KeyFactory;
import java.security.cert.CertificateFactory; import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate; import java.security.cert.X509Certificate;
import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPrivateKey;
import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
import org.bouncycastle.util.io.pem.PemObject;
import org.bouncycastle.util.io.pem.PemReader;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
import org.springframework.util.FileCopyUtils;
public class CertificateUtils { public class CertificateUtils {
public static X509Certificate readCertificate(Resource certificateResource) throws Exception { public static X509Certificate readCertificate(Resource certificateResource) throws Exception {
String certificateString = try (PemReader pemReader =
new String( new PemReader(
FileCopyUtils.copyToByteArray(certificateResource.getInputStream()), new InputStreamReader(
StandardCharsets.UTF_8); certificateResource.getInputStream(), StandardCharsets.UTF_8))) {
String certContent = PemObject pemObject = pemReader.readPemObject();
certificateString byte[] decodedCert = pemObject.getContent();
.replace("-----BEGIN CERTIFICATE-----", "") CertificateFactory cf = CertificateFactory.getInstance("X.509");
.replace("-----END CERTIFICATE-----", "") return (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(decodedCert));
.replaceAll("\\R", "") }
.replaceAll("\\s+", "");
CertificateFactory cf = CertificateFactory.getInstance("X.509");
byte[] decodedCert = Base64.getDecoder().decode(certContent);
return (X509Certificate) cf.generateCertificate(new ByteArrayInputStream(decodedCert));
} }
public static RSAPrivateKey readPrivateKey(Resource privateKeyResource) throws Exception { public static RSAPrivateKey readPrivateKey(Resource privateKeyResource) throws Exception {
String privateKeyString = try (PemReader pemReader =
new String( new PemReader(
FileCopyUtils.copyToByteArray(privateKeyResource.getInputStream()), new InputStreamReader(
StandardCharsets.UTF_8); privateKeyResource.getInputStream(), StandardCharsets.UTF_8))) {
String privateKeyContent = PemObject pemObject = pemReader.readPemObject();
privateKeyString byte[] decodedKey = pemObject.getContent();
.replace("-----BEGIN PRIVATE KEY-----", "") return (RSAPrivateKey)
.replace("-----END PRIVATE KEY-----", "") KeyFactory.getInstance("RSA")
.replaceAll("\\R", "") .generatePrivate(new PKCS8EncodedKeySpec(decodedKey));
.replaceAll("\\s+", ""); }
KeyFactory kf = KeyFactory.getInstance("RSA");
byte[] decodedKey = Base64.getDecoder().decode(privateKeyContent);
return (RSAPrivateKey) kf.generatePrivate(new PKCS8EncodedKeySpec(decodedKey));
} }
} }

View File

@@ -0,0 +1,65 @@
package stirling.software.SPDF.controller.api;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Hidden;
import jakarta.servlet.http.HttpServletResponse;
import stirling.software.SPDF.service.LanguageService;
@RestController
@RequestMapping("/js")
public class AdditionalLanguageJsController {
@Autowired private LanguageService languageService;
@Hidden
@GetMapping(value = "/additionalLanguageCode.js", produces = "application/javascript")
public void generateAdditionalLanguageJs(HttpServletResponse response) throws IOException {
List<String> supportedLanguages = languageService.getSupportedLanguages();
response.setContentType("application/javascript");
PrintWriter writer = response.getWriter();
// Erstelle das JavaScript dynamisch
writer.println("const supportedLanguages = " + toJsonArray(supportedLanguages) + ";");
// Generiere die `getDetailedLanguageCode`-Funktion
writer.println(
"""
function getDetailedLanguageCode() {
const userLanguages = navigator.languages ? navigator.languages : [navigator.language];
for (let lang of userLanguages) {
let matchedLang = supportedLanguages.find(supportedLang => supportedLang.startsWith(lang.replace('-', '_')));
if (matchedLang) {
return matchedLang;
}
}
// Fallback
return "en_GB";
}
""");
writer.flush();
}
// Hilfsfunktion zum Konvertieren der Liste in ein JSON-Array
private String toJsonArray(List<String> list) {
StringBuilder jsonArray = new StringBuilder("[");
for (int i = 0; i < list.size(); i++) {
jsonArray.append("\"").append(list.get(i)).append("\"");
if (i < list.size() - 1) {
jsonArray.append(",");
}
}
jsonArray.append("]");
return jsonArray.toString();
}
}

View File

@@ -13,12 +13,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.model.api.misc.ReplaceAndInvertColorRequest; import stirling.software.SPDF.model.api.misc.ReplaceAndInvertColorRequest;
import stirling.software.SPDF.service.misc.ReplaceAndInvertColorService; import stirling.software.SPDF.service.misc.ReplaceAndInvertColorService;
@RestController @RestController
@RequestMapping("/api/v1/misc") @RequestMapping("/api/v1/misc")
@Tag(name = "Misc", description = "Miscellaneous APIs")
public class ReplaceAndInvertColorController { public class ReplaceAndInvertColorController {
private ReplaceAndInvertColorService replaceAndInvertColorService; private ReplaceAndInvertColorService replaceAndInvertColorService;

View File

@@ -4,6 +4,6 @@ public interface UserServiceInterface {
String getApiKeyForUser(String username); String getApiKeyForUser(String username);
String getCurrentUsername(); String getCurrentUsername();
long getTotalUsersCount(); long getTotalUsersCount();
} }

View File

@@ -1,10 +1,14 @@
package stirling.software.SPDF.controller.api.security; package stirling.software.SPDF.controller.api.security;
import java.awt.Color;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.OutputStream; import java.io.OutputStream;
import java.nio.file.Files;
import java.security.KeyStore; import java.security.KeyStore;
import java.security.KeyStoreException; import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
@@ -14,12 +18,39 @@ import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate; import java.security.cert.Certificate;
import java.security.cert.CertificateException; import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory; import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.pdfbox.examples.signature.CreateSignatureBase; import org.apache.pdfbox.examples.signature.CreateSignatureBase;
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.common.PDStream;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
import org.apache.pdfbox.pdmodel.font.Standard14Fonts.FontName;
import org.apache.pdfbox.pdmodel.graphics.blend.BlendMode;
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceDictionary;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAppearanceStream;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature; import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureOptions;
import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm;
import org.apache.pdfbox.pdmodel.interactive.form.PDField;
import org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField;
import org.apache.pdfbox.util.Matrix;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo; import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.asn1.x500.RDN;
import org.bouncycastle.asn1.x500.X500Name;
import org.bouncycastle.asn1.x500.style.BCStyle;
import org.bouncycastle.asn1.x500.style.IETFUtils;
import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.openssl.PEMDecryptorProvider; import org.bouncycastle.openssl.PEMDecryptorProvider;
import org.bouncycastle.openssl.PEMEncryptedKeyPair; import org.bouncycastle.openssl.PEMEncryptedKeyPair;
@@ -35,6 +66,7 @@ import org.bouncycastle.pkcs.PKCSException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.ClassPathResource;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@@ -62,6 +94,8 @@ public class CertSignController {
} }
class CreateSignature extends CreateSignatureBase { class CreateSignature extends CreateSignatureBase {
File logoFile;
public CreateSignature(KeyStore keystore, char[] pin) public CreateSignature(KeyStore keystore, char[] pin)
throws KeyStoreException, throws KeyStoreException,
UnrecoverableKeyException, UnrecoverableKeyException,
@@ -69,6 +103,101 @@ public class CertSignController {
IOException, IOException,
CertificateException { CertificateException {
super(keystore, pin); super(keystore, pin);
ClassPathResource resource = new ClassPathResource("static/images/signature.png");
try (InputStream is = resource.getInputStream()) {
logoFile = Files.createTempFile("signature", ".png").toFile();
FileUtils.copyInputStreamToFile(is, logoFile);
} catch (IOException e) {
logger.error("Failed to load image signature file");
throw e;
}
}
public InputStream createVisibleSignature(
PDDocument srcDoc, PDSignature signature, Integer pageNumber, Boolean showLogo)
throws IOException {
// modified from org.apache.pdfbox.examples.signature.CreateVisibleSignature2
try (PDDocument doc = new PDDocument()) {
PDPage page = new PDPage(srcDoc.getPage(pageNumber).getMediaBox());
doc.addPage(page);
PDAcroForm acroForm = new PDAcroForm(doc);
doc.getDocumentCatalog().setAcroForm(acroForm);
PDSignatureField signatureField = new PDSignatureField(acroForm);
PDAnnotationWidget widget = signatureField.getWidgets().get(0);
List<PDField> acroFormFields = acroForm.getFields();
acroForm.setSignaturesExist(true);
acroForm.setAppendOnly(true);
acroForm.getCOSObject().setDirect(true);
acroFormFields.add(signatureField);
PDRectangle rect = new PDRectangle(0, 0, 200, 50);
widget.setRectangle(rect);
// from PDVisualSigBuilder.createHolderForm()
PDStream stream = new PDStream(doc);
PDFormXObject form = new PDFormXObject(stream);
PDResources res = new PDResources();
form.setResources(res);
form.setFormType(1);
PDRectangle bbox = new PDRectangle(rect.getWidth(), rect.getHeight());
float height = bbox.getHeight();
form.setBBox(bbox);
PDFont font = new PDType1Font(FontName.TIMES_BOLD);
// from PDVisualSigBuilder.createAppearanceDictionary()
PDAppearanceDictionary appearance = new PDAppearanceDictionary();
appearance.getCOSObject().setDirect(true);
PDAppearanceStream appearanceStream = new PDAppearanceStream(form.getCOSObject());
appearance.setNormalAppearance(appearanceStream);
widget.setAppearance(appearance);
try (PDPageContentStream cs = new PDPageContentStream(doc, appearanceStream)) {
if (showLogo) {
cs.saveGraphicsState();
PDExtendedGraphicsState extState = new PDExtendedGraphicsState();
extState.setBlendMode(BlendMode.MULTIPLY);
extState.setNonStrokingAlphaConstant(0.5f);
cs.setGraphicsStateParameters(extState);
cs.transform(Matrix.getScaleInstance(0.08f, 0.08f));
PDImageXObject img =
PDImageXObject.createFromFileByExtension(logoFile, doc);
cs.drawImage(img, 100, 0);
cs.restoreGraphicsState();
}
// show text
float fontSize = 10;
float leading = fontSize * 1.5f;
cs.beginText();
cs.setFont(font, fontSize);
cs.setNonStrokingColor(Color.black);
cs.newLineAtOffset(fontSize, height - leading);
cs.setLeading(leading);
X509Certificate cert = (X509Certificate) getCertificateChain()[0];
// https://stackoverflow.com/questions/2914521/
X500Name x500Name = new X500Name(cert.getSubjectX500Principal().getName());
RDN cn = x500Name.getRDNs(BCStyle.CN)[0];
String name = IETFUtils.valueToString(cn.getFirst().getValue());
String date = signature.getSignDate().getTime().toString();
String reason = signature.getReason();
cs.showText("Signed by " + name);
cs.newLine();
cs.showText(date);
cs.newLine();
cs.showText(reason);
cs.endText();
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
doc.save(baos);
return new ByteArrayInputStream(baos.toByteArray());
}
} }
} }
@@ -97,7 +226,8 @@ public class CertSignController {
String reason = request.getReason(); String reason = request.getReason();
String location = request.getLocation(); String location = request.getLocation();
String name = request.getName(); String name = request.getName();
Integer pageNumber = request.getPageNumber(); Integer pageNumber = request.getPageNumber() - 1;
Boolean showLogo = request.isShowLogo();
if (certType == null) { if (certType == null) {
throw new IllegalArgumentException("Cert type must be provided"); throw new IllegalArgumentException("Cert type must be provided");
@@ -126,11 +256,19 @@ public class CertSignController {
throw new IllegalArgumentException("Invalid cert type: " + certType); throw new IllegalArgumentException("Invalid cert type: " + certType);
} }
// TODO: page number
CreateSignature createSignature = new CreateSignature(ks, password.toCharArray()); CreateSignature createSignature = new CreateSignature(ks, password.toCharArray());
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
sign(pdfDocumentFactory, pdf.getBytes(), baos, createSignature, name, location, reason); sign(
pdfDocumentFactory,
pdf.getBytes(),
baos,
createSignature,
showSignature,
pageNumber,
name,
location,
reason,
showLogo);
return WebResponseUtils.boasToWebResponse( return WebResponseUtils.boasToWebResponse(
baos, baos,
Filenames.toSimpleFileName(pdf.getOriginalFilename()).replaceFirst("[.][^.]+$", "") Filenames.toSimpleFileName(pdf.getOriginalFilename()).replaceFirst("[.][^.]+$", "")
@@ -142,9 +280,12 @@ public class CertSignController {
byte[] input, byte[] input,
OutputStream output, OutputStream output,
CreateSignature instance, CreateSignature instance,
Boolean showSignature,
Integer pageNumber,
String name, String name,
String location, String location,
String reason) { String reason,
Boolean showLogo) {
try (PDDocument doc = pdfDocumentFactory.load(input)) { try (PDDocument doc = pdfDocumentFactory.load(input)) {
PDSignature signature = new PDSignature(); PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE);
@@ -154,7 +295,17 @@ public class CertSignController {
signature.setReason(reason); signature.setReason(reason);
signature.setSignDate(Calendar.getInstance()); signature.setSignDate(Calendar.getInstance());
doc.addSignature(signature, instance); if (showSignature) {
SignatureOptions signatureOptions = new SignatureOptions();
signatureOptions.setVisualSignature(
instance.createVisibleSignature(doc, signature, pageNumber, showLogo));
signatureOptions.setPage(pageNumber);
doc.addSignature(signature, instance, signatureOptions);
} else {
doc.addSignature(signature, instance);
}
doc.saveIncremental(output); doc.saveIncremental(output);
} catch (Exception e) { } catch (Exception e) {
logger.error("exception", e); logger.error("exception", e);

View File

@@ -187,18 +187,31 @@ public class WatermarkController {
float watermarkHeight = heightSpacer + fontSize * textLines.length; float watermarkHeight = heightSpacer + fontSize * textLines.length;
float pageWidth = page.getMediaBox().getWidth(); float pageWidth = page.getMediaBox().getWidth();
float pageHeight = page.getMediaBox().getHeight(); float pageHeight = page.getMediaBox().getHeight();
int watermarkRows = (int) (pageHeight / watermarkHeight + 1);
int watermarkCols = (int) (pageWidth / watermarkWidth + 1); // Calculating the new width and height depending on the angle.
float radians = (float) Math.toRadians(rotation);
float newWatermarkWidth =
(float)
(Math.abs(watermarkWidth * Math.cos(radians))
+ Math.abs(watermarkHeight * Math.sin(radians)));
float newWatermarkHeight =
(float)
(Math.abs(watermarkWidth * Math.sin(radians))
+ Math.abs(watermarkHeight * Math.cos(radians)));
// Calculating the number of rows and columns.
int watermarkRows = (int) (pageHeight / newWatermarkHeight + 1);
int watermarkCols = (int) (pageWidth / newWatermarkWidth + 1);
// Add the text watermark // Add the text watermark
for (int i = 0; i < watermarkRows; i++) { for (int i = 0; i <= watermarkRows; i++) {
for (int j = 0; j < watermarkCols; j++) { for (int j = 0; j <= watermarkCols; j++) {
contentStream.beginText(); contentStream.beginText();
contentStream.setTextMatrix( contentStream.setTextMatrix(
Matrix.getRotateInstance( Matrix.getRotateInstance(
(float) Math.toRadians(rotation), (float) Math.toRadians(rotation),
j * watermarkWidth, j * newWatermarkWidth,
i * watermarkHeight)); i * newWatermarkHeight));
for (int k = 0; k < textLines.length; ++k) { for (int k = 0; k < textLines.length; ++k) {
contentStream.showText(textLines[k]); contentStream.showText(textLines[k]);

View File

@@ -89,10 +89,9 @@ public class AccountWebController {
} }
SAML2 saml2 = securityProps.getSaml2(); SAML2 saml2 = securityProps.getSaml2();
if (saml2 != null) { if (securityProps.isSaml2Activ()
if (saml2.getEnabled()) { && applicationProperties.getSystem().getEnableAlphaFunctionality()) {
providerList.put("/saml2/authenticate/" + saml2.getRegistrationId(), "SAML 2"); providerList.put("/saml2/authenticate/" + saml2.getRegistrationId(), "SAML 2");
}
} }
// Remove any null keys/values from the providerList // Remove any null keys/values from the providerList
providerList providerList
@@ -101,7 +100,8 @@ public class AccountWebController {
model.addAttribute("providerlist", providerList); model.addAttribute("providerlist", providerList);
model.addAttribute("loginMethod", securityProps.getLoginMethod()); model.addAttribute("loginMethod", securityProps.getLoginMethod());
model.addAttribute("altLogin", securityProps.isAltLogin()); boolean altLogin = providerList.size() > 0 ? securityProps.isAltLogin() : false;
model.addAttribute("altLogin", altLogin);
model.addAttribute("currentPage", "login"); model.addAttribute("currentPage", "login");
@@ -164,6 +164,17 @@ public class AccountWebController {
case "userIsDisabled": case "userIsDisabled":
erroroauth = "login.userIsDisabled"; erroroauth = "login.userIsDisabled";
break; break;
case "invalid_destination":
erroroauth = "login.invalid_destination";
break;
// Valid InResponseTo was not available from the validation context, unable to
// evaluate
case "invalid_in_response_to":
erroroauth = "login.invalid_in_response_to";
break;
case "not_authentication_provider_found":
erroroauth = "login.not_authentication_provider_found";
break;
default: default:
break; break;
} }

View File

@@ -31,6 +31,10 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
import stirling.software.SPDF.model.SignatureFile;
import stirling.software.SPDF.service.SignatureService;
@Controller @Controller
@Tag(name = "General", description = "General APIs") @Tag(name = "General", description = "General APIs")
public class GeneralWebController { public class GeneralWebController {
@@ -171,11 +175,28 @@ public class GeneralWebController {
return "split-pdfs"; return "split-pdfs";
} }
private static final String SIGNATURE_BASE_PATH = "customFiles/static/signatures/";
private static final String ALL_USERS_FOLDER = "ALL_USERS";
@Autowired private SignatureService signatureService;
@Autowired(required = false)
private UserServiceInterface userService;
@GetMapping("/sign") @GetMapping("/sign")
@Hidden @Hidden
public String signForm(Model model) { public String signForm(Model model) {
String username = "";
if (userService != null) {
username = userService.getCurrentUsername();
}
// Get signatures from both personal and ALL_USERS folders
List<SignatureFile> signatures = signatureService.getAvailableSignatures(username);
model.addAttribute("currentPage", "sign"); model.addAttribute("currentPage", "sign");
model.addAttribute("fonts", getFontNames()); model.addAttribute("fonts", getFontNames());
model.addAttribute("signatures", signatures);
return "sign"; return "sign";
} }

View File

@@ -0,0 +1,44 @@
package stirling.software.SPDF.controller.web;
import java.io.IOException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
import stirling.software.SPDF.service.SignatureService;
@Controller
@RequestMapping("/api/v1/general")
public class SignatureController {
@Autowired private SignatureService signatureService;
@Autowired(required = false)
private UserServiceInterface userService;
@GetMapping("/sign/{fileName}")
public ResponseEntity<byte[]> getSignature(@PathVariable(name = "fileName") String fileName)
throws IOException {
String username = "NON_SECURITY_USER";
if (userService != null) {
username = userService.getCurrentUsername();
}
// Verify access permission
if (!signatureService.hasAccessToFile(username, fileName)) {
return ResponseEntity.status(HttpStatus.FORBIDDEN).build();
}
byte[] imageBytes = signatureService.getSignatureBytes(username, fileName);
return ResponseEntity.ok()
.contentType(MediaType.IMAGE_JPEG) // Adjust based on file type
.body(imageBytes);
}
}

View File

@@ -47,6 +47,7 @@ public class ApplicationProperties {
private AutomaticallyGenerated automaticallyGenerated = new AutomaticallyGenerated(); private AutomaticallyGenerated automaticallyGenerated = new AutomaticallyGenerated();
private EnterpriseEdition enterpriseEdition = new EnterpriseEdition(); private EnterpriseEdition enterpriseEdition = new EnterpriseEdition();
private AutoPipeline autoPipeline = new AutoPipeline(); private AutoPipeline autoPipeline = new AutoPipeline();
private ProcessExecutor processExecutor = new ProcessExecutor();
@Data @Data
public static class AutoPipeline { public static class AutoPipeline {
@@ -309,4 +310,98 @@ public class ApplicationProperties {
} }
} }
} }
@Data
public static class ProcessExecutor {
private SessionLimit sessionLimit = new SessionLimit();
private TimeoutMinutes timeoutMinutes = new TimeoutMinutes();
@Data
public static class SessionLimit {
private int libreOfficeSessionLimit;
private int pdfToHtmlSessionLimit;
private int ocrMyPdfSessionLimit;
private int pythonOpenCvSessionLimit;
private int ghostScriptSessionLimit;
private int weasyPrintSessionLimit;
private int installAppSessionLimit;
private int calibreSessionLimit;
public int getLibreOfficeSessionLimit() {
return libreOfficeSessionLimit > 0 ? libreOfficeSessionLimit : 1;
}
public int getPdfToHtmlSessionLimit() {
return pdfToHtmlSessionLimit > 0 ? pdfToHtmlSessionLimit : 1;
}
public int getOcrMyPdfSessionLimit() {
return ocrMyPdfSessionLimit > 0 ? ocrMyPdfSessionLimit : 2;
}
public int getPythonOpenCvSessionLimit() {
return pythonOpenCvSessionLimit > 0 ? pythonOpenCvSessionLimit : 8;
}
public int getGhostScriptSessionLimit() {
return ghostScriptSessionLimit > 0 ? ghostScriptSessionLimit : 16;
}
public int getWeasyPrintSessionLimit() {
return weasyPrintSessionLimit > 0 ? weasyPrintSessionLimit : 16;
}
public int getInstallAppSessionLimit() {
return installAppSessionLimit > 0 ? installAppSessionLimit : 1;
}
public int getCalibreSessionLimit() {
return calibreSessionLimit > 0 ? calibreSessionLimit : 1;
}
}
@Data
public static class TimeoutMinutes {
private long libreOfficeTimeoutMinutes;
private long pdfToHtmlTimeoutMinutes;
private long ocrMyPdfTimeoutMinutes;
private long pythonOpenCvTimeoutMinutes;
private long ghostScriptTimeoutMinutes;
private long weasyPrintTimeoutMinutes;
private long installAppTimeoutMinutes;
private long calibreTimeoutMinutes;
public long getLibreOfficeTimeoutMinutes() {
return libreOfficeTimeoutMinutes > 0 ? libreOfficeTimeoutMinutes : 30;
}
public long getPdfToHtmlTimeoutMinutes() {
return pdfToHtmlTimeoutMinutes > 0 ? pdfToHtmlTimeoutMinutes : 20;
}
public long getOcrMyPdfTimeoutMinutes() {
return ocrMyPdfTimeoutMinutes > 0 ? ocrMyPdfTimeoutMinutes : 30;
}
public long getPythonOpenCvTimeoutMinutes() {
return pythonOpenCvTimeoutMinutes > 0 ? pythonOpenCvTimeoutMinutes : 30;
}
public long getGhostScriptTimeoutMinutes() {
return ghostScriptTimeoutMinutes > 0 ? ghostScriptTimeoutMinutes : 30;
}
public long getWeasyPrintTimeoutMinutes() {
return weasyPrintTimeoutMinutes > 0 ? weasyPrintTimeoutMinutes : 30;
}
public long getInstallAppTimeoutMinutes() {
return installAppTimeoutMinutes > 0 ? installAppTimeoutMinutes : 60;
}
public long getCalibreTimeoutMinutes() {
return calibreTimeoutMinutes > 0 ? calibreTimeoutMinutes : 30;
}
}
}
} }

View File

@@ -0,0 +1,11 @@
package stirling.software.SPDF.model;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class SignatureFile {
private String fileName;
private String category; // "Personal" or "Shared"
}

View File

@@ -50,4 +50,7 @@ public class SignPDFWithCertRequest extends PDFFile {
description = description =
"The page number where the signature should be visible. This is required if showSignature is set to true") "The page number where the signature should be visible. This is required if showSignature is set to true")
private Integer pageNumber; private Integer pageNumber;
@Schema(description = "Whether to visually show a signature logo along with the signature")
private boolean showLogo;
} }

View File

@@ -5,6 +5,7 @@ import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken; import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken;
import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository; import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository;
import org.springframework.transaction.annotation.Transactional;
import stirling.software.SPDF.model.PersistentLogin; import stirling.software.SPDF.model.PersistentLogin;
@@ -13,6 +14,7 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
@Autowired private PersistentLoginRepository persistentLoginRepository; @Autowired private PersistentLoginRepository persistentLoginRepository;
@Override @Override
@Transactional
public void createNewToken(PersistentRememberMeToken token) { public void createNewToken(PersistentRememberMeToken token) {
PersistentLogin newToken = new PersistentLogin(); PersistentLogin newToken = new PersistentLogin();
newToken.setSeries(token.getSeries()); newToken.setSeries(token.getSeries());
@@ -23,6 +25,7 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
} }
@Override @Override
@Transactional
public void updateToken(String series, String tokenValue, Date lastUsed) { public void updateToken(String series, String tokenValue, Date lastUsed) {
PersistentLogin existingToken = persistentLoginRepository.findById(series).orElse(null); PersistentLogin existingToken = persistentLoginRepository.findById(series).orElse(null);
if (existingToken != null) { if (existingToken != null) {
@@ -43,11 +46,11 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
} }
@Override @Override
@Transactional
public void removeUserTokens(String username) { public void removeUserTokens(String username) {
for (PersistentLogin token : persistentLoginRepository.findAll()) { try {
if (token.getUsername().equals(username)) { persistentLoginRepository.deleteByUsername(username);
persistentLoginRepository.delete(token); } catch (Exception e) {
}
} }
} }
} }

View File

@@ -6,4 +6,6 @@ import org.springframework.stereotype.Repository;
import stirling.software.SPDF.model.PersistentLogin; import stirling.software.SPDF.model.PersistentLogin;
@Repository @Repository
public interface PersistentLoginRepository extends JpaRepository<PersistentLogin, String> {} public interface PersistentLoginRepository extends JpaRepository<PersistentLogin, String> {
void deleteByUsername(String username);
}

View File

@@ -0,0 +1,41 @@
package stirling.software.SPDF.service;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.stereotype.Service;
@Service
public class LanguageService {
private final PathMatchingResourcePatternResolver resourcePatternResolver =
new PathMatchingResourcePatternResolver();
public List<String> getSupportedLanguages() {
List<String> supportedLanguages = new ArrayList<>();
try {
Resource[] resources =
resourcePatternResolver.getResources("classpath*:messages_*.properties");
for (Resource resource : resources) {
if (resource.exists() && resource.isReadable()) {
String filename = resource.getFilename();
if (filename != null
&& filename.startsWith("messages_")
&& filename.endsWith(".properties")) {
String languageCode =
filename.replace("messages_", "").replace(".properties", "");
supportedLanguages.add(languageCode);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return supportedLanguages;
}
}

View File

@@ -29,12 +29,12 @@ public class PostHogService {
private final ApplicationProperties applicationProperties; private final ApplicationProperties applicationProperties;
private final UserServiceInterface userService; private final UserServiceInterface userService;
@Autowired @Autowired
public PostHogService( public PostHogService(
PostHog postHog, PostHog postHog,
@Qualifier("UUID") String uuid, @Qualifier("UUID") String uuid,
ApplicationProperties applicationProperties, @Autowired(required = false) UserServiceInterface userService) { ApplicationProperties applicationProperties,
@Autowired(required = false) UserServiceInterface userService) {
this.postHog = postHog; this.postHog = postHog;
this.uniqueId = uuid; this.uniqueId = uuid;
this.applicationProperties = applicationProperties; this.applicationProperties = applicationProperties;
@@ -43,7 +43,7 @@ public class PostHogService {
} }
private void captureSystemInfo() { private void captureSystemInfo() {
if (!Boolean.getBoolean(applicationProperties.getSystem().getEnableAnalytics())) { if (!Boolean.parseBoolean(applicationProperties.getSystem().getEnableAnalytics())) {
return; return;
} }
try { try {
@@ -54,7 +54,7 @@ public class PostHogService {
} }
public void captureEvent(String eventName, Map<String, Object> properties) { public void captureEvent(String eventName, Map<String, Object> properties) {
if (!Boolean.getBoolean(applicationProperties.getSystem().getEnableAnalytics())) { if (!Boolean.parseBoolean(applicationProperties.getSystem().getEnableAnalytics())) {
return; return;
} }
postHog.capture(uniqueId, eventName, properties); postHog.capture(uniqueId, eventName, properties);
@@ -137,10 +137,9 @@ public class PostHogService {
metrics.put("docker_metrics", getDockerMetrics()); metrics.put("docker_metrics", getDockerMetrics());
} }
metrics.put("application_properties", captureApplicationProperties()); metrics.put("application_properties", captureApplicationProperties());
if (userService != null) {
if(userService != null) { metrics.put("total_users_created", userService.getTotalUsersCount());
metrics.put("total_users_created", userService.getTotalUsersCount());
} }
} catch (Exception e) { } catch (Exception e) {

View File

@@ -0,0 +1,100 @@
package stirling.software.SPDF.service;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.stereotype.Service;
import org.thymeleaf.util.StringUtils;
import lombok.extern.slf4j.Slf4j;
import stirling.software.SPDF.model.SignatureFile;
@Service
@Slf4j
public class SignatureService {
private static final String SIGNATURE_BASE_PATH = "customFiles/signatures/";
private static final String ALL_USERS_FOLDER = "ALL_USERS";
public boolean hasAccessToFile(String username, String fileName) throws IOException {
validateFileName(fileName);
// Check if file exists in user's personal folder or ALL_USERS folder
Path userPath = Paths.get(SIGNATURE_BASE_PATH, username, fileName);
Path allUsersPath = Paths.get(SIGNATURE_BASE_PATH, ALL_USERS_FOLDER, fileName);
return Files.exists(userPath) || Files.exists(allUsersPath);
}
public List<SignatureFile> getAvailableSignatures(String username) {
List<SignatureFile> signatures = new ArrayList<>();
// Get signatures from user's personal folder
if (!StringUtils.isEmptyOrWhitespace(username)) {
Path userFolder = Paths.get(SIGNATURE_BASE_PATH, username);
if (Files.exists(userFolder)) {
try {
signatures.addAll(getSignaturesFromFolder(userFolder, "Personal"));
} catch (IOException e) {
log.error("Error reading user signatures folder", e);
}
}
}
// Get signatures from ALL_USERS folder
Path allUsersFolder = Paths.get(SIGNATURE_BASE_PATH, ALL_USERS_FOLDER);
if (Files.exists(allUsersFolder)) {
try {
signatures.addAll(getSignaturesFromFolder(allUsersFolder, "Shared"));
} catch (IOException e) {
log.error("Error reading shared signatures folder", e);
}
}
return signatures;
}
private List<SignatureFile> getSignaturesFromFolder(Path folder, String category)
throws IOException {
return Files.list(folder)
.filter(path -> isImageFile(path))
.map(path -> new SignatureFile(path.getFileName().toString(), category))
.collect(Collectors.toList());
}
public byte[] getSignatureBytes(String username, String fileName) throws IOException {
validateFileName(fileName);
// First try user's personal folder
Path userPath = Paths.get(SIGNATURE_BASE_PATH, username, fileName);
if (Files.exists(userPath)) {
return Files.readAllBytes(userPath);
}
// Then try ALL_USERS folder
Path allUsersPath = Paths.get(SIGNATURE_BASE_PATH, ALL_USERS_FOLDER, fileName);
if (Files.exists(allUsersPath)) {
return Files.readAllBytes(allUsersPath);
}
throw new FileNotFoundException("Signature file not found");
}
private boolean isImageFile(Path path) {
String fileName = path.getFileName().toString().toLowerCase();
return fileName.endsWith(".jpg")
|| fileName.endsWith(".jpeg")
|| fileName.endsWith(".png")
|| fileName.endsWith(".gif");
}
private void validateFileName(String fileName) {
if (fileName.contains("..") || fileName.contains("/") || fileName.contains("\\")) {
throw new IllegalArgumentException("Invalid filename");
}
}
}

View File

@@ -1,13 +1,31 @@
package stirling.software.SPDF.utils; package stirling.software.SPDF.utils;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer; import java.awt.image.DataBuffer;
import java.awt.image.DataBufferByte; import java.awt.image.DataBufferByte;
import java.awt.image.DataBufferInt; import java.awt.image.DataBufferInt;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import javax.imageio.ImageIO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.multipart.MultipartFile;
import com.drew.imaging.ImageMetadataReader;
import com.drew.imaging.ImageProcessingException;
import com.drew.metadata.Metadata;
import com.drew.metadata.MetadataException;
import com.drew.metadata.exif.ExifSubIFDDirectory;
public class ImageProcessingUtils { public class ImageProcessingUtils {
private static final Logger logger = LoggerFactory.getLogger(PdfUtils.class);
static BufferedImage convertColorType(BufferedImage sourceImage, String colorType) { static BufferedImage convertColorType(BufferedImage sourceImage, String colorType) {
BufferedImage convertedImage; BufferedImage convertedImage;
switch (colorType) { switch (colorType) {
@@ -59,4 +77,51 @@ public class ImageProcessingUtils {
return data; return data;
} }
} }
public static double extractImageOrientation(InputStream is) throws IOException {
try {
Metadata metadata = ImageMetadataReader.readMetadata(is);
ExifSubIFDDirectory directory =
metadata.getFirstDirectoryOfType(ExifSubIFDDirectory.class);
if (directory == null) {
return 0;
}
int orientationTag = directory.getInt(ExifSubIFDDirectory.TAG_ORIENTATION);
switch (orientationTag) {
case 1:
return 0;
case 6:
return 90;
case 3:
return 180;
case 8:
return 270;
default:
logger.warn("Unknown orientation tag: {}", orientationTag);
return 0;
}
} catch (ImageProcessingException | MetadataException e) {
return 0;
}
}
public static BufferedImage applyOrientation(BufferedImage image, double orientation) {
if (orientation == 0) {
return image;
}
AffineTransform transform =
AffineTransform.getRotateInstance(
Math.toRadians(orientation),
image.getWidth() / 2.0,
image.getHeight() / 2.0);
AffineTransformOp op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
return op.filter(image, null);
}
public static BufferedImage loadImageWithExifOrientation(MultipartFile file)
throws IOException {
BufferedImage image = ImageIO.read(file.getInputStream());
double orientation = extractImageOrientation(file.getInputStream());
return applyOrientation(image, orientation);
}
} }

View File

@@ -194,7 +194,8 @@ public class PdfUtils {
pdfDocument.close(); pdfDocument.close();
// Assumes the expectedPageSize is in the format "widthxheight", e.g. "595x842" for A4 // Assumes the expectedPageSize is in the format "widthxheight", e.g. "595x842"
// for A4
String[] dimensions = expectedPageSize.split("x"); String[] dimensions = expectedPageSize.split("x");
float expectedPageWidth = Float.parseFloat(dimensions[0]); float expectedPageWidth = Float.parseFloat(dimensions[0]);
float expectedPageHeight = Float.parseFloat(dimensions[1]); float expectedPageHeight = Float.parseFloat(dimensions[1]);
@@ -407,7 +408,7 @@ public class PdfUtils {
addImageToDocument(doc, pdImage, fitOption, autoRotate); addImageToDocument(doc, pdImage, fitOption, autoRotate);
} }
} else { } else {
BufferedImage image = ImageIO.read(file.getInputStream()); BufferedImage image = ImageProcessingUtils.loadImageWithExifOrientation(file);
BufferedImage convertedImage = BufferedImage convertedImage =
ImageProcessingUtils.convertColorType(image, colorType); ImageProcessingUtils.convertColorType(image, colorType);
// Use JPEGFactory if it's JPEG since JPEG is lossy // Use JPEGFactory if it's JPEG since JPEG is lossy

View File

@@ -18,10 +18,14 @@ import org.slf4j.LoggerFactory;
import io.github.pixee.security.BoundedLineReader; import io.github.pixee.security.BoundedLineReader;
import stirling.software.SPDF.model.ApplicationProperties;
public class ProcessExecutor { public class ProcessExecutor {
private static final Logger logger = LoggerFactory.getLogger(ProcessExecutor.class); private static final Logger logger = LoggerFactory.getLogger(ProcessExecutor.class);
private static ApplicationProperties applicationProperties = new ApplicationProperties();
public enum Processes { public enum Processes {
LIBRE_OFFICE, LIBRE_OFFICE,
PDFTOHTML, PDFTOHTML,
@@ -45,26 +49,90 @@ public class ProcessExecutor {
key -> { key -> {
int semaphoreLimit = int semaphoreLimit =
switch (key) { switch (key) {
case LIBRE_OFFICE -> 1; case LIBRE_OFFICE ->
case PDFTOHTML -> 1; applicationProperties
case OCR_MY_PDF -> 2; .getProcessExecutor()
case PYTHON_OPENCV -> 8; .getSessionLimit()
case GHOSTSCRIPT -> 16; .getLibreOfficeSessionLimit();
case WEASYPRINT -> 16; case PDFTOHTML ->
case INSTALL_APP -> 1; applicationProperties
case CALIBRE -> 1; .getProcessExecutor()
.getSessionLimit()
.getPdfToHtmlSessionLimit();
case OCR_MY_PDF ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getOcrMyPdfSessionLimit();
case PYTHON_OPENCV ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getPythonOpenCvSessionLimit();
case GHOSTSCRIPT ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getGhostScriptSessionLimit();
case WEASYPRINT ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getWeasyPrintSessionLimit();
case INSTALL_APP ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getInstallAppSessionLimit();
case CALIBRE ->
applicationProperties
.getProcessExecutor()
.getSessionLimit()
.getCalibreSessionLimit();
}; };
long timeoutMinutes = long timeoutMinutes =
switch (key) { switch (key) {
case LIBRE_OFFICE -> 30; case LIBRE_OFFICE ->
case PDFTOHTML -> 20; applicationProperties
case OCR_MY_PDF -> 30; .getProcessExecutor()
case PYTHON_OPENCV -> 30; .getTimeoutMinutes()
case GHOSTSCRIPT -> 30; .getLibreOfficeTimeoutMinutes();
case WEASYPRINT -> 30; case PDFTOHTML ->
case INSTALL_APP -> 60; applicationProperties
case CALIBRE -> 30; .getProcessExecutor()
.getTimeoutMinutes()
.getPdfToHtmlTimeoutMinutes();
case OCR_MY_PDF ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getOcrMyPdfTimeoutMinutes();
case PYTHON_OPENCV ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getPythonOpenCvTimeoutMinutes();
case GHOSTSCRIPT ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getGhostScriptTimeoutMinutes();
case WEASYPRINT ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getWeasyPrintTimeoutMinutes();
case INSTALL_APP ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getInstallAppTimeoutMinutes();
case CALIBRE ->
applicationProperties
.getProcessExecutor()
.getTimeoutMinutes()
.getCalibreTimeoutMinutes();
}; };
return new ProcessExecutor(semaphoreLimit, liveUpdates, timeoutMinutes); return new ProcessExecutor(semaphoreLimit, liveUpdates, timeoutMinutes);
}); });

View File

@@ -5,6 +5,7 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
@@ -53,7 +54,7 @@ public class CustomColorReplaceStrategy extends ReplaceAndInvertColorStrategy {
} }
// Create a temporary file, with the original filename from the multipart file // Create a temporary file, with the original filename from the multipart file
File file = File.createTempFile("temp", getFileInput().getOriginalFilename()); File file = Files.createTempFile("temp", getFileInput().getOriginalFilename()).toFile();
// Transfer the content of the multipart file to the file // Transfer the content of the multipart file to the file
getFileInput().transferTo(file); getFileInput().transferTo(file);

View File

@@ -6,6 +6,7 @@ import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -30,7 +31,7 @@ public class InvertFullColorStrategy extends ReplaceAndInvertColorStrategy {
public InputStreamResource replace() throws IOException { public InputStreamResource replace() throws IOException {
// Create a temporary file, with the original filename from the multipart file // Create a temporary file, with the original filename from the multipart file
File file = File.createTempFile("temp", getFileInput().getOriginalFilename()); File file = Files.createTempFile("temp", getFileInput().getOriginalFilename()).toFile();
// Transfer the content of the multipart file to the file // Transfer the content of the multipart file to the file
getFileInput().transferTo(file); getFileInput().transferTo(file);

View File

@@ -50,4 +50,4 @@ springdoc.swagger-ui.url=/v1/api-docs
posthog.api.key=phc_fiR65u5j6qmXTYL56MNrLZSWqLaDW74OrZH0Insd2xq posthog.api.key=phc_fiR65u5j6qmXTYL56MNrLZSWqLaDW74OrZH0Insd2xq
posthog.host=https://eu.i.posthog.com posthog.host=https://eu.i.posthog.com

View File

@@ -76,15 +76,18 @@ donate=تبرع
color=لون color=لون
sponsor=راعٍ sponsor=راعٍ
info=معلومات info=معلومات
pro=Pro pro=محترف
page=Page page=صفحة
pages=Pages pages=صفحات
loading=جارٍ التحميل...
addToDoc=إضافة إلى المستند
reset=Reset
legal.privacy=Privacy Policy legal.privacy=سياسة الخصوصية
legal.terms=Terms and Conditions legal.terms=شروط الاستخدام
legal.accessibility=Accessibility legal.accessibility=Accessibility
legal.cookie=Cookie Policy legal.cookie=سياسة ملفات تعريف الارتباط
legal.impressum=Impressum legal.impressum=بيان الهوية
############### ###############
# Pipeline # # Pipeline #
@@ -114,8 +117,8 @@ pipelineOptions.validateButton=تحقق
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=ترقية إلى محترف
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=هذه الخاصية متوفرة فقط للمستخدمين المحترفين.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
@@ -123,12 +126,12 @@ enterpriseEdition.ssoAdvert=Looking for more user management features? Check out
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=هل تريد تحسين Stirling PDF؟
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF يحتوي على إحصائيات مختصة للمساعدة في تحسين المنتج. لا نتبع أي معلومات شخصية أو محتوى الملفات.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=يرجى مراعاة تفعيل الإحصائيات لمساعدتنا على نمو Stirling-PDF وتوفير فهم أفضل لمستخدمينا.
analytics.enable=Enable analytics analytics.enable=تفعيل الإحصائيات
analytics.disable=Disable analytics analytics.disable=تعطيل الإحصائيات
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=اللغات
navbar.settings=إعدادات navbar.settings=إعدادات
navbar.allTools=أدوات navbar.allTools=أدوات
navbar.multiTool=أدوات متعددة navbar.multiTool=أدوات متعددة
navbar.search=Search
navbar.sections.organize=تنظيم navbar.sections.organize=تنظيم
navbar.sections.convertTo=تحويل الى PDF navbar.sections.convertTo=تحويل الى PDF
navbar.sections.convertFrom=تحويل من PDF navbar.sections.convertFrom=تحويل من PDF
navbar.sections.security=التوقيع والأمان navbar.sections.security=التوقيع والأمان
navbar.sections.advance=متقدم navbar.sections.advance=متقدم
navbar.sections.edit=عرض وتعديل navbar.sections.edit=عرض وتعديل
navbar.sections.popular=Popular navbar.sections.popular=المفضل
############# #############
# SETTINGS # # SETTINGS #
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=يجب ألا يكون الملف فارغًا أو خ
database.failedImportFile=فشل استيراد الملف database.failedImportFile=فشل استيراد الملف
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -503,28 +508,28 @@ home.removeImagePdf.desc=إزالة الصورة من PDF لتقليل حجم ا
removeImagePdf.tags=إزالة الصورة,عمليات الصفحة,الخلفية,جانب الخادم removeImagePdf.tags=إزالة الصورة,عمليات الصفحة,الخلفية,جانب الخادم
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=تجزئة المستندات PDF حسب الفصول
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=قسم مستند PDF إلى ملفات متعددة بناءً على هيكل فصوله.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=تجزئة، فصول، علامات تبويب، تنظيم
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=استبدال-إلغاء مirro لون PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=استبدال الألوان للنصوص والخلفيات في المستندات PDF وإلغاء تعكير اللون الكامل للمستند لتقليل حجم الملف
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=استبدال اللون، عمليات الصفحة، الخلفية، جانب الخادم
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=خيارات استبدال-إلغاء مirro لون
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Default(Default high contrast colors)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=خصيصة (ألوان شخصية)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Full-Invert(Invert all colors)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=خيارات ألوان التباين العالي
replace-color.selectText.6=white text on black background replace-color.selectText.6=نص أبيض على خلفية سوداء
replace-color.selectText.7=Black text on white background replace-color.selectText.7=نص أسود على خلفية بيضاء
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=نص صفرة على خلفية سوداء
replace-color.selectText.9=Green text on black background replace-color.selectText.9=نص أخضر على خلفية سوداء
replace-color.selectText.10=Choose text Color replace-color.selectText.10=اختر لون النص
replace-color.selectText.11=Choose background Color replace-color.selectText.11=اختر لون الخلفية
replace-color.submit=Replace replace-color.submit=استبدال
@@ -551,9 +556,9 @@ login.oauth2AccessDenied=تم رفض الوصول
login.oauth2InvalidTokenResponse=استجابة الرمز المميز غير صالحة login.oauth2InvalidTokenResponse=استجابة الرمز المميز غير صالحة
login.oauth2InvalidIdToken=رمز الهوية غير صالح login.oauth2InvalidIdToken=رمز الهوية غير صالح
login.userIsDisabled=تم تعطيل المستخدم، تم حظر تسجيل الدخول حاليًا باستخدام اسم المستخدم هذا. يرجى الاتصال بالمسؤول. login.userIsDisabled=تم تعطيل المستخدم، تم حظر تسجيل الدخول حاليًا باستخدام اسم المستخدم هذا. يرجى الاتصال بالمسؤول.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=لقد تسجل دخولًا إلى
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=أجهزة أخرى. يرجى تسجيل الخروج من الأجهزة وحاول مرة أخرى.
login.toManySessions=You have too many active sessions login.toManySessions=لديك عدة جلسات نشطة
#auto-redact #auto-redact
autoRedact.title=حجب تلقائي autoRedact.title=حجب تلقائي
@@ -728,7 +733,7 @@ pageLayout.submit=إرسال
scalePages.title=ضبط مقياس الصفحة scalePages.title=ضبط مقياس الصفحة
scalePages.header=ضبط مقياس الصفحة scalePages.header=ضبط مقياس الصفحة
scalePages.pageSize=حجم صفحة المستند. scalePages.pageSize=حجم صفحة المستند.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=الحجم الأصلي
scalePages.scaleFactor=مستوى التكبير (الاقتصاص) للصفحة. scalePages.scaleFactor=مستوى التكبير (الاقتصاص) للصفحة.
scalePages.submit=إرسال scalePages.submit=إرسال
@@ -748,6 +753,7 @@ certSign.showSig=إظهار التوقيع
certSign.reason=السبب certSign.reason=السبب
certSign.location=الموقع certSign.location=الموقع
certSign.name=الاسم certSign.name=الاسم
certSign.showLogo=عرض الشعار
certSign.submit=توقيع PDF certSign.submit=توقيع PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=لون التظليل 2:
compare.document.1=المستند 1 compare.document.1=المستند 1
compare.document.2=المستند 2 compare.document.2=المستند 2
compare.submit=مقارنة compare.submit=مقارنة
compare.complex.message=أو كلا المستندين المقدمين كبيران حجمًا، مما يؤدي إلى تقليل دقة المقارنة
compare.large.file.message=أو كلا المستندين المقدمين كبيرة حجمهما للتعامل معهما
compare.no.text.message=أحد أو كلي المستندات المرجوة للمقارنة لا يحتوي على محتوى نصي. يرجى اختيار مستندات تحتوي على نص لم يتم التعرف عليه.
#BookToPDF #BookToPDF
BookToPDF.title=الكتب والكوميكس إلى PDF BookToPDF.title=الكتب والكوميكس إلى PDF
@@ -804,6 +813,11 @@ sign.draw=رسم التوقيع
sign.text=إدخال النص sign.text=إدخال النص
sign.clear=مسح sign.clear=مسح
sign.add=إضافة sign.add=إضافة
sign.saved=توقيعات تم حفظها
sign.save=حفظ توقيع
sign.personalSigs=توقيعات شخصية
sign.sharedSigs=توقيعات مشتركة
sign.noSavedSigs=لم يتم العثور على توقيعات محفوظة
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(مثال: 1,3,2 أو 4-8,2,10-12 أو 2n-1)
multiTool.title=أداة متعددة PDF multiTool.title=أداة متعددة PDF
multiTool.header=أداة متعددة PDF multiTool.header=أداة متعددة PDF
multiTool.uploadPrompts=اسم الملف multiTool.uploadPrompts=اسم الملف
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=عرض PDF viewPdf.title=عرض PDF
@@ -1181,8 +1206,8 @@ licenses.license=الترخيص
survey.nav=استطلاع survey.nav=استطلاع
survey.title=استطلاع Stirling-PDF survey.title=استطلاع Stirling-PDF
survey.description=Stirling-PDF لا يحتوي على تتبع لذا نريد أن نسمع من مستخدمينا لتحسين Stirling-PDF! survey.description=Stirling-PDF لا يحتوي على تتبع لذا نريد أن نسمع من مستخدمينا لتحسين Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=تحديث Stirling-PDF منذ آخر استبيان! للحصول على المزيد من المعلومات الرجاء زيارة مقالتنا في المدونة هنا:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=مع هذه التحديثات، نستفيد من الدعم العملي والمنحة المالية
survey.please=يرجى النظر في المشاركة في استطلاعنا! survey.please=يرجى النظر في المشاركة في استطلاعنا!
survey.disabled=(سيتم تعطيل النافذة المنبثقة للاستطلاع في التحديثات التالية ولكنها ستكون متاحة في أسفل الصفحة) survey.disabled=(سيتم تعطيل النافذة المنبثقة للاستطلاع في التحديثات التالية ولكنها ستكون متاحة في أسفل الصفحة)
survey.button=المشاركة في الاستطلاع survey.button=المشاركة في الاستطلاع
@@ -1210,15 +1235,13 @@ removeImage.removeImage=إزالة الصورة
removeImage.submit=إزالة الصورة removeImage.submit=إزالة الصورة
splitByChapters.title=Split PDF by Chapters splitByChapters.title=تجزئة المستند حسب الفصول
splitByChapters.header=Split PDF by Chapters splitByChapters.header=تجزئة المستند حسب الفصول
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=مستوى العلامات التذكارية
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=شامل البيانات المرفقة
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=تمثيل البيانات الأصلية: إذا تم اختيارها، سترمز البيانات المرجعية الأصلية إلى كل PDF مجزأ.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=سماح بالتكرار: إذا تم اختياره، يسمح بوجود معاينات متعددة في الصفحة نفسها لخلق ملفات PDF منفصلة.
splitByChapters.submit=Split PDF splitByChapters.submit=تقطيع ملف PDF

View File

@@ -79,6 +79,9 @@ info=Информация
pro=Pro pro=Pro
page=Страница page=Страница
pages=Страници pages=Страници
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Политика за поверителност legal.privacy=Политика за поверителност
legal.terms=Правила и условия legal.terms=Правила и условия
@@ -139,6 +142,7 @@ navbar.language=Езици
navbar.settings=Настройки navbar.settings=Настройки
navbar.allTools=Инструменти navbar.allTools=Инструменти
navbar.multiTool=Мулти инструменти navbar.multiTool=Мулти инструменти
navbar.search=Search
navbar.sections.organize=Организирайте navbar.sections.organize=Организирайте
navbar.sections.convertTo=Преобразуване в PDF navbar.sections.convertTo=Преобразуване в PDF
navbar.sections.convertFrom=Преобразуване от PDF navbar.sections.convertFrom=Преобразуване от PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Файлът не трябва да е нулев ил
database.failedImportFile=Неуспешно импортиране на файл database.failedImportFile=Неуспешно импортиране на файл
session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново. session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Показване на подпис
certSign.reason=Причина certSign.reason=Причина
certSign.location=Местоположение certSign.location=Местоположение
certSign.name=Име certSign.name=Име
certSign.showLogo=Show Logo
certSign.submit=Подпишете PDF certSign.submit=Подпишете PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Цвят на маркирането 2:
compare.document.1=Документ 1 compare.document.1=Документ 1
compare.document.2=Документ 2 compare.document.2=Документ 2
compare.submit=Сравнявай compare.submit=Сравнявай
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Книги и комикси в PDF BookToPDF.title=Книги и комикси в PDF
@@ -804,6 +813,11 @@ sign.draw=Начертайте подпис
sign.text=Въвеждане на текст sign.text=Въвеждане на текст
sign.clear=Изчисти sign.clear=Изчисти
sign.add=Добави sign.add=Добави
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(напр. 1,3,2 или 4-8,2,10-12 или 2n-1)
multiTool.title=PDF Мулти инструмент multiTool.title=PDF Мулти инструмент
multiTool.header=PDF Мулти инструмент multiTool.header=PDF Мулти инструмент
multiTool.uploadPrompts=Име на файл multiTool.uploadPrompts=Име на файл
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Преглед на PDF viewPdf.title=Преглед на PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Ниво на отметка: Изберете нивот
splitByChapters.desc.3=Включване на метаданни: Ако е отметнато, метаданните на оригиналния PDF ще бъдат включени във всеки разделен PDF. splitByChapters.desc.3=Включване на метаданни: Ако е отметнато, метаданните на оригиналния PDF ще бъдат включени във всеки разделен PDF.
splitByChapters.desc.4=Разрешаване на дубликати: Ако е отметнато, позволява множество отметки на една и съща страница за създаване на отделни PDF файлове. splitByChapters.desc.4=Разрешаване на дубликати: Ако е отметнато, позволява множество отметки на една и съща страница за създаване на отделни PDF файлове.
splitByChapters.submit=Разделяне на PDF splitByChapters.submit=Разделяне на PDF

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Velikost písma
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Název písma
pdfPrompt=Vyberte PDF soubory pdfPrompt=Vyberte PDF soubory
multiPdfPrompt=Vyberte PDF soubory (2+) multiPdfPrompt=Vyberte PDF soubory (2+)
multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory
@@ -56,12 +56,12 @@ userNotFoundMessage=Uživatel nenalezen.
incorrectPasswordMessage=Současné heslo není správné. incorrectPasswordMessage=Současné heslo není správné.
usernameExistsMessage=Nové uživatelské jméno již existuje. usernameExistsMessage=Nové uživatelské jméno již existuje.
invalidUsernameMessage=Nesprávné uživatelské jméno, smí obsahovat pouze písmena, číslice a následující speciální znaky @._+- nebo musí být validní emailová adresa. invalidUsernameMessage=Nesprávné uživatelské jméno, smí obsahovat pouze písmena, číslice a následující speciální znaky @._+- nebo musí být validní emailová adresa.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Heslo nemůže být prázdné a nemůže mít mezery na začátku nebo konci.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Nové heslo musí shodovat s potvrzujícím novým heslem.
deleteCurrentUserMessage=Nelze smazat aktuální přihlášeného uživatele. deleteCurrentUserMessage=Nelze smazat aktuální přihlášeného uživatele.
deleteUsernameExistsMessage=Uživatelské jméno neexistuje a nelze ho smazat. deleteUsernameExistsMessage=Uživatelské jméno neexistuje a nelze ho smazat.
downgradeCurrentUserMessage=Nelze snížit roli aktuálního uživatele. downgradeCurrentUserMessage=Nelze snížit roli aktuálního uživatele.
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Současný uživatel nemůže být zakázán
downgradeCurrentUserLongMessage=Nelze snížit roli aktuálního uživatele. Proto nebude aktuální uživatel zobrazen. downgradeCurrentUserLongMessage=Nelze snížit roli aktuálního uživatele. Proto nebude aktuální uživatel zobrazen.
userAlreadyExistsOAuthMessage=Uživatel již existuje jako OAuth2 uživatel. userAlreadyExistsOAuthMessage=Uživatel již existuje jako OAuth2 uživatel.
userAlreadyExistsWebMessage=Uživatel již existuje jako webový uživatel. userAlreadyExistsWebMessage=Uživatel již existuje jako webový uživatel.
@@ -75,16 +75,19 @@ visitGithub=Navštivte Github repozitář
donate=Přispějte donate=Přispějte
color=Barva color=Barva
sponsor=Sponzor sponsor=Sponzor
info=Info info=Informace
pro=Pro pro=Pro
page=Page page=Strana
pages=Pages pages=Strany
loading=Načítání...
addToDoc=Přidat do dokumentu
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Politika soukromí
legal.terms=Terms and Conditions legal.terms=Podmínky použití
legal.accessibility=Accessibility legal.accessibility=Snaha o přístupnost
legal.cookie=Cookie Policy legal.cookie=Zásada cookies
legal.impressum=Impressum legal.impressum=Odborné prohlášení
############### ###############
# Pipeline # # Pipeline #
@@ -96,7 +99,7 @@ pipeline.defaultOption=Vlastní
pipeline.submitButton=Odeslat pipeline.submitButton=Odeslat
pipeline.help=Pomoc s pipeline pipeline.help=Pomoc s pipeline
pipeline.scanHelp=Pomoc se skenováním adresáře pipeline.scanHelp=Pomoc se skenováním adresáře
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Opravdu chcete smazat tento kanál?
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Ověřit
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Upgradujte na Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Tato funkce je k dispozici pouze pro uživatelé s předplatným Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro podporuje konfigurační soubory YAML a další funkce SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Hledáte větší počet správních funkcí uživatelů? Podívejte se na Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Chcete-li zlepšit Stirling PDF, pomozte nám.
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF má povolené analýzy pro to, abychom mohli zlepšovat produkt. Nezaznamenáváme žádné osobní informace nebo obsah souborů.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Považte za možnost povolení analýz k tomu, abychom mohli růst Stirling-PDF a lépe pochopit naši skupinu uživatelů.
analytics.enable=Enable analytics analytics.enable=Zapnout analýzy
analytics.disable=Disable analytics analytics.disable=Vypnout analýzy
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Můžete změnit nastavení pro analýzy v souboru config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Jazyky
navbar.settings=Nastavení navbar.settings=Nastavení
navbar.allTools=Nástroje navbar.allTools=Nástroje
navbar.multiTool=Multifunkční nástroje navbar.multiTool=Multifunkční nástroje
navbar.search=Search
navbar.sections.organize=Organizovat navbar.sections.organize=Organizovat
navbar.sections.convertTo=Převést do PDF navbar.sections.convertTo=Převést do PDF
navbar.sections.convertFrom=Převést z PDF navbar.sections.convertFrom=Převést z PDF
navbar.sections.security=Podpis a Bezpečnost navbar.sections.security=Podpis a Bezpečnost
navbar.sections.advance=Pokročilé navbar.sections.advance=Pokročilé
navbar.sections.edit=Prohlédnout a Upravit navbar.sections.edit=Prohlédnout a Upravit
navbar.sections.popular=Popular navbar.sections.popular=Populární
############# #############
# SETTINGS # # SETTINGS #
@@ -162,7 +166,7 @@ settings.zipThreshold=Zazipuj soubory, když překročí počet stažených soub
settings.signOut=Odhlásit settings.signOut=Odhlásit
settings.accountSettings=Nastavení Účtu settings.accountSettings=Nastavení Účtu
settings.bored.help=Umožňuje hru s easter eggy settings.bored.help=Umožňuje hru s easter eggy
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Ukládání vstupů formuláře
settings.cacheInputs.help=Umožňuje uložit dříve použité vstupy pro budoucí použití settings.cacheInputs.help=Umožňuje uložit dříve použité vstupy pro budoucí použití
changeCreds.title=Změnit pověření changeCreds.title=Změnit pověření
@@ -198,13 +202,13 @@ account.syncToAccount=Synchronizovat Účet <- Prohlížeč
adminUserSettings.title=Nastavení Uživatelského Nastavení adminUserSettings.title=Nastavení Uživatelského Nastavení
adminUserSettings.header=Admin User Control Settings adminUserSettings.header=Nastavení správce uživatelů
adminUserSettings.admin=Admin adminUserSettings.admin=Správce
adminUserSettings.user=Uživatel adminUserSettings.user=Uživatel
adminUserSettings.addUser=Přidat Nového Uživatele adminUserSettings.addUser=Přidat Nového Uživatele
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Smazat uživatele
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Měli by se uživatel smazat?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Měli by se změnit stav uživatele (vytřída/aktivace)?
adminUserSettings.usernameInfo=Uživatelské Jméno může obsahovat pouze písmena, čísla a následující speciální znaky @._+- nebo musí být správná emailová adresa. adminUserSettings.usernameInfo=Uživatelské Jméno může obsahovat pouze písmena, čísla a následující speciální znaky @._+- nebo musí být správná emailová adresa.
adminUserSettings.roles=Role adminUserSettings.roles=Role
adminUserSettings.role=Role adminUserSettings.role=Role
@@ -218,32 +222,33 @@ adminUserSettings.forceChange=Vynutit uživateli změnu hesla při přihlášen
adminUserSettings.submit=Uložit Uživatele adminUserSettings.submit=Uložit Uživatele
adminUserSettings.changeUserRole=Zmenit Roli Uživatele adminUserSettings.changeUserRole=Zmenit Roli Uživatele
adminUserSettings.authenticated=Ověřeno adminUserSettings.authenticated=Ověřeno
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Upravit vlastní profil
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=povolený uživatel
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=zakázáný uživatel
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Aktivní uživatelé:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Zakázанные uživatelé:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Celkem uživatelů:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Poslední žádost
database.title=Database Import/Export database.title=Import/Export databáze
database.header=Database Import/Export database.header=Import/Export databáze
database.fileName=File Name database.fileName=Název souboru
database.creationDate=Creation Date database.creationDate=Datum vytvoření
database.fileSize=File Size database.fileSize=Velikost souboru
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Smazat záložní soubor
database.importBackupFile=Import Backup File database.importBackupFile=Import zálohy souboru
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Stáhnout zálohový soubor
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Při importu dat je důležité zajistit správnou strukturu. Pokud jste nejistí, jak se chovat, hledajte konzultaci a podporu od profesionala. Chyba v struktuře může vést k selhání aplikace, dokonce i k tomu, že by aplikace nemohla být spuštěna.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Název souboru nezáleží při nahrávání. Bude jeho zpětně znovu pojmenován podle formáту backup_user_yyyyMMddHHmm.sql, což zajišťuje konzistentní pravidlo označení.
database.submit=Import Backup database.submit=Import zálohy
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Import do databáze byl úspěšný
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Soubor nemůže být null nebo prázdný
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Vaše sesace vypršela. Prosím obnovte stránku a zkusit to znovu.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -347,7 +352,7 @@ PDFToPresentation.tags=snímky,přehled,kancelář,microsoft
home.PDFToText.title=PDF na RTF (Text) home.PDFToText.title=PDF na RTF (Text)
home.PDFToText.desc=Převod PDF do formátu Textu nebo RTF home.PDFToText.desc=Převod PDF do formátu Textu nebo RTF
PDFToText.tags=richformat,richtextformat,rich text format PDFToText.tags=bohatý formátování, bohaté formátování, bohatej formátkace textu
home.PDFToHTML.title=PDF na HTML home.PDFToHTML.title=PDF na HTML
home.PDFToHTML.desc=Převod PDF do formátu HTML home.PDFToHTML.desc=Převod PDF do formátu HTML
@@ -390,9 +395,9 @@ home.certSign.title=Podpis s certifikátem
home.certSign.desc=Podpis PDF s certifikátem/klíčem (PEM/P12) home.certSign.desc=Podpis PDF s certifikátem/klíčem (PEM/P12)
certSign.tags=autentizace,PEM,P12,oficiální,šifrování certSign.tags=autentizace,PEM,P12,oficiální,šifrování
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Odstranit certifikátovou podepsanost
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Odstranit certifikátovou podepsanost z PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=autentizace, PEM, P12, úřední, dešifrování
home.pageLayout.title=Vícestránkové rozložení home.pageLayout.title=Vícestránkové rozložení
home.pageLayout.desc=Sloučení více stránek dokumentu PDF do jedné stránky home.pageLayout.desc=Sloučení více stránek dokumentu PDF do jedné stránky
@@ -498,33 +503,33 @@ home.BookToPDF.title=Kniha na PDF
home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre
BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Odstranit obrázek
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Odstranit obrázek z PDF k snížení velikosti souboru
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Odstranit obrázek, operace na stránkách, záložní strana, serverové čidla
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Rozdělit PDF podle kapitol
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Rozdělit PDF do více souborů na základě jeho struktury kapitol.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=rozdělení, kapitoly, zápisky, organizace
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Nahradit inverzní barvu PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Nahradit barvy pro text a pozadí v PDF a inverzní celý barvový spektrum PDF k snižení velikosti souboru
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Nahrazovat barvu, operace na stránkách, záložní strana, serverové čidla
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Možnosti nahrazení nebo inverze barev
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Výchozí (vysoká kontrastová barva)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Vlastní (vlastní barvy)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Celé inverzní (inverzní všechny barvy)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Možnosti vysoké kontrastové barvy
replace-color.selectText.6=white text on black background replace-color.selectText.6=Bílá text na černém pozadí
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Černý text na bílé pozadí
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Zlutý text na černém pozadí
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Zelený text na černém pozadí
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Vyberte barvu textu
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Vyberte barvu pozadí
replace-color.submit=Replace replace-color.submit=Nahradit
@@ -534,45 +539,45 @@ replace-color.submit=Replace
# # # #
########################### ###########################
#login #login
login.title=Sign in login.title=Přihlášení
login.header=Sign in login.header=Přihlášení
login.signin=Sign in login.signin=Přihlásit se
login.rememberme=Remember me login.rememberme=Zapamatovat si mě
login.invalid=Invalid username or password. login.invalid=Neplatné uživatelské jméno nebo heslo.
login.locked=Your account has been locked. login.locked=Vaše účto bylo zablokováno.
login.signinTitle=Please sign in login.signinTitle=Prosím, přihlaste se
login.ssoSignIn=Login via Single Sign-on login.ssoSignIn=Přihlášení prostřednictvím jednotného přihlašovacího systému
login.oauth2AutoCreateDisabled=OAUTH2 Auto-Create User Disabled login.oauth2AutoCreateDisabled=Automatické vytvoření uživatele OAUTH2 je vypnuté
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Registrace nebo přihlášení nepozitrovených uživatelů aktuálně jsou zablokovaná. Štěňte na správce.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Požadavek na autorizaci nenalezen
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Neplatný odpověď s informacemi o uživateli
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Neplatný požadavek
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Přístup zazobán
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Neplatná odpověď tokenu
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Neplatný identifikační token
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=Uživatel je deaktivován, přihlášení aktuálně pro tuto uživatelskou jmena je zakázáno. Kontaktujte správce.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Jste již přihlášeni na
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=zariadení. Odhlašujte se z těchto zařízení a zkuste to znovu.
login.toManySessions=You have too many active sessions login.toManySessions=Máte příliš mnoho aktivních sesií
#auto-redact #auto-redact
autoRedact.title=Auto Redact autoRedact.title=Automatické smazání
autoRedact.header=Auto Redact autoRedact.header=Automatické smazání
autoRedact.colorLabel=Colour autoRedact.colorLabel=Barva
autoRedact.textsToRedactLabel=Text to Redact (line-separated) autoRedact.textsToRedactLabel=Text k smazání (řádkově oddělený)
autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret autoRedact.textsToRedactPlaceholder=např. \nKonfidenciální \nSkrytější
autoRedact.useRegexLabel=Use Regex autoRedact.useRegexLabel=Použít regulární výraz
autoRedact.wholeWordSearchLabel=Whole Word Search autoRedact.wholeWordSearchLabel=Hledání celých slov
autoRedact.customPaddingLabel=Custom Extra Padding autoRedact.customPaddingLabel=Vlastní doplňující vzdálenost
autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) autoRedact.convertPDFToImageLabel=Převést PDF do PDF-Obrázku (Pro odstranění textu za obdélníkem)
autoRedact.submitButton=Submit autoRedact.submitButton=Odeslat
#showJS #showJS
showJS.title=Show Javascript showJS.title=Zobrazit JavaScript
showJS.header=Show Javascript showJS.header=Zobrazit JavaScript
showJS.downloadJS=Download Javascript showJS.downloadJS=Stáhnout JavaScript
showJS.submit=Show showJS.submit=Zobrazit
#pdfToSinglePage #pdfToSinglePage
@@ -728,7 +733,7 @@ pageLayout.submit=Odeslat
scalePages.title=Upravit měřítko stránky scalePages.title=Upravit měřítko stránky
scalePages.header=Upravit měřítko stránky scalePages.header=Upravit měřítko stránky
scalePages.pageSize=Velikost stránky dokumentu. scalePages.pageSize=Velikost stránky dokumentu.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Původní velikost
scalePages.scaleFactor=Úroveň přiblížení (oříznutí) stránky. scalePages.scaleFactor=Úroveň přiblížení (oříznutí) stránky.
scalePages.submit=Odeslat scalePages.submit=Odeslat
@@ -748,14 +753,15 @@ certSign.showSig=Ukázat podpis
certSign.reason=Důvod certSign.reason=Důvod
certSign.location=Umístění certSign.location=Umístění
certSign.name=Název certSign.name=Název
certSign.showLogo=Zobraz loga
certSign.submit=Podepsat PDF certSign.submit=Podepsat PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Odstranit certifikátovou podpisu
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Odstranění digitálního certifikátu z PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Vyberte soubor PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Odstranit podpis
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=Odebrat
#compare #compare
compare.title=Porovnat compare.title=Porovnat
compare.header=Porovnat PDF compare.header=Porovnat PDF
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Podtržovací barva 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Podtržovací barva 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Porovnat compare.submit=Porovnat
compare.complex.message=Jedno nebo oba z předložených dokumentů jsou velké soubory, přesnost porovnání může být snižena
compare.large.file.message=Jeden nebo oba předložené dokumenty jsou příliš velké na zpracování
compare.no.text.message=Jedno nebo oba vybrané PDF soubory nemají textový obsah. Zvolte PDF soubory se textem pro porovnání.
#BookToPDF #BookToPDF
BookToPDF.title=Knihy a komiksy do PDF BookToPDF.title=Knihy a komiksy do PDF
@@ -804,6 +813,11 @@ sign.draw=Nakreslit podpis
sign.text=Vstup textu sign.text=Vstup textu
sign.clear=Vymazat sign.clear=Vymazat
sign.add=Přidat sign.add=Přidat
sign.saved=Uložené podpisy
sign.save=Uložit podpis
sign.personalSigs=Osobní podpisy
sign.sharedSigs=Sdílené podpisy
sign.noSavedSigs=Nenašly se žádné uložené podpisy
#repair #repair
@@ -822,7 +836,7 @@ flatten.submit=Zploštit
#ScannerImageSplit #ScannerImageSplit
ScannerImageSplit.selectText.1=Práh úhlu: ScannerImageSplit.selectText.1=Práh úhlu:
ScannerImageSplit.selectText.2=Nastaví minimální absolutní úhel, který je vyžadován k otočení obrázku (výchozí: 10). ScannerImageSplit.selectText.2=Nastaví minimální absolutní úhel, který je vyžadován k otočení obrázku (výchozí: 10).
ScannerImageSplit.selectText.3=Tolerance: ScannerImageSplit.selectText.3=Tolerancie:
ScannerImageSplit.selectText.4=Určuje rozsah barevné variace kolem odhadované barvy pozadí (výchozí: 30). ScannerImageSplit.selectText.4=Určuje rozsah barevné variace kolem odhadované barvy pozadí (výchozí: 30).
ScannerImageSplit.selectText.5=Minimální plocha: ScannerImageSplit.selectText.5=Minimální plocha:
ScannerImageSplit.selectText.6=Nastaví minimální plošný práh pro fotografii (výchozí: 10000). ScannerImageSplit.selectText.6=Nastaví minimální plošný práh pro fotografii (výchozí: 10000).
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Minimální plocha kontury:
ScannerImageSplit.selectText.8=Nastaví minimální plošný práh kontury pro fotografii ScannerImageSplit.selectText.8=Nastaví minimální plošný práh kontury pro fotografii
ScannerImageSplit.selectText.9=Velikost okraje: ScannerImageSplit.selectText.9=Velikost okraje:
ScannerImageSplit.selectText.10=Nastaví velikost okraje přidaného a odebraného k zabránění bílých ohraničení ve výstupu (výchozí: 1). ScannerImageSplit.selectText.10=Nastaví velikost okraje přidaného a odebraného k zabránění bílých ohraničení ve výstupu (výchozí: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python není nainstalován. Je potřeba pro jeho spuštění.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Zpracovat PDF s OCR
extractImages.title=Extrahovat obrázky extractImages.title=Extrahovat obrázky
extractImages.header=Extrahovat obrázky extractImages.header=Extrahovat obrázky
extractImages.selectText=Vyberte formát obrázku pro extrahované obrázky extractImages.selectText=Vyberte formát obrázku pro extrahované obrázky
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Uložit duplikátní obrázky
extractImages.submit=Extrahovat extractImages.submit=Extrahovat
@@ -895,7 +909,7 @@ merge.title=Sloučit
merge.header=Sloučit více PDF (2+) merge.header=Sloučit více PDF (2+)
merge.sortByName=Seřadit podle názvu merge.sortByName=Seřadit podle názvu
merge.sortByDate=Seřadit podle data merge.sortByDate=Seřadit podle data
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Odebrat digitální podpis v převedeném souboru?
merge.submit=Sloučit merge.submit=Sloučit
@@ -913,7 +927,7 @@ pdfOrganiser.mode.6=Liché-Sudé rozdělení
pdfOrganiser.mode.7=Odstranit první pdfOrganiser.mode.7=Odstranit první
pdfOrganiser.mode.8=Odstranit poslední pdfOrganiser.mode.8=Odstranit poslední
pdfOrganiser.mode.9=Odstranit první a poslední pdfOrganiser.mode.9=Odstranit první a poslední
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Lomeno spojení
pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1) pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1)
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1)
multiTool.title=Vícefunkční nástroj pro PDF multiTool.title=Vícefunkční nástroj pro PDF
multiTool.header=Vícefunkční nástroj pro PDF multiTool.header=Vícefunkční nástroj pro PDF
multiTool.uploadPrompts=Název souboru multiTool.uploadPrompts=Název souboru
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Zobrazit PDF viewPdf.title=Zobrazit PDF
@@ -982,7 +1007,7 @@ pdfToImage.color=Barevný
pdfToImage.grey=Stupně šedi pdfToImage.grey=Stupně šedi
pdfToImage.blackwhite=Černobílý (Může dojít k ztrátě dat!) pdfToImage.blackwhite=Černobílý (Může dojít k ztrátě dat!)
pdfToImage.submit=Převést pdfToImage.submit=Převést
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python není nainstalován. Potřebuje se pro konverzi do WebP.
#addPassword #addPassword
@@ -1019,7 +1044,7 @@ watermark.selectText.6=Výška mezery (Mezera mezi každým vodoznakem svisle):
watermark.selectText.7=Průhlednost (0% - 100%): watermark.selectText.7=Průhlednost (0% - 100%):
watermark.selectText.8=Typ vodoznaku: watermark.selectText.8=Typ vodoznaku:
watermark.selectText.9=Obrázek vodoznaku: watermark.selectText.9=Obrázek vodoznaku:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Převést PDF na PDF-Obrázek
watermark.submit=Přidat vodoznak watermark.submit=Přidat vodoznak
watermark.type.1=Text watermark.type.1=Text
watermark.type.2=Obrázek watermark.type.2=Obrázek
@@ -1076,7 +1101,7 @@ pdfToPDFA.credit=Tato služba používá ghostscript pro konverzi do formátu PD
pdfToPDFA.submit=Převést pdfToPDFA.submit=Převést
pdfToPDFA.tip=V současné době nepracuje pro více vstupů najednou pdfToPDFA.tip=V současné době nepracuje pro více vstupů najednou
pdfToPDFA.outputFormat=Výstupní formát pdfToPDFA.outputFormat=Výstupní formát
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=PDF obsahuje digitální podpis, který bude odebrán v následujícím kroku.
#PDFToWord #PDFToWord
@@ -1178,15 +1203,15 @@ licenses.version=Verze
licenses.license=Licence licenses.license=Licence
#survey #survey
survey.nav=Survey survey.nav=Přehled
survey.title=Stirling-PDF Survey survey.title=Stirling-PDF Přehled
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF nemá sledování, proto chceme vaše názory k podnětom k lepšímu Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF se změnil od posledního příspěvku! Další informace najdete na našem blogu zde:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=S těmito změnami získáváme platné podpory a finanční podporu od business partnerů.
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(Přehled bude v budoucnu zakázán, ale zůstane k dispozici na nástavbě)
survey.button=Take Survey survey.button=Udělat Příspěvek
survey.dontShowAgain=Don't show again survey.dontShowAgain=Neukazuj to znovu
#error #error
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - Odeslat příspěvek podpory
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Odstranit obrázek
removeImage.header=Remove image removeImage.header=Odstranit obrázek
removeImage.removeImage=Remove image removeImage.removeImage=Odstranit obrázek
removeImage.submit=Remove image removeImage.submit=Odebrat obrázek
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Podělit PDF podle kapitol
splitByChapters.header=Podělení PDF na kapitoly
splitByChapters.bookmarkLevel=Úroveň záhlaví
splitByChapters.includeMetadata=Zahrnout metadatů
splitByChapters.allowDuplicates=Povolit duplicitní záznamy
splitByChapters.desc.1=Tento nástroj podělí PDF soubor na více PDF soubory na základě struktury kapitol.
splitByChapters.desc.2=Úroveň záhlaví: Zvolte úroveň záhlaví pro použití při oddělování (0 pro hlavní, 1 pro druhou úroveň atd.).
splitByChapters.desc.3=Zahrnout metadatů: Pokud je zaškrtnuto, původní metadata PDF souboru budou zahrnuty do každého odděleného PDF souboru.
splitByChapters.desc.4=Povolit duplicitní záznamy: Pokud je zaškrtnuto, návštěvníci mohou vytvořit samostatné PDF soubory z více záhlaví na stejné straně.
splitByChapters.submit=Podělit se PDF

View File

@@ -74,17 +74,20 @@ seeDockerHub=Se Docker Hub
visitGithub=Besøg Github Repository visitGithub=Besøg Github Repository
donate=Donér donate=Donér
color=Farve color=Farve
sponsor=Sponsor sponsor=Sponsorer
info=Info info=Info
pro=Pro pro=Pro
page=Page page=Sidenummer
pages=Pages pages=Sideantal
loading=Laster...
addToDoc=Tilføj til Dokument
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Vilkår og betingelser
legal.accessibility=Accessibility legal.accessibility=Adgangsnævnteglen
legal.cookie=Cookie Policy legal.cookie=Cokiebelejring
legal.impressum=Impressum legal.impressum=Angivelse af ansvar
############### ###############
# Pipeline # # Pipeline #
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Validér
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Opgrader til Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Denne funktion er kun tilgængelig for Pro-brugere.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro understøtter YAML-konfigurationsfiler og andre SSO-funktioner.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=søger du flere funktioner til brugerstyring? Prøv Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Vil du gøre Stirling PDF bedre?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF har indsat analytics for at hjælpe os med at forbedre produktet. Vi følger ikke nogen personoplysninger eller filinhold.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Bevægelsesmæssigt aktiver du analytics for at hjælpe Stirling-PDF med at vokse og til atstå os bedre at forstå vores brugere.
analytics.enable=Enable analytics analytics.enable=Aktivér analytics
analytics.disable=Disable analytics analytics.disable=Deaktiver analytics
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Du kan ændre analytics-indstillingerne i config/settings.yml-filen
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Sprog
navbar.settings=Indstillinger navbar.settings=Indstillinger
navbar.allTools=Værktøjer navbar.allTools=Værktøjer
navbar.multiTool=Multi Værktøjer navbar.multiTool=Multi Værktøjer
navbar.search=Search
navbar.sections.organize=Organisér navbar.sections.organize=Organisér
navbar.sections.convertTo=Konvertér til PDF navbar.sections.convertTo=Konvertér til PDF
navbar.sections.convertFrom=Konvertér fra PDF navbar.sections.convertFrom=Konvertér fra PDF
navbar.sections.security=Signér & Sikkerhed navbar.sections.security=Signér & Sikkerhed
navbar.sections.advance=Avanceret navbar.sections.advance=Avanceret
navbar.sections.edit=Vis & Redigér navbar.sections.edit=Vis & Redigér
navbar.sections.popular=Popular navbar.sections.popular=Populære
############# #############
# SETTINGS # # SETTINGS #
@@ -199,7 +203,7 @@ account.syncToAccount=Synkroniser Konto <- Browser
adminUserSettings.title=Brugerkontrolindstillinger adminUserSettings.title=Brugerkontrolindstillinger
adminUserSettings.header=Admin Brugerkontrolindstillinger adminUserSettings.header=Admin Brugerkontrolindstillinger
adminUserSettings.admin=Admin adminUserSettings.admin=Administrer
adminUserSettings.user=Bruger adminUserSettings.user=Bruger
adminUserSettings.addUser=Tilføj Ny Bruger adminUserSettings.addUser=Tilføj Ny Bruger
adminUserSettings.deleteUser=Slet Bruger adminUserSettings.deleteUser=Slet Bruger
@@ -243,7 +247,8 @@ database.fileNotFound=Fil ikke fundet
database.fileNullOrEmpty=Fil må ikke være null eller tom database.fileNullOrEmpty=Fil må ikke være null eller tom
database.failedImportFile=Kunne ikke importere fil database.failedImportFile=Kunne ikke importere fil
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Din sesions tid har udløbet. Genlad siden og prøv igen.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -503,28 +508,28 @@ home.removeImagePdf.desc=Fjern billede fra PDF for at reducere filstørrelse
removeImagePdf.tags=Fjern Billede,Sideoperationer,Back end,server side removeImagePdf.tags=Fjern Billede,Sideoperationer,Back end,server side
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Partitioner PDF efter kapitler
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Partitioner en PDF i flere filer baseret på dens kapitelstruktur.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=partitionering,kapitler,merker,organisering
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Erstat-omgivende Farve PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Erstatt farve for tekst og baggrund i en PDF og omgivende farve til fuld farve af PDF for at redusere filstørrelsen.
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Erstat Farve,Side operationer,Behandling,server side
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Erstatt eller omgivende Farvemuligheder
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Standard (høj kontrastfarver)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Brugerdefineret (anpassede farver)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Inverter alle farver
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Høj kontrastfarveindstillinger
replace-color.selectText.6=white text on black background replace-color.selectText.6=Hvid tekst på sort baggrund
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Sort tekst på hvid baggrund
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Gul tekst på sort baggrund
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Grøn tekst på sort baggrund
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Vælg tekstfarve
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Vælg baggrundsfarve
replace-color.submit=Replace replace-color.submit=Erstat
@@ -551,9 +556,9 @@ login.oauth2AccessDenied=Adgang Nægtet
login.oauth2InvalidTokenResponse=Ugyldigt Token Svar login.oauth2InvalidTokenResponse=Ugyldigt Token Svar
login.oauth2InvalidIdToken=Ugyldigt Id Token login.oauth2InvalidIdToken=Ugyldigt Id Token
login.userIsDisabled=Bruger er deaktiveret, login er i øjeblikket blokeret med dette brugernavn. Kontakt venligst administratoren. login.userIsDisabled=Bruger er deaktiveret, login er i øjeblikket blokeret med dette brugernavn. Kontakt venligst administratoren.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Du er allerede logget ind på
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=enheder. Log ud af disse enheder og prøv igen.
login.toManySessions=You have too many active sessions login.toManySessions=Du har for mange aktive sessoner
#auto-redact #auto-redact
autoRedact.title=Auto Rediger autoRedact.title=Auto Rediger
@@ -571,7 +576,7 @@ autoRedact.submitButton=Indsend
#showJS #showJS
showJS.title=Vis Javascript showJS.title=Vis Javascript
showJS.header=Vis Javascript showJS.header=Vis Javascript
showJS.downloadJS=Download Javascript showJS.downloadJS=Last ned Javascript
showJS.submit=Vis showJS.submit=Vis
@@ -628,7 +633,7 @@ HTMLToPDF.printBackground=Render baggrunden af hjemmesider.
HTMLToPDF.defaultHeader=Aktivér Standard Header (Navn og sidenummerAS HTMLToPDF.defaultHeader=Aktivér Standard Header (Navn og sidenummerAS
HTMLToPDF.cssMediaType=Ændre CSS-medietypen for siden. HTMLToPDF.cssMediaType=Ændre CSS-medietypen for siden.
HTMLToPDF.none=Ingen HTMLToPDF.none=Ingen
HTMLToPDF.print=Print HTMLToPDF.print=Skriv ud
HTMLToPDF.screen=Skærm HTMLToPDF.screen=Skærm
@@ -640,9 +645,9 @@ AddStampRequest.stampText=Stempeltekst
AddStampRequest.stampImage=Stempelbillede AddStampRequest.stampImage=Stempelbillede
AddStampRequest.alphabet=Alfabet AddStampRequest.alphabet=Alfabet
AddStampRequest.fontSize=Skrift/Billedstørrelse AddStampRequest.fontSize=Skrift/Billedstørrelse
AddStampRequest.rotation=Rotation AddStampRequest.rotation=Vendelse
AddStampRequest.opacity=Gennemsigtighed AddStampRequest.opacity=Gennemsigtighed
AddStampRequest.position=Position AddStampRequest.position=Plassering
AddStampRequest.overrideX=Tilsidesæt X-koordinat AddStampRequest.overrideX=Tilsidesæt X-koordinat
AddStampRequest.overrideY=Tilsidesæt Y-koordinat AddStampRequest.overrideY=Tilsidesæt Y-koordinat
AddStampRequest.customMargin=Brugerdefineret Margin AddStampRequest.customMargin=Brugerdefineret Margin
@@ -666,7 +671,7 @@ addPageNumbers.title=Tilføj Sidenumre
addPageNumbers.header=Tilføj Sidenumre addPageNumbers.header=Tilføj Sidenumre
addPageNumbers.selectText.1=Vælg PDF-fil: addPageNumbers.selectText.1=Vælg PDF-fil:
addPageNumbers.selectText.2=Marginstørrelse addPageNumbers.selectText.2=Marginstørrelse
addPageNumbers.selectText.3=Position addPageNumbers.selectText.3=Plassering
addPageNumbers.selectText.4=Startnummer addPageNumbers.selectText.4=Startnummer
addPageNumbers.selectText.5=Sider at nummerere addPageNumbers.selectText.5=Sider at nummerere
addPageNumbers.selectText.6=Brugerdefineret Tekst addPageNumbers.selectText.6=Brugerdefineret Tekst
@@ -748,6 +753,7 @@ certSign.showSig=Vis Underskrift
certSign.reason=Årsag certSign.reason=Årsag
certSign.location=Placering certSign.location=Placering
certSign.name=Navn certSign.name=Navn
certSign.showLogo=Vis Logo
certSign.submit=Underskriv PDF certSign.submit=Underskriv PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Fremhævningsfarve 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Sammenlign compare.submit=Sammenlign
compare.complex.message=Et eller begge af de angivne dokumenter er store filer, præcisionen ved sammenligningen kan geminse.
compare.large.file.message=Et eller Begge af de Angivne Dokumenter Er For Store At Behandle
compare.no.text.message=Et eller Begge Af de Vælgede PDFs Har Ingen Tekstindhold. Vælg Vores PDFs Med Tekst for Sammenligning.
#BookToPDF #BookToPDF
BookToPDF.title=Bøger og Tegneserier til PDF BookToPDF.title=Bøger og Tegneserier til PDF
@@ -804,6 +813,11 @@ sign.draw=Tegn Underskrift
sign.text=Tekstinput sign.text=Tekstinput
sign.clear=Ryd sign.clear=Ryd
sign.add=Tilføj sign.add=Tilføj
sign.saved=Gemte Signaturer
sign.save=Gem Signatur
sign.personalSigs=Personlige Signaturer
sign.sharedSigs=Delte Signaturer
sign.noSavedSigs=Ingen Gemte Signaturer Fundet
#repair #repair
@@ -822,7 +836,7 @@ flatten.submit=Udjævn
#ScannerImageSplit #ScannerImageSplit
ScannerImageSplit.selectText.1=Vinkeltærskel: ScannerImageSplit.selectText.1=Vinkeltærskel:
ScannerImageSplit.selectText.2=Indstiller den minimale absolutte vinkel, der kræves for at billedet roteres (standard: 10). ScannerImageSplit.selectText.2=Indstiller den minimale absolutte vinkel, der kræves for at billedet roteres (standard: 10).
ScannerImageSplit.selectText.3=Tolerance: ScannerImageSplit.selectText.3=Tolerancen:
ScannerImageSplit.selectText.4=Bestemmer området for farvevariation omkring den estimerede baggrundsfarve (standard: 30). ScannerImageSplit.selectText.4=Bestemmer området for farvevariation omkring den estimerede baggrundsfarve (standard: 30).
ScannerImageSplit.selectText.5=Minimum Areal: ScannerImageSplit.selectText.5=Minimum Areal:
ScannerImageSplit.selectText.6=Indstiller den minimale arealtærskel for et foto (standard: 10000). ScannerImageSplit.selectText.6=Indstiller den minimale arealtærskel for et foto (standard: 10000).
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(f.eks. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
multiTool.title=PDF Multi Værktøj multiTool.title=PDF Multi Værktøj
multiTool.header=PDF Multi Værktøj multiTool.header=PDF Multi Værktøj
multiTool.uploadPrompts=Filnavn multiTool.uploadPrompts=Filnavn
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Se PDF viewPdf.title=Se PDF
@@ -1013,7 +1038,7 @@ watermark.header=Tilføj Vandmærke
watermark.selectText.1=Vælg PDF til at tilføje vandmærke: watermark.selectText.1=Vælg PDF til at tilføje vandmærke:
watermark.selectText.2=Vandmærketekst: watermark.selectText.2=Vandmærketekst:
watermark.selectText.3=Skriftstørrelse: watermark.selectText.3=Skriftstørrelse:
watermark.selectText.4=Rotation (0-360): watermark.selectText.4=Vendt Side (0-360):
watermark.selectText.5=breddeAfstand (Afstand mellem hvert vandmærke vandret): watermark.selectText.5=breddeAfstand (Afstand mellem hvert vandmærke vandret):
watermark.selectText.6=højdeAfstand (Afstand mellem hvert vandmærke lodret): watermark.selectText.6=højdeAfstand (Afstand mellem hvert vandmærke lodret):
watermark.selectText.7=Gennemsigtighed (0% - 100%): watermark.selectText.7=Gennemsigtighed (0% - 100%):
@@ -1181,8 +1206,8 @@ licenses.license=License
survey.nav=Undersøgelse survey.nav=Undersøgelse
survey.title=Stirling-PDF Undersøgelse survey.title=Stirling-PDF Undersøgelse
survey.description=Stirling-PDF har ingen sporing, så vi vil gerne høre fra vores brugere for at forbedre Stirling-PDF! survey.description=Stirling-PDF har ingen sporing, så vi vil gerne høre fra vores brugere for at forbedre Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF Har Endtes Sidst Ganger du Foresatte En Kig! For At Lære Mere, Se Vores Blog Indlæg Her:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Med Disse Endringer Er Vi Kommet I Betalende Forretningsstøtte og Finansiering
survey.please=Overvej venligst at deltage i vores undersøgelse! survey.please=Overvej venligst at deltage i vores undersøgelse!
survey.disabled=(Undersøgelsespop-up vil blive deaktiveret i følgende opdateringer, men vil være tilgængelig i bunden af siden) survey.disabled=(Undersøgelsespop-up vil blive deaktiveret i følgende opdateringer, men vil være tilgængelig i bunden af siden)
survey.button=Tag Undersøgelsen survey.button=Tag Undersøgelsen
@@ -1210,15 +1235,13 @@ removeImage.removeImage=Fjern billede
removeImage.submit=Fjern removeImage.submit=Fjern
splitByChapters.title=Split PDF by Chapters splitByChapters.title=Del PDF ved Kapitler
splitByChapters.header=Split PDF by Chapters splitByChapters.header=Splitter PDF efter kapitel
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=Bogmærke niveau
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=Inkluder metadata
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Tillad duplikater
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=Denne værktøj splitter en PDF-fil op i flere PDF'er baseret på dens kapitelstruktur.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Bogmærke niveau: Vælg nivået af bogmærker, der skal bruges til at splittere (0 for hovedniveau, 1 for anden niveau osv.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Inkluder metadata: Hvis markeret, vil den originale PDF's metadata inkluderes i hver splitterdels PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Tillad duplikater: Hvis markeret, tillader det flere bogmærker på samme side til at oprette separate PDF'er.
splitByChapters.submit=Split PDF splitByChapters.submit=Splitter PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Schriftgröße
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Schriftart
pdfPrompt=PDF(s) auswählen pdfPrompt=PDF(s) auswählen
multiPdfPrompt=PDFs auswählen(2+) multiPdfPrompt=PDFs auswählen(2+)
multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin) multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin)
@@ -77,8 +77,11 @@ color=Farbe
sponsor=Sponsor sponsor=Sponsor
info=Informationen info=Informationen
pro=Pro pro=Pro
page=Page page=Seite
pages=Pages pages=Seiten
loading=Laden...
addToDoc=In Dokument hinzufügen
reset=Reset
legal.privacy=Datenschutz legal.privacy=Datenschutz
legal.terms=AGB legal.terms=AGB
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Validieren
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Auf Pro-Version umsteigen
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Diese Funktion ist nur für Pro-Nutzer verfügbar.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling-PDF Pro unterstützt YAML Konfigurationsdateien, SSO und weitere Funktionen.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Suchen Sie weitere Funktionen in der Benutzerverwaltung? Steigen Sie auf die Pro-Version um
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Möchten Sie Stirling-PDF verbessern?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling-PDF verfügt über Opt-in-Analytics, die uns helfen, das Produkt zu verbessern. Wir zeichnen keine persönlichen Informationen oder Dateiinhalte auf.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Bitte erwägen Sie die Analytics zu aktivieren, um Stirling-PDF beim Wachsen zu helfen und um unsere User besser zu verstehen.
analytics.enable=Enable analytics analytics.enable=Analytics aktivieren
analytics.disable=Disable analytics analytics.disable=Analytics deaktivieren
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Sie können die Einstellungen für die Analytics in der config/settings.yml Datei bearbeiten
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Sprachen
navbar.settings=Einstellungen navbar.settings=Einstellungen
navbar.allTools=Werkzeuge navbar.allTools=Werkzeuge
navbar.multiTool=Multitools navbar.multiTool=Multitools
navbar.search=Suche
navbar.sections.organize=Organisieren navbar.sections.organize=Organisieren
navbar.sections.convertTo=In PDF konvertieren navbar.sections.convertTo=In PDF konvertieren
navbar.sections.convertFrom=Konvertieren von PDF navbar.sections.convertFrom=Konvertieren von PDF
navbar.sections.security=Zeichen und Sicherheit navbar.sections.security=Zeichen und Sicherheit
navbar.sections.advance=Fortschrittlich navbar.sections.advance=Fortschrittlich
navbar.sections.edit=Anzeigen und Bearbeiten navbar.sections.edit=Anzeigen und Bearbeiten
navbar.sections.popular=Popular navbar.sections.popular=Beliebt
############# #############
# SETTINGS # # SETTINGS #
@@ -243,7 +247,8 @@ database.fileNotFound=Datei nicht gefunden
database.fileNullOrEmpty=Datei darf nicht null oder leer sein database.fileNullOrEmpty=Datei darf nicht null oder leer sein
database.failedImportFile=Dateiimport fehlgeschlagen database.failedImportFile=Dateiimport fehlgeschlagen
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Ihre Sitzung ist abgelaufen. Bitte laden Sie die Seite neu und versuchen Sie es erneut.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -392,7 +397,7 @@ certSign.tags=authentifizieren,pem,p12,offiziell,verschlüsseln
home.removeCertSign.title=Zertifikatsignatur entfernen home.removeCertSign.title=Zertifikatsignatur entfernen
home.removeCertSign.desc=Zertifikatsignatur aus PDF entfernen home.removeCertSign.desc=Zertifikatsignatur aus PDF entfernen
removeCertSign.tags=authentifizieren,PEM,P12,offiziell,entschlüsseln,decrypt removeCertSign.tags=authentifizieren,PEM,P12,offiziell,entschlüsseln
home.pageLayout.title=Mehrseitiges Layout home.pageLayout.title=Mehrseitiges Layout
home.pageLayout.desc=Mehrere Seiten eines PDF zu einer Seite zusammenführen home.pageLayout.desc=Mehrere Seiten eines PDF zu einer Seite zusammenführen
@@ -503,28 +508,28 @@ home.removeImagePdf.desc=Bild aus PDF entfernen, um die Dateigröße zu verringe
removeImagePdf.tags=bild entfernen,seitenoperationen,back end,server side removeImagePdf.tags=bild entfernen,seitenoperationen,back end,server side
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=PDF-Datei nach Kapiteln aufteilen
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Aufteilung einer PDF-Datei in mehrere Dateien auf Basis der Kapitelstruktur.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=aufteilen,kapitel,lesezeichen,organisieren
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Farbe Ersetzen-Invertieren
replace-color.header=Replace-Invert Color PDF replace-color.header=Farb-PDF Ersetzen-Invertieren
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Farbe ersetzen und invertieren
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Ersetzen Sie die Farbe des Texts und Hintergrund der PDF-Datei und invertieren Sie die komplette Farbe der PDF-Datei, um die Dateigröße zu reduzieren
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Farbe ersetzen,Seiteneinstellungen,Backend,Serverseite
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Ersetzen oder Invertieren von Farboptionen
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Standard(Standardfarben mit hohem Kontrast)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Benutzerdefiniert(Benutzerdefinierte Farben)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Vollinvertierung(Invertierung aller Farben)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Farboptionen mit hohem Kontrast
replace-color.selectText.6=white text on black background replace-color.selectText.6=Weißer Text auf schwarzem Hintergrund
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Schwarzer Text auf weißem Hintergrund
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Gelber Text auf schwarzem Hintergrund
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Grüner Text auf schwarzem Hintergrund
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Textfarbe auswählen
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Hintergrundfarbe auswählen
replace-color.submit=Replace replace-color.submit=Ersetzen
@@ -551,9 +556,9 @@ login.oauth2AccessDenied=Zugriff abgelehnt
login.oauth2InvalidTokenResponse=Ungültige Token-Antwort login.oauth2InvalidTokenResponse=Ungültige Token-Antwort
login.oauth2InvalidIdToken=Ungültiges ID-Token login.oauth2InvalidIdToken=Ungültiges ID-Token
login.userIsDisabled=Benutzer ist deaktiviert, die Anmeldung ist mit diesem Benutzernamen derzeit gesperrt. Bitte wenden Sie sich an den Administrator. login.userIsDisabled=Benutzer ist deaktiviert, die Anmeldung ist mit diesem Benutzernamen derzeit gesperrt. Bitte wenden Sie sich an den Administrator.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Sie sind bereits an
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=Geräten angemeldet. Bitte melden Sie sich dort ab und versuchen es dann erneut.
login.toManySessions=You have too many active sessions login.toManySessions=Sie haben zu viele aktive Sitzungen
#auto-redact #auto-redact
autoRedact.title=Automatisch zensieren/schwärzen autoRedact.title=Automatisch zensieren/schwärzen
@@ -703,7 +708,7 @@ autoSplitPDF.header=PDF automatisch teilen
autoSplitPDF.description=Drucken Sie, fügen Sie ein, scannen Sie, laden Sie hoch und lassen Sie uns Ihre Dokumente automatisch trennen. Kein manuelles Sortieren erforderlich. autoSplitPDF.description=Drucken Sie, fügen Sie ein, scannen Sie, laden Sie hoch und lassen Sie uns Ihre Dokumente automatisch trennen. Kein manuelles Sortieren erforderlich.
autoSplitPDF.selectText.1=Drucken Sie einige Trennblätter aus (schwarz/weiß ist ausreichend). autoSplitPDF.selectText.1=Drucken Sie einige Trennblätter aus (schwarz/weiß ist ausreichend).
autoSplitPDF.selectText.2=Scannen Sie alle Dokumente auf einmal, indem Sie das Trennblatt zwischen die Dokumente einlegen. autoSplitPDF.selectText.2=Scannen Sie alle Dokumente auf einmal, indem Sie das Trennblatt zwischen die Dokumente einlegen.
autoSplitPDF.selectText.3=Laden Sie die einzelne große gescannte PDF-Datei hoch und überlassen Sie Stirling PDF den Rest. autoSplitPDF.selectText.3=Laden Sie die einzelne große gescannte PDF-Datei hoch und überlassen Sie Stirling-PDF den Rest.
autoSplitPDF.selectText.4=Trennseiten werden automatisch erkannt und entfernt, so dass ein sauberes Enddokument garantiert ist. autoSplitPDF.selectText.4=Trennseiten werden automatisch erkannt und entfernt, so dass ein sauberes Enddokument garantiert ist.
autoSplitPDF.formPrompt=PDF mit Stirling-PDF Seitentrennern hochladen: autoSplitPDF.formPrompt=PDF mit Stirling-PDF Seitentrennern hochladen:
autoSplitPDF.duplexMode=Duplex-Modus (Scannen von Vorder- und Rückseite) autoSplitPDF.duplexMode=Duplex-Modus (Scannen von Vorder- und Rückseite)
@@ -728,7 +733,7 @@ pageLayout.submit=Abschicken
scalePages.title=Seitengröße anpassen scalePages.title=Seitengröße anpassen
scalePages.header=Seitengröße anpassen scalePages.header=Seitengröße anpassen
scalePages.pageSize=Format der Seiten des Dokuments scalePages.pageSize=Format der Seiten des Dokuments
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Originalgröße beibehalten
scalePages.scaleFactor=Zoomstufe (Ausschnitt) einer Seite scalePages.scaleFactor=Zoomstufe (Ausschnitt) einer Seite
scalePages.submit=Abschicken scalePages.submit=Abschicken
@@ -748,6 +753,7 @@ certSign.showSig=Signatur anzeigen
certSign.reason=Grund certSign.reason=Grund
certSign.location=Standort certSign.location=Standort
certSign.name=Name certSign.name=Name
certSign.showLogo=Logo anzeigen
certSign.submit=PDF signieren certSign.submit=PDF signieren
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight-Farbe 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Vergleichen compare.submit=Vergleichen
compare.complex.message=Eines oder beide Dokumente sind sehr groß, dadurch kann die Genauigkeit des Vergleichs kann beeinträchtigt werden.
compare.large.file.message=Eines oder beide Dokumente sind zu groß, um verarbeitet zu werden
compare.no.text.message=Ein oder beide ausgewählten PDFs enthalten keine Textinhalt. Wählen Sie bitte PDFs mit Text für die Vergleichsanalyse.
#BookToPDF #BookToPDF
BookToPDF.title=Bücher und Comics zu PDF BookToPDF.title=Bücher und Comics zu PDF
@@ -804,6 +813,11 @@ sign.draw=Signatur zeichnen
sign.text=Texteingabe sign.text=Texteingabe
sign.clear=Leeren sign.clear=Leeren
sign.add=Signieren sign.add=Signieren
sign.saved=Gespeicherte Signaturen
sign.save=Signature speichern
sign.personalSigs=Persönliche Signaturen
sign.sharedSigs=Geteilte Signaturen
sign.noSavedSigs=Es wurden keine gespeicherten Signaturen gefunden
#repair #repair
@@ -857,7 +871,7 @@ ocr.submit=PDF mit OCR verarbeiten
extractImages.title=Bilder extrahieren extractImages.title=Bilder extrahieren
extractImages.header=Bilder extrahieren extractImages.header=Bilder extrahieren
extractImages.selectText=Wählen Sie das Bildformat aus, in das extrahierte Bilder konvertiert werden sollen extractImages.selectText=Wählen Sie das Bildformat aus, in das extrahierte Bilder konvertiert werden sollen
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Doppelte Bilder speichern
extractImages.submit=Extrahieren extractImages.submit=Extrahieren
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(z.B. 1,3,2 oder 4-8,2,10-12 oder 2n-1)
multiTool.title=PDF-Multitool multiTool.title=PDF-Multitool
multiTool.header=PDF-Multitool multiTool.header=PDF-Multitool
multiTool.uploadPrompts=Dateiname multiTool.uploadPrompts=Dateiname
multiTool.selectAll=Alle auswählen
multiTool.deselectAll=Auswahl aufheben
multiTool.selectPages=Seiten auswählen
multiTool.selectedPages=Ausgewählte Seiten
multiTool.page=Seite
multiTool.deleteSelected=Auswahl löschen
multiTool.downloadAll=Downloaden
multiTool.downloadSelected=Auswahl downloaden
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDF anzeigen viewPdf.title=PDF anzeigen
@@ -1181,8 +1206,8 @@ licenses.license=Lizenz
survey.nav=Umfrage survey.nav=Umfrage
survey.title=Stirling-PDF-Umfrage survey.title=Stirling-PDF-Umfrage
survey.description=Stirling-PDF hat kein Tracking, daher möchten wir von unseren Benutzern hören, wie wir Stirling-PDF verbessern können! survey.description=Stirling-PDF hat kein Tracking, daher möchten wir von unseren Benutzern hören, wie wir Stirling-PDF verbessern können!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF hat sich seit der letzten Umfrage verändert! Mehr Informationen finden Sie bitte in unserem Blog-Beitrag hier:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Mit diesen Änderungen erhalten wir beauftragte Geschäftsunterstützung und Finanzierung
survey.please=Bitte nehmen Sie an unserer Umfrage teil! survey.please=Bitte nehmen Sie an unserer Umfrage teil!
survey.disabled=(Das Umfrage-Popup wird in folgenden Updates deaktiviert, ist aber am Fuß der Seite verfügbar.) survey.disabled=(Das Umfrage-Popup wird in folgenden Updates deaktiviert, ist aber am Fuß der Seite verfügbar.)
survey.button=Umfrage durchführen survey.button=Umfrage durchführen
@@ -1210,15 +1235,13 @@ removeImage.removeImage=Bild entfernen
removeImage.submit=Bild entfernen removeImage.submit=Bild entfernen
splitByChapters.title=Split PDF by Chapters splitByChapters.title=PDF nach Kapiteln aufteilen
splitByChapters.header=Split PDF by Chapters splitByChapters.header=PDF nach Kapiteln aufteilen
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=Lesezeichenebene
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=Metadaten einschließen
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Duplikate erlauben
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=Dieses Werkzeug teilt eine PDF-Datei auf der Grundlage ihrer Kapitelstruktur in mehrere PDF-Dateien auf.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Lesezeichenebene: Wählen Sie die Ebene der Lesezeichen, die für die Aufteilung verwendet werden soll (0 für die erste Ebene, 1 für die zweite Ebene usw.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Metadaten einschließen: Wenn diese Option aktiviert ist, werden die Metadaten der ursprünglichen PDF-Datei in jede aufgeteilte PDF-Datei übernommen.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Duplikate erlauben: Wenn diese Option aktiviert ist, können mehrere Lesezeichen auf derselben Seite separate PDF Dateien erstellen.
splitByChapters.submit=Split PDF splitByChapters.submit=PDF teilen

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Μέγεθος Τύπου
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Όνομα Τύπου
pdfPrompt=Επιλογή PDF(s) pdfPrompt=Επιλογή PDF(s)
multiPdfPrompt=Επιλογή PDFs (2+) multiPdfPrompt=Επιλογή PDFs (2+)
multiPdfDropPrompt=Επιλογή (ή τράβηγμα αρχείου και απόθεση) όλων των PDF που χρειάζεστε multiPdfDropPrompt=Επιλογή (ή τράβηγμα αρχείου και απόθεση) όλων των PDF που χρειάζεστε
@@ -39,7 +39,7 @@ delete=Διαγραφή
username=Όνομα Χρήστη username=Όνομα Χρήστη
password=Κωδικός password=Κωδικός
welcome=Καλως Ήλθατε welcome=Καλως Ήλθατε
property=Property property=Χαρακτηριστικό
black=Μαύρο black=Μαύρο
white=Άσπρο white=Άσπρο
red=Κόκκινο red=Κόκκινο
@@ -56,15 +56,15 @@ userNotFoundMessage=Ο χρήστης δεν βρέθηκε.
incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος. incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.
usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη. usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
invalidUsernameMessage=Μη έγκυρο όνομα χρήστη, όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τους ακόλουθους ειδικούς χαρακτήρες @._+- ή πρέπει να είναι έγκυρη διεύθυνση email. invalidUsernameMessage=Μη έγκυρο όνομα χρήστη, όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τους ακόλουθους ειδικούς χαρακτήρες @._+- ή πρέπει να είναι έγκυρη διεύθυνση email.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Ο κωδικός πρόσβασης δεν μπορεί να είναι αδύναμος και δεν μπορεί να έχει χαμογελάτα στην αρχή ή το τέλος.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Ο Διαβεβαιωμένος Νέος Κωδικός Πρόσβασης πρέπει να συνάρτησε με το Νέο Κωδίκο Πρόσβασης.
deleteCurrentUserMessage=Δεν είναι δυνατή η διαγραφή του τρέχοντος συνδεδεμένου χρήστη. deleteCurrentUserMessage=Δεν είναι δυνατή η διαγραφή του τρέχοντος συνδεδεμένου χρήστη.
deleteUsernameExistsMessage=Το όνομα χρήστη δεν υπάρχει και δεν μπορεί να διαγραφεί. deleteUsernameExistsMessage=Το όνομα χρήστη δεν υπάρχει και δεν μπορεί να διαγραφεί.
downgradeCurrentUserMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη downgradeCurrentUserMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Ο σύγχρονος χρήστης δεν μπορεί να απενειλθείται
downgradeCurrentUserLongMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη. Ως εκ τούτου, ο τρέχων χρήστης δεν θα εμφανίζεται. downgradeCurrentUserLongMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη. Ως εκ τούτου, ο τρέχων χρήστης δεν θα εμφανίζεται.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=Το υχής ήδη υπάρχει ως OAuth2 χρήστης.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=Ο χρήστης εξαρτάται ήδη ως πλήρωμα χρήστη.
error=Σφάλμα error=Σφάλμα
oops=Ωχ! oops=Ωχ!
help=Βοήθεια help=Βοήθεια
@@ -75,28 +75,31 @@ visitGithub=Επισκεφθείτε το Αποθετήριο του Github
donate=Δωρισε donate=Δωρισε
color=Χρώμα color=Χρώμα
sponsor=οστηρικτής sponsor=οστηρικτής
info=Info info=Πληροφορίες
pro=Pro pro=Προ
page=Page page=Σελίδα
pages=Pages pages=Σελίδες
loading=Φόρτωση...
addToDoc=Πρόσθεση στο Εκπομπώματο
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Πολιτική Προνομίους
legal.terms=Terms and Conditions legal.terms=Φράσεις Υποχρεωτικότητας
legal.accessibility=Accessibility legal.accessibility=Πρόσβαση
legal.cookie=Cookie Policy legal.cookie=Πολιτική Χώρου Συνθέσεων
legal.impressum=Impressum legal.impressum=Κατάσταση
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Μενού Pipeline (Beta) pipeline.header=Μενού Pipeline (Beta)
pipeline.uploadButton=Upload Custom pipeline.uploadButton=Αναβάθμιση Καλυτερού
pipeline.configureButton=Διαμόρφωσε pipeline.configureButton=Διαμόρφωσε
pipeline.defaultOption=Custom pipeline.defaultOption=Κατασκευή Μετρόπολης
pipeline.submitButton=Υποβολή pipeline.submitButton=Υποβολή
pipeline.help=Βοήθεια για το Pipeline pipeline.help=Βοήθεια για το Pipeline
pipeline.scanHelp=Βοήθεια για Σάρωση Φακέλων pipeline.scanHelp=Βοήθεια για Σάρωση Φακέλων
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Είστε σίγουροι ότι θέλετε να διαγράψετε το πρότυπο;
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -107,52 +110,53 @@ pipelineOptions.saveSettings=Αποθήκευση Ρυθμίσεων Λειτο
pipelineOptions.pipelineNamePrompt=Εισαγάγετε το όνομα του pipeline εδώ pipelineOptions.pipelineNamePrompt=Εισαγάγετε το όνομα του pipeline εδώ
pipelineOptions.selectOperation=Επιλέξτε Λειτουργία pipelineOptions.selectOperation=Επιλέξτε Λειτουργία
pipelineOptions.addOperationButton=Προσθήκη λειτουργίας pipelineOptions.addOperationButton=Προσθήκη λειτουργίας
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Πρότυπο:
pipelineOptions.saveButton=Λήψη pipelineOptions.saveButton=Λήψη
pipelineOptions.validateButton=Επικυρώνω pipelineOptions.validateButton=Επικυρώνω
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Ενημερώστε σε Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Αυτή η λειτουργία είναι διαθέσιμη μόνο για τους χρήστες Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro υποστηρίζει αρχεία συνασκήματος YAML και άλλες λειτουργίες SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Σάξεις για περισσότερες λειτουργίες διαχείρισης χρηστών; Πроверьте Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Επιθυμείτε να βελτιώσετε το Stirling PDF;
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF έχει επιλεγμένα ανάλυμα για να με βοηθήσει στην βελτίωση του προϊόντος. Δεν ακολουθούμε καμία ιδιοχειρισμένη πληροφορία ή συγκέντρωση υπόλοιπου πλάνου.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Παρακαλώ ενεργοποιήστε τα ανάλυμα για να βοηθήσετε το Stirling-PDF να ξεφύγει και να μας βοηθήσετε στον καλύτερο δυνατό ανάλυμα χρηστών.
analytics.enable=Enable analytics analytics.enable=Ενεργοποίηση ανάλυμα
analytics.disable=Disable analytics analytics.disable=Διακόπτωση ανάλυμα
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Μπορείτε να αλλάξετε τις προπαραστάσεις των ανάλυμα σε υποθέσεις/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=Πιρημός
navbar.darkmode=Μαύρο Θέμα navbar.darkmode=Μαύρο Θέμα
navbar.language=Languages navbar.language=Γλώσσες
navbar.settings=Ρυθμίσεις navbar.settings=Ρυθμίσεις
navbar.allTools=Tools navbar.allTools=Εργαλεία
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=Οργάνωση
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=Μετατροπή σε PDF
navbar.sections.security=Sign & Security navbar.sections.convertFrom=Μετατροπή από PDF
navbar.sections.advance=Advanced navbar.sections.security=Υπογραφή & Σέκυνση
navbar.sections.edit=View & Edit navbar.sections.advance=Διεξοδικό
navbar.sections.popular=Popular navbar.sections.edit=Σύντομος Προβολής & Διοίκηση
navbar.sections.popular=Επιφανειακά
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=Ρυθμίσεις settings.title=Ρυθμίσεις
settings.update=Υπάρχει διαθέσιμη ενημέρωση settings.update=Υπάρχει διαθέσιμη ενημέρωση
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0} είναι το πρόγραμμα εκτελεσιμωμένο σήμερα. Έχετε διαθέσιμη μια νέα έκδοση (σήμερα: {1}).
settings.appVersion=Έκδοση εφαρμογής: settings.appVersion=Έκδοση εφαρμογής:
settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip): settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip):
settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο
@@ -161,9 +165,9 @@ settings.downloadOption.3=Λήψη αρχείου
settings.zipThreshold=Αρχεία Zip όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος settings.zipThreshold=Αρχεία Zip όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος
settings.signOut=Αποσύνδεση settings.signOut=Αποσύνδεση
settings.accountSettings=Ρυθμίσεις Λογαριασμού settings.accountSettings=Ρυθμίσεις Λογαριασμού
settings.bored.help=Enables easter egg game settings.bored.help=Ενεργοποίηση παιχνίδι ευφήμων
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Αποθήκευση των εισαγωγών
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=Ενεργοποίηση για να αποθηκεύσετε προηγουμένως χρησιμοποιημένες εισαγωγές για το μέλλον
changeCreds.title=Αλλαγή Διαπιστευτηρίων changeCreds.title=Αλλαγή Διαπιστευτηρίων
changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας
@@ -191,7 +195,7 @@ account.signOut=Αποσύνδεση
account.yourApiKey=Το κλειδί σας για τη διεπαφή προγραμματισμού εφαρμογών (API key) account.yourApiKey=Το κλειδί σας για τη διεπαφή προγραμματισμού εφαρμογών (API key)
account.syncTitle=Συγχρονισμός των ρυθμίσεων του φυλλομετρητή (Web Browser) με τον λογαριασμό account.syncTitle=Συγχρονισμός των ρυθμίσεων του φυλλομετρητή (Web Browser) με τον λογαριασμό
account.settingsCompare=Σύγκριση Ρυθμίσεων: account.settingsCompare=Σύγκριση Ρυθμίσεων:
account.property=Property account.property=Υπεροχή
account.webBrowserSettings=Ρύθμιση φυλλομετρητή (Web Browser) account.webBrowserSettings=Ρύθμιση φυλλομετρητή (Web Browser)
account.syncToBrowser=Συγχρονισμός Λογαριασμού -> Φυλλομετρητή (Web Browser) account.syncToBrowser=Συγχρονισμός Λογαριασμού -> Φυλλομετρητή (Web Browser)
account.syncToAccount=Συγχρονισμός Λογαριασμού <- Φυλλομετρητή (Web Browser) account.syncToAccount=Συγχρονισμός Λογαριασμού <- Φυλλομετρητή (Web Browser)
@@ -202,10 +206,10 @@ adminUserSettings.header=Ρυθμίσεις ελέγχου Διαχειριστ
adminUserSettings.admin=Διαχειριστής adminUserSettings.admin=Διαχειριστής
adminUserSettings.user=Χρήστης adminUserSettings.user=Χρήστης
adminUserSettings.addUser=Προσθήκη νέου Χρήστη adminUserSettings.addUser=Προσθήκη νέου Χρήστη
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Διαγραφή Χρηστών
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Είναι αποδεκτό να διαγράψετε τον χρήστη;
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Είναι αποδεκτό να αλλάξετε το σύμβαθρο του χρηστών;
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. adminUserSettings.usernameInfo=Το όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τα εξής διευρυμένα συμβολικά @._+- ή πρέπει να είναι έγκυρο e-mail.
adminUserSettings.roles=Ρόλοι adminUserSettings.roles=Ρόλοι
adminUserSettings.role=Ρόλος adminUserSettings.role=Ρόλος
adminUserSettings.actions=Ενέργειες adminUserSettings.actions=Ενέργειες
@@ -217,33 +221,34 @@ adminUserSettings.internalApiUser=Εσωτερικός API χρήστης
adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση
adminUserSettings.submit=Αποθήκευση Χρήστη adminUserSettings.submit=Αποθήκευση Χρήστη
adminUserSettings.changeUserRole=Αλλαγή ρόλου χρήστη adminUserSettings.changeUserRole=Αλλαγή ρόλου χρήστη
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=Εγγεγραφές
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Επεξεργασία Τοποθεσίας Δικότητας
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=Ενεργούς Χρήστης
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=Απενεργούς Χρήστης
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Ενεργοί Χρήστες:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Απενεργοί Χρήστες:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Συνολικός Αριθμός Χρηστών:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Τελευταία Ερώτηση
database.title=Database Import/Export database.title=Εισάγωντας/Εξαγωγή Δεδομένων Βάσης Δεδομένων
database.header=Database Import/Export database.header=Εισάγωντας/Εξαγωγή Δεδομένων Βάσης Δεδομένων
database.fileName=File Name database.fileName=Όνομα αρχείου
database.creationDate=Creation Date database.creationDate=Ημερομηνία δημιουργίας
database.fileSize=File Size database.fileSize=Μέγεθος αρχείου
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Διαγραφή Προγράμματος Ανασυγκρότησης
database.importBackupFile=Import Backup File database.importBackupFile=Εισάγωντας Προγράμματος Ανασυγκρότησης
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Κατέβασμα Προγράμματος Ανασυγκρότησης
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Όταν εισάγετε δεδομένα, είναι σημαντικό να εξασφαλίσετε τη σωστή μορφοποίηση. Αν δεν είστε σίγουροι για το ποια πράγματα κάνετε, αιτήστε υποβολή και υποστήριξη από ευελίκτω. Μια σφάλμα στη μορφοποίηση μπορεί να προκαλέσει καταστάσεις λάθους στην εφαρμογή, αν όχι ολόκληρη την αποχώρηση της εφαρμογής.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Το ονόμα του αρχείου δεν έχει σημασία όταν ξεκινάτε μια επέμβαση. Αλλαγήται αργότερα για να ακολουθήσει το σχήμα backup_ωςώντας_YYYYMMDDHHmm.sql, επιτρέποντας μια συνεχές κατάληψη ονόματος.
database.submit=Import Backup database.submit=Εισάγωντας Προγράμματος Ανασυγκρότησης
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Τελείωση εισαγωγής στη βάση δεδομένων.
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Το αρχείο δεν μπορεί να είναι τυχόν ή κενό.
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Η σεζώνη σας υπάρξει παραγωγή. Πατήστε για να ανανεώσετε το πλήρωμα και δοκιμάστε ξανά.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -254,7 +259,7 @@ home.searchBar=Αναζήτηση για χαρακτηριστικά...
home.viewPdf.title=Εμφάνιση PDF home.viewPdf.title=Εμφάνιση PDF
home.viewPdf.desc=Εμφάνιση, προσθήκη σχεδίου, προσθήκη κειμένου ή εικόνων home.viewPdf.desc=Εμφάνιση, προσθήκη σχεδίου, προσθήκη κειμένου ή εικόνων
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=ψηφιοποίηση,ανάγνωση,καταχώρηση,τεκτωνική,εικόνα
home.multiTool.title=PDF Πολυεργαλείο home.multiTool.title=PDF Πολυεργαλείο
home.multiTool.desc=Συγχώνευση, Περιστροφή, Αναδιάταξη και Κατάργηση σελίδων home.multiTool.desc=Συγχώνευση, Περιστροφή, Αναδιάταξη και Κατάργηση σελίδων
@@ -262,11 +267,11 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side,in
home.merge.title=Συγχώνευση home.merge.title=Συγχώνευση
home.merge.desc=Συγχώνευση πολλών PDF σε ένα με εύκολο τρόπο. home.merge.desc=Συγχώνευση πολλών PDF σε ένα με εύκολο τρόπο.
merge.tags=merge,Page operations,Back end,server side merge.tags=συνδυασμός,λεπτομέρειες σελίδας,μετάβαση από το μέχρι το κράτος,κρήτερο χρώμα
home.split.title=Διαχωρισμός home.split.title=Διαχωρισμός
home.split.desc=Διαχωρισμός των PDF σε πολλά έγγραφα. home.split.desc=Διαχωρισμός των PDF σε πολλά έγγραφα.
split.tags=Page operations,divide,Multi Page,cut,server side split.tags=λεπτομέρειες σελίδας,διαχωρισμός,πολυσελίδια,κοπή,κρήτερο χρώμα
home.rotate.title=Περιστροφή home.rotate.title=Περιστροφή
home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο. home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο.
@@ -275,45 +280,45 @@ rotate.tags=από την πλευρά του server
home.imageToPdf.title=Εικόνα σε PDF home.imageToPdf.title=Εικόνα σε PDF
home.imageToPdf.desc=Μετατροπή εικόνας (PNG, JPEG, GIF) σε PDF. home.imageToPdf.desc=Μετατροπή εικόνας (PNG, JPEG, GIF) σε PDF.
imageToPdf.tags=conversion,img,jpg,picture,photo imageToPdf.tags=διαδοχική ψηφιοποίηση,εικόνα,jpg,πληροφορίας,φωτογραφία
home.pdfToImage.title=PDF σε εικόνα home.pdfToImage.title=PDF σε εικόνα
home.pdfToImage.desc=Μετατροπή ενός PDF σε μία εικόνα. (PNG, JPEG, GIF) home.pdfToImage.desc=Μετατροπή ενός PDF σε μία εικόνα. (PNG, JPEG, GIF)
pdfToImage.tags=conversion,img,jpg,picture,photo pdfToImage.tags=διαδοχική ψηφιοποίηση,εικόνα,jpg,πληροφορίας,φωτογραφία
home.pdfOrganiser.title=Οργάνωση home.pdfOrganiser.title=Οργάνωση
home.pdfOrganiser.desc=Αφαίρεση/Αναδιάταξη σελίδων με οποιαδήποτε σειρά home.pdfOrganiser.desc=Αφαίρεση/Αναδιάταξη σελίδων με οποιαδήποτε σειρά
pdfOrganiser.tags=duplex,even,odd,sort,move pdfOrganiser.tags=διπλώματος,ήρωαι,ίσοδες,κατάταξη,μέταβαση
home.addImage.title=Προσθήκη Εικόνας home.addImage.title=Προσθήκη Εικόνας
home.addImage.desc=Προσθήκη μιας εικόνας σε μια καθορισμένη θέση στο PDF home.addImage.desc=Προσθήκη μιας εικόνας σε μια καθορισμένη θέση στο PDF
addImage.tags=img,jpg,picture,photo addImage.tags=εικόνα,γούστιο,φωτογραφία
home.watermark.title=Προσθήκη Υδατογραφήματος home.watermark.title=Προσθήκη Υδατογραφήματος
home.watermark.desc=Προσθήκη ενός προσαρμοσμένου υδατογράφηματος στο έγγραφό PDF. home.watermark.desc=Προσθήκη ενός προσαρμοσμένου υδατογράφηματος στο έγγραφό PDF.
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo watermark.tags=λέξη-πίνακας,τυπώμενο,ετικέτα,δικαιοχειρισμός,διόρθωση,εικόνα,γούστιο,φωτογραφία
home.permissions.title=Αλλαγή Δικαιωμάτων home.permissions.title=Αλλαγή Δικαιωμάτων
home.permissions.desc=Αλλαγή των Δικαιωμάτων στο έγγραφο PDF home.permissions.desc=Αλλαγή των Δικαιωμάτων στο έγγραφο PDF
permissions.tags=read,write,edit,print permissions.tags=αποκοπή,γραμμακτής,μετάβαση
home.removePages.title=Αφαίρεση home.removePages.title=Αφαίρεση
home.removePages.desc=Αφαίρεση μή επιθυμητών σελίδων απο το έγγραφο PDF. home.removePages.desc=Αφαίρεση μή επιθυμητών σελίδων απο το έγγραφο PDF.
removePages.tags=Remove pages,delete pages removePages.tags=απόθεση σελίδων,διαγραφή σελίδων
home.addPassword.title=Προσθήκη κωδικού home.addPassword.title=Προσθήκη κωδικού
home.addPassword.desc=Κρυπτογράφηση - κλείδωμα του PDF αρχείου με έναν κωδικό. home.addPassword.desc=Κρυπτογράφηση - κλείδωμα του PDF αρχείου με έναν κωδικό.
addPassword.tags=secure,security addPassword.tags=σφραγίστω,σφραγίζομαι
home.removePassword.title=Αφαίρεση Κωδικού home.removePassword.title=Αφαίρεση Κωδικού
home.removePassword.desc=Κατάργήση της προστασίας με κωδικό πρόσβασης από το έγγραφο PDF. home.removePassword.desc=Κατάργήση της προστασίας με κωδικό πρόσβασης από το έγγραφο PDF.
removePassword.tags=secure,Decrypt,security,unpassword,delete password removePassword.tags=σφραγίστω,παρακυμπνώ,σφραγική,διαγραφή σφραγίδας
home.compressPdfs.title=Συμπίεση home.compressPdfs.title=Συμπίεση
home.compressPdfs.desc=Συμπίεση των αρχείων PDF για την μείωση του μεγέθους τους. home.compressPdfs.desc=Συμπίεση των αρχείων PDF για την μείωση του μεγέθους τους.
compressPdfs.tags=squish,small,tiny compressPdfs.tags=ελαφρύνση,κοντά,τροχιές
home.changeMetadata.title=Αλλαγή Μεταδεδομένων home.changeMetadata.title=Αλλαγή Μεταδεδομένων
@@ -326,16 +331,16 @@ fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,offi
home.ocr.title=οπτική αναγνώριση χαρακτήρων (OCR) / Σαρώσεις Cleanup home.ocr.title=οπτική αναγνώριση χαρακτήρων (OCR) / Σαρώσεις Cleanup
home.ocr.desc=Το Cleanup σαρώνει και ανιχνεύει κείμενο από εικόνες μέσα σε ένα PDF και το προσθέτει ξανά ως κείμενο home.ocr.desc=Το Cleanup σαρώνει και ανιχνεύει κείμενο από εικόνες μέσα σε ένα PDF και το προσθέτει ξανά ως κείμενο
ocr.tags=recognition,text,image,scan,read,identify,detection,editable ocr.tags=γνώση,λέξεις,εικόνα,ζήτημα,ανίδηση,δοχή,πρόγραμμα γνωστικής ανάγνωσης
home.extractImages.title=Εξαγωγή εικόνων home.extractImages.title=Εξαγωγή εικόνων
home.extractImages.desc=Εξαγωγή όλων των εικόνων απο ένα PDF και αποθήκευση αυτών σε zip home.extractImages.desc=Εξαγωγή όλων των εικόνων απο ένα PDF και αποθήκευση αυτών σε zip
extractImages.tags=picture,photo,save,archive,zip,capture,grab extractImages.tags=εικόνα,φωτογραφία,θυλώματος,αρχείο,γραφή,παράδειγμα
home.pdfToPDFA.title=PDF σε PDF/A home.pdfToPDFA.title=PDF σε PDF/A
home.pdfToPDFA.desc=Μετατροπή PDF σε PDF/A για μακροχρόνια αποθήκευση home.pdfToPDFA.desc=Μετατροπή PDF σε PDF/A για μακροχρόνια αποθήκευση
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation pdfToPDFA.tags=θυλώματος,σύνολο,κανόνες,παραστατικό,κράτηση
home.PDFToWord.title=PDF σε Word home.PDFToWord.title=PDF σε Word
home.PDFToWord.desc=Μετατροπή του PDF σε Word αρχείο (DOC, DOCX and ODT) home.PDFToWord.desc=Μετατροπή του PDF σε Word αρχείο (DOC, DOCX and ODT)
@@ -351,24 +356,24 @@ PDFToText.tags=richformat,richtextformat,rich text format
home.PDFToHTML.title=PDF σε HTML home.PDFToHTML.title=PDF σε HTML
home.PDFToHTML.desc=Μετατροπή του PDF σε μορφή HTML home.PDFToHTML.desc=Μετατροπή του PDF σε μορφή HTML
PDFToHTML.tags=web content,browser friendly PDFToHTML.tags=πρόσβαση σε πλαίσιο,περιεχόμενα για διαδικτυακά
home.PDFToXML.title=PDF σε XML home.PDFToXML.title=PDF σε XML
home.PDFToXML.desc=Μετατροπή του PDF σε μορφή XML home.PDFToXML.desc=Μετατροπή του PDF σε μορφή XML
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert PDFToXML.tags=ξυστώση-δεδομένων,σύνθεση στρογγυλών εξισώσεων,κοντινή κατάληψη,πρόσβαση
home.ScannerImageSplit.title=Ανίχνευση/Διαίρεση σαρωμένων φωτογραφιών home.ScannerImageSplit.title=Ανίχνευση/Διαίρεση σαρωμένων φωτογραφιών
home.ScannerImageSplit.desc=Διαχωρίσμός πολλών φωτογραφίών μέσα από μια φωτογραφία/PDF home.ScannerImageSplit.desc=Διαχωρίσμός πολλών φωτογραφίών μέσα από μια φωτογραφία/PDF
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize ScannerImageSplit.tags=διχοτομία,δικτυακή-δοκιμασία,σκάνερις,θέση πλατύων,διαχώριση
home.sign.title=Υπογραφή home.sign.title=Υπογραφή
home.sign.desc=Προσθήκη υπογραφής στο PDF με σχέδιο, κείμενο ή εικόνα. home.sign.desc=Προσθήκη υπογραφής στο PDF με σχέδιο, κείμενο ή εικόνα.
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature sign.tags=αποθωμάσια,κατογώρηση,φωνή,χαρακτεία-υπογραφής
home.flatten.title=Flatten home.flatten.title=Συνοπτικοποίηση
home.flatten.desc=Κατάργηση όλων των διαδραστικών στοιχείων και φορμών από ένα PDF home.flatten.desc=Κατάργηση όλων των διαδραστικών στοιχείων και φορμών από ένα PDF
flatten.tags=static,deactivate,non-interactive,streamline flatten.tags=εγχώριο,απενεργοποιήση,αδρανής-ενεργό,προσαρμογές
home.repair.title=Επιδιόρθωση home.repair.title=Επιδιόρθωση
home.repair.desc=Προσπάθεια επιδιόρθωσης ενός κατεστραμμένου PDF home.repair.desc=Προσπάθεια επιδιόρθωσης ενός κατεστραμμένου PDF
@@ -376,87 +381,87 @@ repair.tags=fix,restore,correction,recover
home.removeBlanks.title=Αφαίρεση κενών Σελίδων home.removeBlanks.title=Αφαίρεση κενών Σελίδων
home.removeBlanks.desc=Ανίχευση και αφαίρεση κενών σελίδων από ένα έγγραφο home.removeBlanks.desc=Ανίχευση και αφαίρεση κενών σελίδων από ένα έγγραφο
removeBlanks.tags=cleanup,streamline,non-content,organize removeBlanks.tags=καθαρισμός,προσαρμογές,εξωφύλακτες-δεδομένων,διοργάνωση
home.removeAnnotations.title=Remove Annotations home.removeAnnotations.title=Αποθήκευση Παρατηρήσεων
home.removeAnnotations.desc=Removes all comments/annotations from a PDF home.removeAnnotations.desc=Ελέγξτε και προστίθετε σχόλια/παρατηρήσεις από το PDF
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=σχόλια,κουμπί-ντεκτ,χαρτές,κάθετα-δεδομένα,αποβολή
home.compare.title=Σύγκριση home.compare.title=Σύγκριση
home.compare.desc=Σύγκριση και εμφάνιση των διαφορών μεταξύ δύο PDF αρχείων home.compare.desc=Σύγκριση και εμφάνιση των διαφορών μεταξύ δύο PDF αρχείων
compare.tags=differentiate,contrast,changes,analysis compare.tags=διακρίσεις,σύγκριση,αλλαγές,πληθυσμική-ανάλυση
home.certSign.title=Υπογραφή με Πιστοποιητικό home.certSign.title=Υπογραφή με Πιστοποιητικό
home.certSign.desc=Υπογραφή ενός PDF αρχείου με ένα Πιστοποιητικό/Κλειδί (PEM/P12) home.certSign.desc=Υπογραφή ενός PDF αρχείου με ένα Πιστοποιητικό/Κλειδί (PEM/P12)
certSign.tags=authenticate,PEM,P12,official,encrypt certSign.tags=υπογραφή,PEM,P12,δημοσίες,δεκτικότητα,κρυπτογράφηση
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Αποθήκευση Υπογραφής Τέλους
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Εμβέλειες σημάδισης από το PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=υπογραφή,PEM,P12,δημοσίες,κρυπτογράφηση-κλείσιμο
home.pageLayout.title=Διάταξη πολλών σελίδων home.pageLayout.title=Διάταξη πολλών σελίδων
home.pageLayout.desc=Συγχώνευση πολλαπλών σελίδων ενός εγγράφου PDF σε μία μόνο σελίδα home.pageLayout.desc=Συγχώνευση πολλαπλών σελίδων ενός εγγράφου PDF σε μία μόνο σελίδα
pageLayout.tags=merge,composite,single-view,organize pageLayout.tags=σύνθεση,ενωμένη,απλή-ροεπίσκαιρα,διοργάνωση
home.scalePages.title=Προσαρμογή του μεγέθους/κλίμακας σελίδας home.scalePages.title=Προσαρμογή του μεγέθους/κλίμακας σελίδας
home.scalePages.desc=Αλλαγή του μεγέθους/κλίμακας μίας σελίδας και/η του περιεχομένου της. home.scalePages.desc=Αλλαγή του μεγέθους/κλίμακας μίας σελίδας και/η του περιεχομένου της.
scalePages.tags=resize,modify,dimension,adapt scalePages.tags=μεταβάλλοντας τους διάστασες,ενδιαφέροντες πόροι,παρακμή,μετατύχηση
home.pipeline.title=Pipeline (Για προχωρημένους) home.pipeline.title=Pipeline (Για προχωρημένους)
home.pipeline.desc=Εκτέλεση πολλαπλών ενεργειών σε αρχεία PDF ορίζοντας pipeline scripts home.pipeline.desc=Εκτέλεση πολλαπλών ενεργειών σε αρχεία PDF ορίζοντας pipeline scripts
pipeline.tags=automate,sequence,scripted,batch-process pipeline.tags=αυτόματος κλωστήρας,σειρά,γραμμογραφική,αποδτομή-πακέτων
home.add-page-numbers.title=Προσθήκη αριθμών σε Σελίδες home.add-page-numbers.title=Προσθήκη αριθμών σε Σελίδες
home.add-page-numbers.desc=Προσθήκη αριθμών σελίδων σε ένα έγγραφο σε μια καθορισμένη θέση home.add-page-numbers.desc=Προσθήκη αριθμών σελίδων σε ένα έγγραφο σε μια καθορισμένη θέση
add-page-numbers.tags=paginate,label,organize,index add-page-numbers.tags=αυτόματη αρίθμηση σελίδων,κατάταξη,διοργάνωση,παραγγελία
home.auto-rename.title=Αυτόματη μετονομασία αρχείου PDF home.auto-rename.title=Αυτόματη μετονομασία αρχείου PDF
home.auto-rename.desc=Αυτόματη μετονομασία ενός αρχείου PDF με βάση την κεφαλίδα που έχει εντοπιστεί home.auto-rename.desc=Αυτόματη μετονομασία ενός αρχείου PDF με βάση την κεφαλίδα που έχει εντοπιστεί
auto-rename.tags=auto-detect,header-based,organize,relabel auto-rename.tags=αυτόματη αναδεικτική κατατάξη μέσω κεφαλαιών,διοργάνωση,καθαρισμός
home.adjust-contrast.title=Προσαρμογή χρωμάτων/Αντίθεση home.adjust-contrast.title=Προσαρμογή χρωμάτων/Αντίθεση
home.adjust-contrast.desc=Προσαρμογή της αντίθεσης, του κορεσμού και της φωτεινότητας ενός PDF home.adjust-contrast.desc=Προσαρμογή της αντίθεσης, του κορεσμού και της φωτεινότητας ενός PDF
adjust-contrast.tags=color-correction,tune,modify,enhance adjust-contrast.tags=καταπολέμηση του συγκρούσεων,ενδιαφέροντας ελέγχο,μεταβάλλοντας για είδη,εξέλιξη
home.crop.title=Περικοπή PDF home.crop.title=Περικοπή PDF
home.crop.desc=Περικοπή ενός PDF για να μειωθεί το μέγεθός του (διατηρεί το κείμενο!) home.crop.desc=Περικοπή ενός PDF για να μειωθεί το μέγεθός του (διατηρεί το κείμενο!)
crop.tags=trim,shrink,edit,shape crop.tags=καταγραφή-καύσης,περικόπτωση,επεξεργασία,forma
home.autoSplitPDF.title=Αυτόματος διαχωρισμός σελίδων home.autoSplitPDF.title=Αυτόματος διαχωρισμός σελίδων
home.autoSplitPDF.desc=Αυτόματος διαχωρισμός σαρωμένου PDF με φυσικό σαρωμένο διαχωριστή σελίδων QR Code home.autoSplitPDF.desc=Αυτόματος διαχωρισμός σαρωμένου PDF με φυσικό σαρωμένο διαχωριστή σελίδων QR Code
autoSplitPDF.tags=QR-based,separate,scan-segment,organize autoSplitPDF.tags=βάσει QR-code,διχοτομία,ελέγχο-διχοτομία,κλάδωση
home.sanitizePdf.title=Απολύμανση home.sanitizePdf.title=Απολύμανση
home.sanitizePdf.desc=Αφαίρεση σεναρίων και άλλων στοιχείων από αρχεία PDF home.sanitizePdf.desc=Αφαίρεση σεναρίων και άλλων στοιχείων από αρχεία PDF
sanitizePdf.tags=clean,secure,safe,remove-threats sanitizePdf.tags=καθαρισμός,διατηρητική,ασφάλεια,προσχώρηση-δυνατότητες
home.URLToPDF.title=URL/Ιστότοπος σε PDF home.URLToPDF.title=URL/Ιστότοπος σε PDF
home.URLToPDF.desc=Μετατροπή οποιαδήποτε διεύθυνσης URL http(s) σε PDF home.URLToPDF.desc=Μετατροπή οποιαδήποτε διεύθυνσης URL http(s) σε PDF
URLToPDF.tags=web-capture,save-page,web-to-doc,archive URLToPDF.tags=καταγραφή-Διαδικτύου,θηράω-σεγκένεια,Διαδικτυακό-σε-δοκίμιο,αποθήκευση
home.HTMLToPDF.title=HTML σε PDF home.HTMLToPDF.title=HTML σε PDF
home.HTMLToPDF.desc=Μετατροπή οποιουδήποτε αρχείου HTML ή zip σε PDF home.HTMLToPDF.desc=Μετατροπή οποιουδήποτε αρχείου HTML ή zip σε PDF
HTMLToPDF.tags=markup,web-content,transformation,convert HTMLToPDF.tags=μάρκαρι,χρηστήρια-Διαδικτύου,παρασταση,καλύτερο
home.MarkdownToPDF.title=Markdown σε PDF home.MarkdownToPDF.title=Markdown σε PDF
home.MarkdownToPDF.desc=Μετατροπή οποιουδήποτε αρχείου Markdown σε PDF home.MarkdownToPDF.desc=Μετατροπή οποιουδήποτε αρχείου Markdown σε PDF
MarkdownToPDF.tags=markup,web-content,transformation,convert MarkdownToPDF.tags=μάρκαρι,χρηστήρια-Διαδικτύου,παρασταση,καλύτερο
home.getPdfInfo.title=Λήψη όλων των πληροφοριών από το PDF home.getPdfInfo.title=Λήψη όλων των πληροφοριών από το PDF
home.getPdfInfo.desc=Λήψη όλων των πιθανών πληροφοριών από τα αρχεία PDF home.getPdfInfo.desc=Λήψη όλων των πιθανών πληροφοριών από τα αρχεία PDF
getPdfInfo.tags=infomation,data,stats,statistics getPdfInfo.tags=πληροφορίες,δεδομένα,στατιστικά,πληθυσμός
home.extractPage.title=Εξαγωγή σελίδων home.extractPage.title=Εξαγωγή σελίδων
home.extractPage.desc=Εξαγωγή των επιλεγμένων σελίδων από ένα PDF home.extractPage.desc=Εξαγωγή των επιλεγμένων σελίδων από ένα PDF
extractPage.tags=extract extractPage.tags=αποδιατύπωση
home.PdfToSinglePage.title=PDF σε μία μεγάλη σελίδα home.PdfToSinglePage.title=PDF σε μία μεγάλη σελίδα
home.PdfToSinglePage.desc=Συγχώνευση όλων των σελίδων PDF σε μια μεγάλη σελίδα home.PdfToSinglePage.desc=Συγχώνευση όλων των σελίδων PDF σε μια μεγάλη σελίδα
PdfToSinglePage.tags=single page PdfToSinglePage.tags=για-μία-σελίδα
home.showJS.title=Εμφάνιση Javascript home.showJS.title=Εμφάνιση Javascript
@@ -465,29 +470,29 @@ showJS.tags=JS
home.autoRedact.title=Αυτόματο Μαύρισμα Κειμένου home.autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=ξεκράζω,φυλακίζω,εικόνο-κουπές,κρατήστε ασφαλείς,δημιουργήστε
home.tableExtraxt.title=PDF σε CSV home.tableExtraxt.title=PDF σε CSV
home.tableExtraxt.desc=Εξάγει πίνακες από PDF μετατρέποντάς το σε CSV home.tableExtraxt.desc=Εξάγει πίνακες από PDF μετατρέποντάς το σε CSV
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV,καταθέσεις-τάβλες,αποδιατύπωση,μετατροπή
home.autoSizeSplitPDF.title=Αυτόματη διαίρεση κατά μέγεθος/πλήθος home.autoSizeSplitPDF.title=Αυτόματη διαίρεση κατά μέγεθος/πλήθος
home.autoSizeSplitPDF.desc=Διαχωρίστε ένα μόνο PDF σε πολλά έγγραφα με βάση το μέγεθος, τον αριθμό σελίδων ή τον αριθμό εγγράφων home.autoSizeSplitPDF.desc=Διαχωρίστε ένα μόνο PDF σε πολλά έγγραφα με βάση το μέγεθος, τον αριθμό σελίδων ή τον αριθμό εγγράφων
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf,διαχωρισμός,γραμμακτής,διορθώσεις-κάντε
home.overlay-pdfs.title=Επικάλυψη PDFs home.overlay-pdfs.title=Επικάλυψη PDFs
home.overlay-pdfs.desc=Επικαλύπτει αρχεία PDF πάνω σε άλλο PDF home.overlay-pdfs.desc=Επικαλύπτει αρχεία PDF πάνω σε άλλο PDF
overlay-pdfs.tags=Overlay overlay-pdfs.tags=πλέξη-πDFs
home.split-by-sections.title=Διαχωρισμός PDF ανά ενότητες home.split-by-sections.title=Διαχωρισμός PDF ανά ενότητες
home.split-by-sections.desc=Διαχωρίστε κάθε σελίδα ενός PDF σε μικρότερες οριζόντιες και κάθετες ενότητες home.split-by-sections.desc=Διαχωρίστε κάθε σελίδα ενός PDF σε μικρότερες οριζόντιες και κάθετες ενότητες
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=διχοτομία-διεργασίες,διεργασίες,κρατήστε
home.AddStampRequest.title=Προσθήκη σφραγίδας σε PDF home.AddStampRequest.title=Προσθήκη σφραγίδας σε PDF
home.AddStampRequest.desc=Προσθέστε κείμενο ή προσθέστε σφραγίδες εικόνας σε καθορισμένες τοποθεσίες home.AddStampRequest.desc=Προσθέστε κείμενο ή προσθέστε σφραγίδες εικόνας σε καθορισμένες τοποθεσίες
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=κάντε-πίνακα,πρόσθεση-εικόνας,κέντρο-εικόνας,χαμυλόχατο,PDF,βάζω-δείγμα,κρατήστε
home.PDFToBook.title=PDF σε Book home.PDFToBook.title=PDF σε Book
@@ -498,33 +503,33 @@ home.BookToPDF.title=Book σε PDF
home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Αφαίρεση εικόνας
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Αφαίρεση εικόνας από το PDF για να μειώσετε το μέγεθος του αρχείου
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Αφαίρεση-Εικόνας,Πράξεις-Σελίδας,ύπαρξη-τμήματος,πλην-δυναμική
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Διχοτομία PDF ανά Περιγραφές
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=διχοτομία,περιγραφές,κεφάλαια,συνορία
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Αντικατάσταση-Αντίστροφη Παθωμένη Πίντσουρ
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Αντικατάσταση χρώματος για το πεδίο κειμένου και απόχρωμη έκθεση PDF για μείωση μεγέθους αρχείου
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Αντικατάσταση χρώματος, Διαδικασίες σελίδας, Μέσω πληροφόρησης, Από την εσωτερική
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Επιλογές αντικατάστασης-Αντίστροφης χρώματος
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Προεπιλογή (Χαράκτηρες υψηλής αντιδιαβάσιμότητας)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Εξαιρετικό (Προσωπικές επιλογές χρώματος)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Αντίστροφη Παθωμένη (Αντίστροφη αντικατάσταση όλων των πχώματος)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Επιλογές υψηλής αντιδιαβάσιμότητας
replace-color.selectText.6=white text on black background replace-color.selectText.6=Χρίστος το πεδίο κειμένου σε μαύρη οπτική
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Μαύρο το πεδίο κειμένου σε χλωρό οπτική
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Ευτυχισμένο το πεδίο κειμένου σε μαύρη οπτική
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Χλωροφαίνοντος το πεδίο κειμένου σε μαύρη οπτική
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Επιλογή χρώματος του κειμένου
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Επιλογή απόχρωμης οπτικής
replace-color.submit=Replace replace-color.submit=Αντικατάσταση
@@ -543,17 +548,17 @@ login.locked=Ο λογαριασμός σας έχει κλειδωθεί.
login.signinTitle=Παρακαλώ, συνδεθείτε login.signinTitle=Παρακαλώ, συνδεθείτε
login.ssoSignIn=Σύνδεση μέσω μοναδικής σύνδεσης login.ssoSignIn=Σύνδεση μέσω μοναδικής σύνδεσης
login.oauth2AutoCreateDisabled=Απενεργοποιήθηκε ο χρήστης αυτόματης δημιουργίας OAUTH2 login.oauth2AutoCreateDisabled=Απενεργοποιήθηκε ο χρήστης αυτόματης δημιουργίας OAUTH2
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Η εγγραφή και το πληκτρολόγημα ανθρώπων με όχι εγγραμμένες λογισμικές αρχίζουν να είναι ορισμένες τοποθετήσεις. Παρακαλώ στείλτε μια ισχυρά παραίτηση στον διοικητή.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Απαιτήσεις πληροφόρησης χρήστη ανακαλύψτηκαν μη έχουν βρεθεί
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Απάντηση μεμονωμένων πληροφοριών χρήστη αποδείξτηκε άγνωστη
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Αρχαίως απαιτήσεις πληροφοριών χρήστη
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Πρόσβαση ορισμένες τοποθετήσεις
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Απάντηση άρκετο ρόταμα
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Λιδός όρκου μη αρκετός
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=Ο χρήστης είναι δευτεροβαθμιακά διακωμένος, το σύστημα άλλαξε τον καθώς βρεθεί. Παρακαλείστε τους αρχηγούς να επιβεβαιώσουν τη συμπεριφορά χρήστη.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Είστε ήδη σύνδεδες σε
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=κατοχόι. Παρακαλώ δυσκέντρωση τους και προσπαθήστε ξανά.
login.toManySessions=You have too many active sessions login.toManySessions=Έχετε πολλές εγγραφές σε βίτιο μέση
#auto-redact #auto-redact
autoRedact.title=Αυτόματο Μαύρισμα Κειμένου autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
@@ -563,7 +568,7 @@ autoRedact.textsToRedactLabel=Κείμενο για μαύρισμα (διαχω
autoRedact.textsToRedactPlaceholder=π.χ. \nΕμπιστευτικό \nΑκρώς απόρρητο autoRedact.textsToRedactPlaceholder=π.χ. \nΕμπιστευτικό \nΑκρώς απόρρητο
autoRedact.useRegexLabel=Χρήση Regex autoRedact.useRegexLabel=Χρήση Regex
autoRedact.wholeWordSearchLabel=Αναζήτηση ολόκληρης της λέξης autoRedact.wholeWordSearchLabel=Αναζήτηση ολόκληρης της λέξης
autoRedact.customPaddingLabel=Custom Extra Padding autoRedact.customPaddingLabel=Εμπνευσμένη Προσθήκη Ανάκρισης
autoRedact.convertPDFToImageLabel=Μετατροπή PDF σε PDF-Εικόνα (Χρησιμοποιείται για την αφαίρεση κειμένου πίσω από το πλαίσιο) autoRedact.convertPDFToImageLabel=Μετατροπή PDF σε PDF-Εικόνα (Χρησιμοποιείται για την αφαίρεση κειμένου πίσω από το πλαίσιο)
autoRedact.submitButton=Υποβολή autoRedact.submitButton=Υποβολή
@@ -629,7 +634,7 @@ HTMLToPDF.defaultHeader=Ενεργοποίηση προεπιλεγμένης κ
HTMLToPDF.cssMediaType=Αλλάξτε τον τύπο μέσων (media type )CSS της σελίδας. HTMLToPDF.cssMediaType=Αλλάξτε τον τύπο μέσων (media type )CSS της σελίδας.
HTMLToPDF.none=Κανένα HTMLToPDF.none=Κανένα
HTMLToPDF.print=Εκτύπωσε HTMLToPDF.print=Εκτύπωσε
HTMLToPDF.screen=Screen HTMLToPDF.screen=Ορόσκοπος
#AddStampRequest #AddStampRequest
@@ -728,7 +733,7 @@ pageLayout.submit=Υποβολή
scalePages.title=Προσαρμογή κλίμακας σελίδας scalePages.title=Προσαρμογή κλίμακας σελίδας
scalePages.header=Προσαρμογή κλίμακας σελίδας scalePages.header=Προσαρμογή κλίμακας σελίδας
scalePages.pageSize=Μέγεθος μιας σελίδας του εγγράφου. scalePages.pageSize=Μέγεθος μιας σελίδας του εγγράφου.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Τροποποίηση με ευθύγειες γραμμές
scalePages.scaleFactor=Επίπεδο ζουμ (περικοπή) σελίδας. scalePages.scaleFactor=Επίπεδο ζουμ (περικοπή) σελίδας.
scalePages.submit=Υποβολή scalePages.submit=Υποβολή
@@ -748,14 +753,15 @@ certSign.showSig=Εμφάνιση Υπογραφής
certSign.reason=Αιτία certSign.reason=Αιτία
certSign.location=Τοποθεσία certSign.location=Τοποθεσία
certSign.name=Όνομα certSign.name=Όνομα
certSign.showLogo=Προειδοποίηση Παρόχου
certSign.submit=Υπογραφή PDF certSign.submit=Υπογραφή PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Αφαίρεση Αντικειμένων Τυπογραφίας Τομβής
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Αφαίρεση της πληροφόρησης όρκου από το PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Επιλέξτε ένα αρχείο PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Αφαιρέστε την ψήφιση
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=Κατάργηση
#compare #compare
compare.title=Σύγκριση compare.title=Σύγκριση
compare.header=Σύγκριση PDFs compare.header=Σύγκριση PDFs
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Μάσκα Εμφανισμού 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Μάσκα Εμφανισμού 2:
compare.document.1=Έγγραφο 1 compare.document.1=Έγγραφο 1
compare.document.2=Έγγραφο 2 compare.document.2=Έγγραφο 2
compare.submit=Σύγκριση compare.submit=Σύγκριση
compare.complex.message=Ένα ή τα δίπλα αποδεκτής χαρτογράφημα είναι μεγάλο, η πραγματικότητα αναζήτησης μπορεί να εξαβλύσει τη συγκρίση
compare.large.file.message=Ένα ή τα δίπλα αποδεκτής χαρτογράφημα είναι πολύ μεγάλο για να εξυπηρετήσει
compare.no.text.message=ένα ή τα δίπλα αποδεκτής χαρτογράφημα δεν περιέχουν κείμενο. Παρακαλώ επιλέξτε PDF με κείμενο για σύγκριση.
#BookToPDF #BookToPDF
BookToPDF.title=Books και Comics σε PDF BookToPDF.title=Books και Comics σε PDF
@@ -804,6 +813,11 @@ sign.draw=Σχεδίαση υπογραφής
sign.text=Εισαγωγή κειμένου sign.text=Εισαγωγή κειμένου
sign.clear=Καθάρισμα sign.clear=Καθάρισμα
sign.add=Προσθήκη sign.add=Προσθήκη
sign.saved=Αποθηκευμένες Αλιάσιδες
sign.save=Αποθήκευση Αλιάσης
sign.personalSigs=Προσωπικές Αλιάσεις
sign.sharedSigs=Μεταδότες Αλιάσεις
sign.noSavedSigs=Δεν βρέθηκαν αποθηκευμένες αλιάσεις
#repair #repair
@@ -813,10 +827,10 @@ repair.submit=Επιδιόρθωση
#flatten #flatten
flatten.title=Flatten flatten.title=Φιλοξένηση
flatten.header=Flatten PDFs flatten.header=Flatten PDFs
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=Φιλοξενήστε μόνο τα φόρμαδα
flatten.submit=Flatten flatten.submit=Φιλοξένηση
#ScannerImageSplit #ScannerImageSplit
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Ελάχιστη επιφάνεια περιγρ
ScannerImageSplit.selectText.8=Ρυθμίζει το ελάχιστο όριο περιγράμματος για μια φωτογραφία ScannerImageSplit.selectText.8=Ρυθμίζει το ελάχιστο όριο περιγράμματος για μια φωτογραφία
ScannerImageSplit.selectText.9=Μέγεθος περιγράμματος: ScannerImageSplit.selectText.9=Μέγεθος περιγράμματος:
ScannerImageSplit.selectText.10=Ορίζει το μέγεθος του περιγράμματος που προστίθεται και αφαιρείται για να αποτρέπονται λευκά περιγράμματα στην έξοδο (προεπιλογή: 1). ScannerImageSplit.selectText.10=Ορίζει το μέγεθος του περιγράμματος που προστίθεται και αφαιρείται για να αποτρέπονται λευκά περιγράμματα στην έξοδο (προεπιλογή: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Δεν είναι ιστάμενος Python. Είναι απαιτήτων για τη λειτουργία.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Επεξεργασία PDF με OCR
extractImages.title=Εξαγωγή Εικόνων extractImages.title=Εξαγωγή Εικόνων
extractImages.header=Εξαγωγή Εικόνων extractImages.header=Εξαγωγή Εικόνων
extractImages.selectText=Επιλέξτε μορφή εικόνας για να μετατρέψετε τις εξαγόμενες εικόνες extractImages.selectText=Επιλέξτε μορφή εικόνας για να μετατρέψετε τις εξαγόμενες εικόνες
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Αποθήκευση εικόνων που μπορούν να είναι ίδιες
extractImages.submit=Εξαγωγή extractImages.submit=Εξαγωγή
@@ -865,7 +879,7 @@ extractImages.submit=Εξαγωγή
fileToPDF.title=Αρχείο σε PDF fileToPDF.title=Αρχείο σε PDF
fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF
fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων. fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Υποστηριζόμενα αρχεία
fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice
fileToPDF.submit=Μετατροπή σε PDF fileToPDF.submit=Μετατροπή σε PDF
@@ -895,7 +909,7 @@ merge.title=Συγχώνευση
merge.header=Συγχώνευση πολλαπλών PDFs (2+) merge.header=Συγχώνευση πολλαπλών PDFs (2+)
merge.sortByName=Ταξινόμηση με βάση το Όνομα merge.sortByName=Ταξινόμηση με βάση το Όνομα
merge.sortByDate=Ταξινόμηση με βάση την Ημερομηνία merge.sortByDate=Ταξινόμηση με βάση την Ημερομηνία
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Επιλογή για τη μέριξη δικαιωμάτων σημείους σημάδους; Αφαίρεση ηλεκτρονικών πρόσβασης από το συγχέωνται αρχείο?
merge.submit=Συγχώνευση merge.submit=Συγχώνευση
@@ -903,24 +917,35 @@ merge.submit=Συγχώνευση
pdfOrganiser.title=Διοργανωτής σελίδας pdfOrganiser.title=Διοργανωτής σελίδας
pdfOrganiser.header=Διοργανωτής σελίδας PDF pdfOrganiser.header=Διοργανωτής σελίδας PDF
pdfOrganiser.submit=Αναδιάταξη σελίδων pdfOrganiser.submit=Αναδιάταξη σελίδων
pdfOrganiser.mode=Mode pdfOrganiser.mode=Τύπος
pdfOrganiser.mode.1=Προσαρμοσμένη Σειρά Σελίδας pdfOrganiser.mode.1=Προσαρμοσμένη Σειρά Σελίδας
pdfOrganiser.mode.2=Αντίστροφη Σειρά pdfOrganiser.mode.2=Αντίστροφη Σειρά
pdfOrganiser.mode.3=Ταξινόμηση Διπλής Όψης (Duplex Sort) pdfOrganiser.mode.3=Ταξινόμηση Διπλής Όψης (Duplex Sort)
pdfOrganiser.mode.4=Ταξινόμηση Φυλλαδίου (Booklet Sort) pdfOrganiser.mode.4=Ταξινόμηση Φυλλαδίου (Booklet Sort)
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=Πλάσμα Σεπτιμερή Λεφτοδυοκόσμου
pdfOrganiser.mode.6=Διαίρεση Μονού-Ζυγού pdfOrganiser.mode.6=Διαίρεση Μονού-Ζυγού
pdfOrganiser.mode.7=Αφαίρεση Πρώτου pdfOrganiser.mode.7=Αφαίρεση Πρώτου
pdfOrganiser.mode.8=Αφαίρεση Τελευταίου pdfOrganiser.mode.8=Αφαίρεση Τελευταίου
pdfOrganiser.mode.9=Αφαίρεση Πρώτου και Τελευταίου pdfOrganiser.mode.9=Αφαίρεση Πρώτου και Τελευταίου
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Περίπτωση Τυχαίου Μέριξης
pdfOrganiser.placeholder=(π.χ. 1,3,2 ή 4-8,2,10-12 ή 2n-1) pdfOrganiser.placeholder=(π.χ. 1,3,2 ή 4-8,2,10-12 ή 2n-1)
#multiTool #multiTool
multiTool.title=PDF Πολυεργαλείο multiTool.title=PDF Πολυεργαλείο
multiTool.header=PDF Πολυεργαλείο multiTool.header=PDF Πολυεργαλείο
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=Όνομα αρχείου
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Προβολή PDF viewPdf.title=Προβολή PDF
@@ -982,7 +1007,7 @@ pdfToImage.color=Χρώμα
pdfToImage.grey=Κλίμακα του γκρι pdfToImage.grey=Κλίμακα του γκρι
pdfToImage.blackwhite=Ασπρόμαυρο (Μπορεί να χαθούν δεδομένα!) pdfToImage.blackwhite=Ασπρόμαυρο (Μπορεί να χαθούν δεδομένα!)
pdfToImage.submit=Μετατροπή pdfToImage.submit=Μετατροπή
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Δεν είναι ιστάμενος Python. Είναι απαιτήτων για τη μετατροπή σε WebP.
#addPassword #addPassword
@@ -1019,7 +1044,7 @@ watermark.selectText.6=heightSpacer (Κενό μεταξύ κάθε υδατογ
watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%): watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%):
watermark.selectText.8=Τύπος Υδατογραφήματος: watermark.selectText.8=Τύπος Υδατογραφήματος:
watermark.selectText.9=Εικόνα Υδατογραφήματος: watermark.selectText.9=Εικόνα Υδατογραφήματος:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Μετατροπή PDF σε PDF-Image
watermark.submit=Προσθήκη Υδατογραφήματος watermark.submit=Προσθήκη Υδατογραφήματος
watermark.type.1=Κείμενο watermark.type.1=Κείμενο
watermark.type.2=Εικόνα watermark.type.2=Εικόνα
@@ -1063,7 +1088,7 @@ changeMetadata.keywords=Λέξεις-κλειδιά:
changeMetadata.modDate=Ημερομηνία Τροποποίησης (yyyy/MM/dd HH:mm:ss): changeMetadata.modDate=Ημερομηνία Τροποποίησης (yyyy/MM/dd HH:mm:ss):
changeMetadata.producer=Παραγωγός: changeMetadata.producer=Παραγωγός:
changeMetadata.subject=Θέμα: changeMetadata.subject=Θέμα:
changeMetadata.trapped=Trapped: changeMetadata.trapped=Τυχόν Περίκλειση:
changeMetadata.selectText.4=Άλλα μεταδεδομένα: changeMetadata.selectText.4=Άλλα μεταδεδομένα:
changeMetadata.selectText.5=Προσθήκη εγγραφής προσαρμοσμένων μεταδεδομένων changeMetadata.selectText.5=Προσθήκη εγγραφής προσαρμοσμένων μεταδεδομένων
changeMetadata.submit=Αλλαγή changeMetadata.submit=Αλλαγή
@@ -1075,8 +1100,8 @@ pdfToPDFA.header=PDF σε PDF/A
pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί ghostscript για PDF/A μετατροπή pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί ghostscript για PDF/A μετατροπή
pdfToPDFA.submit=Μετατροπή pdfToPDFA.submit=Μετατροπή
pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Εξόδος αναμορφώσεων
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=Το PDF περιέχει ηλεκτρονική ψηφιακή υπογραφή. Αυτό θα αφαιρεθεί στο επόμενο βήμα.
#PDFToWord #PDFToWord
@@ -1145,8 +1170,8 @@ overlay-pdfs.mode.fixedRepeat=Διορθώθηκε η Επικάλυψη Επα
overlay-pdfs.counts.label=Μετρήσεις επικάλυψης (για σταθερή λειτουργία επανάληψης) overlay-pdfs.counts.label=Μετρήσεις επικάλυψης (για σταθερή λειτουργία επανάληψης)
overlay-pdfs.counts.placeholder=Εισαγάγετε μετρήσεις διαχωρισμένες με κόμματα (π.χ. 2,3,1) overlay-pdfs.counts.placeholder=Εισαγάγετε μετρήσεις διαχωρισμένες με κόμματα (π.χ. 2,3,1)
overlay-pdfs.position.label=Επιλέξτε Θέση Επικάλυψης overlay-pdfs.position.label=Επιλέξτε Θέση Επικάλυψης
overlay-pdfs.position.foreground=Foreground overlay-pdfs.position.foreground=Προσκήνιο
overlay-pdfs.position.background=Background overlay-pdfs.position.background=фондо
overlay-pdfs.submit=Υποβολή overlay-pdfs.submit=Υποβολή
@@ -1162,31 +1187,31 @@ split-by-sections.merge=Συγχώνευση σε ένα PDF
#printFile #printFile
printFile.title=Print File printFile.title=Εκτύπωση Αρχείου
printFile.header=Print File to Printer printFile.header=Εκτύπωση Αρχείου σε Εκτυπωτή
printFile.selectText.1=Select File to Print printFile.selectText.1=Επιλογή Αρχείου για Εκτύπωση
printFile.selectText.2=Enter Printer Name printFile.selectText.2=Εισάγετε το όνομα του εκτυπωτή
printFile.submit=Print printFile.submit=Εκτύπωση
#licenses #licenses
licenses.nav=Άδειες licenses.nav=Άδειες
licenses.title=3rd Party Άδειες licenses.title=3rd Party Άδειες
licenses.header=3rd Party Άδειες licenses.header=3rd Party Άδειες
licenses.module=Module licenses.module=Μόδουλο
licenses.version=Εκδοχή licenses.version=Εκδοχή
licenses.license=Άδεια licenses.license=Άδεια
#survey #survey
survey.nav=Survey survey.nav=Έρευνα
survey.title=Stirling-PDF Survey survey.title=Περιεχόμενο Έρευνας Stirling-PDF
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Η Stirling-PDF δεν επηρεάζεται από τη μετακίνηση. Ελπίζουμε πως θα συμμεριζόμαστε για να βελτιώσουμε τη Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Αφού κάποιες αλλαγές στην Stirling-PDF, θα πρόκειται να εξετάσουμε με τρόπου πιο συγκεκριμένο αυτά. Αναχαίτιζε την ελέγχωσή τους!
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Με αυτές τις αλλαγές, συμπεριλαμβάνονται και οι δομοφόνια χρηματοδότησης και εκπομπής
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(Το παράθυρο ερεύνησης θα απενεργοποιηθεί σε μελλοντικές ενημερώσεις, αλλά θα παρουσιάζεται στο τέλος της διαδικασίας)
survey.button=Take Survey survey.button=Παίρνω μερίδα στην ερεύνα
survey.dontShowAgain=Don't show again survey.dontShowAgain=Δεν απεικονίζεται ξανά
#error #error
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - Υποβάλετε ένα Support post
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Αφαίρεση εικόνας
removeImage.header=Remove image removeImage.header=Αφαίρεση εικόνας
removeImage.removeImage=Remove image removeImage.removeImage=Αφαίρεση εικόνας
removeImage.submit=Remove image removeImage.submit=Αποθέτει την εικόνα
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Χωρίστε το PDF με βάση τα κεφάλαια
splitByChapters.header=Χωρίστε το PDF με βάση τα κεφάλαια
splitByChapters.bookmarkLevel=Επίπεδο Σήμανσης Σκέψης
splitByChapters.includeMetadata=Πρόσθεση Metadata
splitByChapters.allowDuplicates=Διάλυση Παρόντων Τίτλων Επιπέδου
splitByChapters.desc.1=Αυτή η εργαλείο χωρίζει το PDF αρχείο σε πολλά PDF βάση της καθορισμένης δομής του κεφαλαιώδους.
splitByChapters.desc.2=Επίπεδο Σήμανσης Σκέψης: Επιλέξτε το επίπεδο σήμανσης σκέψης που να χρησιμοποιηθεί για τη διάλυση (0 για το κύριο επίπεδο, 1 για το δεύτερο επίπεδο κλπ.).
splitByChapters.desc.3=Πρόσθεση Metadata: Αν επεξεργαστείται, οι αρχικές metadata του PDF θα προστεθούν σε κάθε διαλυμένο PDF.
splitByChapters.desc.4=Διάλυση Παρόντων Τίτλων Επιπέδου: Αν επεξεργαστείται, επιτρέπει τη δημιουργία αποκοπών PDF με βάση πλήρως καθορισμένους σήμαντες έδρας.
splitByChapters.submit=Διαλύστε το PDF

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Languages
navbar.settings=Settings navbar.settings=Settings
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multi Tool navbar.multiTool=Multi Tool
navbar.search=Search
navbar.sections.organize=Organize navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertFrom=Convert from PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed to import file database.failedImportFile=Failed to import file
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Show Signature
certSign.reason=Reason certSign.reason=Reason
certSign.location=Location certSign.location=Location
certSign.name=Name certSign.name=Name
certSign.showLogo=Show Logo
certSign.submit=Sign PDF certSign.submit=Sign PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=Document 1 compare.document.1=Document 1
compare.document.2=Document 2 compare.document.2=Document 2
compare.submit=Compare compare.submit=Compare
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Books and Comics to PDF
@@ -804,6 +813,11 @@ sign.draw=Draw Signature
sign.text=Text Input sign.text=Text Input
sign.clear=Clear sign.clear=Clear
sign.add=Add sign.add=Add
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
multiTool.title=PDF Multi Tool multiTool.title=PDF Multi Tool
multiTool.header=PDF Multi Tool multiTool.header=PDF Multi Tool
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=File Name
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=View PDF viewPdf.title=View PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Languages
navbar.settings=Settings navbar.settings=Settings
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multi Tool navbar.multiTool=Multi Tool
navbar.search=Search
navbar.sections.organize=Organize navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertFrom=Convert from PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Show Signature
certSign.reason=Reason certSign.reason=Reason
certSign.location=Location certSign.location=Location
certSign.name=Name certSign.name=Name
certSign.showLogo=Show Logo
certSign.submit=Sign PDF certSign.submit=Sign PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=Document 1 compare.document.1=Document 1
compare.document.2=Document 2 compare.document.2=Document 2
compare.submit=Compare compare.submit=Compare
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Books and Comics to PDF
@@ -804,6 +813,11 @@ sign.draw=Draw Signature
sign.text=Text Input sign.text=Text Input
sign.clear=Clear sign.clear=Clear
sign.add=Add sign.add=Add
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
multiTool.title=PDF Multi Tool multiTool.title=PDF Multi Tool
multiTool.header=PDF Multi Tool multiTool.header=PDF Multi Tool
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=File Name
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=View PDF viewPdf.title=View PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Tamaño de Letra
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Nombre de Letra
pdfPrompt=Seleccionar PDF(s) pdfPrompt=Seleccionar PDF(s)
multiPdfPrompt=Seleccionar PDFs (2+) multiPdfPrompt=Seleccionar PDFs (2+)
multiPdfDropPrompt=Seleccione (o arrastre y suelte) todos los PDFs que quiera multiPdfDropPrompt=Seleccione (o arrastre y suelte) todos los PDFs que quiera
@@ -50,7 +50,7 @@ WorkInProgess=Tarea en progreso, puede no funcionar o ralentizarse; ¡por favor,
poweredBy=Desarrollado por poweredBy=Desarrollado por
yes= yes=
no=No no=No
changedCredsMessage=Se cambiaron las credenciales! changedCredsMessage=¡Se cambiaron las credenciales!
notAuthenticatedMessage=Usuario no autentificado. notAuthenticatedMessage=Usuario no autentificado.
userNotFoundMessage=Usuario no encontrado. userNotFoundMessage=Usuario no encontrado.
incorrectPasswordMessage=La contraseña actual no es correcta. incorrectPasswordMessage=La contraseña actual no es correcta.
@@ -75,16 +75,19 @@ visitGithub=Visitar Repositorio de Github
donate=Donar donate=Donar
color=Color color=Color
sponsor=Patrocinador sponsor=Patrocinador
info=Info info=Información
pro=Pro pro=Pro
page=Page page=Página
pages=Pages pages=Páginas
loading=Cargando...
addToDoc=Agregar al Documento
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Política de Privacidad
legal.terms=Terms and Conditions legal.terms=Términos y Condiciones
legal.accessibility=Accessibility legal.accessibility=Accesibilidad
legal.cookie=Cookie Policy legal.cookie=Política de Cookies
legal.impressum=Impressum legal.impressum=Impresión
############### ###############
# Pipeline # # Pipeline #
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Validar
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Actualiza a Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Esta característica está únicamente disponible para usuarios Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro soporta configuración de ficheros YAML y otras características SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=¿Busca más funciones de administración de usuarios? Consulte Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=¿Quieres mejorar Stirling PDF?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF ha optado por analíticas para ayudarnos a mejorar el producto. No rastreamos ninguna información personal ni contenido de archivos.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Considere habilitar analíticas para ayudar a Stirling-PDF a crecer y permitirnos comprender mejor a nuestros usuarios.
analytics.enable=Enable analytics analytics.enable=Habilitar analíticas
analytics.disable=Disable analytics analytics.disable=Deshabilitar analíticas
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Puede cambiar la configuración de analíticas en el archivo config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Idiomas
navbar.settings=Configuración navbar.settings=Configuración
navbar.allTools=Herramientas navbar.allTools=Herramientas
navbar.multiTool=Multi herramientas navbar.multiTool=Multi herramientas
navbar.search=Search
navbar.sections.organize=Organizar navbar.sections.organize=Organizar
navbar.sections.convertTo=Convertir a PDF navbar.sections.convertTo=Convertir a PDF
navbar.sections.convertFrom=Convertir desde PDF navbar.sections.convertFrom=Convertir desde PDF
navbar.sections.security=Señalización y seguridad navbar.sections.security=Señalización y seguridad
navbar.sections.advance=Avanzado navbar.sections.advance=Avanzado
navbar.sections.edit=Ver y Editar navbar.sections.edit=Ver y Editar
navbar.sections.popular=Popular navbar.sections.popular=Populares
############# #############
# SETTINGS # # SETTINGS #
@@ -243,7 +247,8 @@ database.fileNotFound=Archivo no encontrado
database.fileNullOrEmpty=El archivo no debe ser nulo o vacío. database.fileNullOrEmpty=El archivo no debe ser nulo o vacío.
database.failedImportFile=Archivo de importación fallido database.failedImportFile=Archivo de importación fallido
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -392,7 +397,7 @@ certSign.tags=autentificar,PEM,P12,oficial,encriptar
home.removeCertSign.title=Quitar signo de certificado home.removeCertSign.title=Quitar signo de certificado
home.removeCertSign.desc=Eliminar firma de certificado de PDF home.removeCertSign.desc=Eliminar firma de certificado de PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=autenticar,PEM,P12,oficial,desencriptar
home.pageLayout.title=Diseño de varias páginas home.pageLayout.title=Diseño de varias páginas
home.pageLayout.desc=Unir varias páginas de un documento PDF en una sola página home.pageLayout.desc=Unir varias páginas de un documento PDF en una sola página
@@ -503,28 +508,28 @@ home.removeImagePdf.desc=Eliminar imagen del PDF> para reducir el tamaño de arc
removeImagePdf.tags=Eliminar imagen,Operaciones de página,Back end,lado del servidor removeImagePdf.tags=Eliminar imagen,Operaciones de página,Back end,lado del servidor
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Dividir PDF por capítulos
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Divida un PDF en varios archivos según su estructura de capítulos.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=dividir,capítulos,marcadores,organizar
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Reemplazar-Invertir-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Reemplazar-Invertir Color en PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Reemplazar e Invertir Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Reemplaza el color del texto y el fondo en el PDF e invierte el color completo del PDF para reducir el tamaño del archivo
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Reemplazar Color,Operaciones de Página,Back end,Lado del servidor
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Opciones para Reemplazar o Invertir color
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Predeterminado (Colores de alto contraste predeterminados)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Personalizado (Colores personalizados)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Invertir Completo (Invertir todos los colores)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Opciones de color de alto contraste
replace-color.selectText.6=white text on black background replace-color.selectText.6=Texto blanco sobre fondo negro
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Texto negro sobre fondo blanco
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Texto amarillo sobre fondo negro
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Texto verde sobre fondo negro
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Elegir Color de Texto
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Elegir Color de Fondo
replace-color.submit=Replace replace-color.submit=Reemplazar
@@ -543,7 +548,7 @@ login.locked=Su cuenta se ha bloqueado.
login.signinTitle=Por favor, inicie sesión login.signinTitle=Por favor, inicie sesión
login.ssoSignIn=Iniciar sesión a través del inicio de sesión único login.ssoSignIn=Iniciar sesión a través del inicio de sesión único
login.oauth2AutoCreateDisabled=Usuario de creación automática de OAUTH2 DESACTIVADO login.oauth2AutoCreateDisabled=Usuario de creación automática de OAUTH2 DESACTIVADO
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=El registro o inicio de sesión de usuarios no registrados está actualmente bloqueado. Por favor, contáctese con el administrador.
login.oauth2RequestNotFound=Solicitud de autorización no encontrada login.oauth2RequestNotFound=Solicitud de autorización no encontrada
login.oauth2InvalidUserInfoResponse=Respuesta de información de usuario no válida login.oauth2InvalidUserInfoResponse=Respuesta de información de usuario no válida
login.oauth2invalidRequest=Solicitud no válida login.oauth2invalidRequest=Solicitud no válida
@@ -551,9 +556,9 @@ login.oauth2AccessDenied=Acceso denegado
login.oauth2InvalidTokenResponse=Respuesta de token no válida login.oauth2InvalidTokenResponse=Respuesta de token no válida
login.oauth2InvalidIdToken=Token de identificación no válido login.oauth2InvalidIdToken=Token de identificación no válido
login.userIsDisabled=El usuario está desactivado, actualmente el acceso está bloqueado para ese nombre de usuario. Por favor, póngase en contacto con el administrador. login.userIsDisabled=El usuario está desactivado, actualmente el acceso está bloqueado para ese nombre de usuario. Por favor, póngase en contacto con el administrador.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Ya has iniciado sesión en
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=dispositivos. Cierra sesión en los dispositivos y vuelve a intentarlo.
login.toManySessions=You have too many active sessions login.toManySessions=Tienes demasiadas sesiones activas
#auto-redact #auto-redact
autoRedact.title=Auto Redactar autoRedact.title=Auto Redactar
@@ -748,6 +753,7 @@ certSign.showSig=Mostrar firma
certSign.reason=Razón certSign.reason=Razón
certSign.location=Ubicación certSign.location=Ubicación
certSign.name=Nombre certSign.name=Nombre
certSign.showLogo=Mostrar Logotipo
certSign.submit=Firmar PDF certSign.submit=Firmar PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Color resaltado 2:
compare.document.1=Documento 1 compare.document.1=Documento 1
compare.document.2=Documento 2 compare.document.2=Documento 2
compare.submit=Comparar compare.submit=Comparar
compare.complex.message=Uno o ambos de los documentos proporcionados son archivos grandes; la precisión de la comparación puede disminuir.
compare.large.file.message=Uno o ambos de los documentos proporcionados son demasiado grandes para procesarse.
compare.no.text.message=Uno o ambos de los PDF seleccionados no contienen contenido de texto. Por favor, elija PDFs con texto para la comparación.
#BookToPDF #BookToPDF
BookToPDF.title=Libros y Cómics a PDF BookToPDF.title=Libros y Cómics a PDF
@@ -804,6 +813,11 @@ sign.draw=Dibujar firma
sign.text=Entrada de texto sign.text=Entrada de texto
sign.clear=Borrar sign.clear=Borrar
sign.add=Agregar sign.add=Agregar
sign.saved=firmas guardadas
sign.save=Guardar Firma
sign.personalSigs=Firmas Personales
sign.sharedSigs=Firmas compartidas
sign.noSavedSigs=No se encontraron firmas guardadas
#repair #repair
@@ -887,7 +901,7 @@ addImage.title=Añadir imagen
addImage.header=Añadir imagen de PDF addImage.header=Añadir imagen de PDF
addImage.everyPage=¿Todas las páginas? addImage.everyPage=¿Todas las páginas?
addImage.upload=Añadir imagen addImage.upload=Añadir imagen
addImage.submit=Añadir imagen addImage.submit=Enviar imagen
#merge #merge
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(por ej., 1,3,2 o 4-8,2,10-12 o 2n-1)
multiTool.title=Multi-herramienta PDF multiTool.title=Multi-herramienta PDF
multiTool.header=Multi-herramienta PDF multiTool.header=Multi-herramienta PDF
multiTool.uploadPrompts=Nombre del archivo multiTool.uploadPrompts=Nombre del archivo
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Ver PDF viewPdf.title=Ver PDF
@@ -1123,7 +1148,7 @@ PDFToCSV.prompt=Elija una página para extraer la tabla
PDFToCSV.submit=Extraer PDFToCSV.submit=Extraer
#split-by-size-or-count #split-by-size-or-count
split-by-size-or-count.title=Split PDF by Size or Count split-by-size-or-count.title=Dividir PDF por tamaño o cantidad
split-by-size-or-count.header=Dividir PDF por tamaño o número split-by-size-or-count.header=Dividir PDF por tamaño o número
split-by-size-or-count.type.label=Seleccionar tipo de división split-by-size-or-count.type.label=Seleccionar tipo de división
split-by-size-or-count.type.size=Por tamaño split-by-size-or-count.type.size=Por tamaño
@@ -1181,8 +1206,8 @@ licenses.license=Licencia
survey.nav=Encuesta survey.nav=Encuesta
survey.title=Encuesta Stirling-PDF survey.title=Encuesta Stirling-PDF
survey.description=Stirling-PDF no tiene seguimiento, por lo que queremos escuchar a nuestros usuarios para mejorar Stirling-PDF. survey.description=Stirling-PDF no tiene seguimiento, por lo que queremos escuchar a nuestros usuarios para mejorar Stirling-PDF.
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF ha cambiado desde la última encuesta! Para obtener más información, revise nuestro artículo de blog aquí:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Con estos cambios estamos obteniendo apoyo y financiamiento empresarial
survey.please=¡Considere realizar nuestra encuesta! survey.please=¡Considere realizar nuestra encuesta!
survey.disabled=(La ventana emergente de la encuesta se desactivará en las siguientes actualizaciones, pero estará disponible al pie de la página.) survey.disabled=(La ventana emergente de la encuesta se desactivará en las siguientes actualizaciones, pero estará disponible al pie de la página.)
survey.button=Realizar encuesta survey.button=Realizar encuesta
@@ -1210,15 +1235,13 @@ removeImage.removeImage=Eliminar imagen
removeImage.submit=Eliminar imagen removeImage.submit=Eliminar imagen
splitByChapters.title=Split PDF by Chapters splitByChapters.title=Dividir PDF por Capítulos
splitByChapters.header=Split PDF by Chapters splitByChapters.header=Dividir PDF por Capítulos
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=Nivel de Marcador
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=Incluir Metadatos
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Permitir Duplicados
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=Esta herramienta divide un archivo PDF en múltiples archivos PDF según su estructura de capítulos.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Nivel de Marcador: Elige el nivel de marcadores para dividir (0 para el nivel superior, 1 para el segundo nivel, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Incluir Metadatos: Si está seleccionado, los metadatos del PDF original se incluirán en cada PDF dividido.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Permitir Duplicados: Si está seleccionado, permite que múltiples marcadores en la misma página creen archivos PDF separados.
splitByChapters.submit=Split PDF splitByChapters.submit=Dividir PDF

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Languages
navbar.settings=Ezarpenak navbar.settings=Ezarpenak
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.search=Search
navbar.sections.organize=Organize navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertFrom=Convert from PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Erakutsi sinadura
certSign.reason=Arrazoia certSign.reason=Arrazoia
certSign.location=Kokalekua certSign.location=Kokalekua
certSign.name=Izena certSign.name=Izena
certSign.showLogo=Show Logo
certSign.submit=Sinatu PDFa certSign.submit=Sinatu PDFa
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=1. dokumentua compare.document.1=1. dokumentua
compare.document.2=2. dokumentua compare.document.2=2. dokumentua
compare.submit=Konparatu compare.submit=Konparatu
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Books and Comics to PDF
@@ -804,6 +813,11 @@ sign.draw=Marraztu sinadura
sign.text=Testua sartzea sign.text=Testua sartzea
sign.clear=Garbitu sign.clear=Garbitu
sign.add=Gehitu sign.add=Gehitu
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
multiTool.title=PDF erabilera anitzeko tresna multiTool.title=PDF erabilera anitzeko tresna
multiTool.header=PDF erabilera anitzeko tresna multiTool.header=PDF erabilera anitzeko tresna
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=File Name
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=View PDF viewPdf.title=View PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -3,14 +3,14 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Taille de Police
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Nom de la Police
pdfPrompt=Sélectionnez le(s) PDF pdfPrompt=Sélectionnez le(s) PDF
multiPdfPrompt=Sélectionnez les PDF multiPdfPrompt=Sélectionnez les PDF
multiPdfDropPrompt=Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin multiPdfDropPrompt=Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin
imgPrompt=Choisir une image imgPrompt=Choisir une image
genericSubmit=Envoyer genericSubmit=Envoyer
processTimeWarning=Attention, ce processus peut prendre jusquà une minute en fonction de la taille du fichier. processTimeWarning=Attention, ce processus peut prendre jusqu'à une minute en fonction de la taille du fichier.
pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) : pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
pageSelectionPrompt=Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) : pageSelectionPrompt=Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
goToPage=Aller goToPage=Aller
@@ -23,7 +23,7 @@ close=Fermer
filesSelected=fichiers sélectionnés filesSelected=fichiers sélectionnés
noFavourites=Aucun favori ajouté noFavourites=Aucun favori ajouté
downloadComplete=Téléchargement terminé downloadComplete=Téléchargement terminé
bored=Marre dattendre ? bored=Marre d'attendre ?
alphabet=Alphabet alphabet=Alphabet
downloadPdf=Télécharger le PDF downloadPdf=Télécharger le PDF
text=Texte text=Texte
@@ -34,9 +34,9 @@ sizes.small=Petit
sizes.medium=Moyen sizes.medium=Moyen
sizes.large=Grand sizes.large=Grand
sizes.x-large=Très grand sizes.x-large=Très grand
error.pdfPassword=Le document PDF est protégé par un mot de passe qui na pas été fourni ou était incorrect error.pdfPassword=Le document PDF est protégé par un mot de passe qui n'a pas été fourni ou était incorrect
delete=Supprimer delete=Supprimer
username=Nom dutilisateur username=Nom d'utilisateur
password=Mot de passe password=Mot de passe
welcome=Bienvenue welcome=Bienvenue
property=Propriété property=Propriété
@@ -54,37 +54,40 @@ changedCredsMessage=Les identifiants ont été mis à jour !
notAuthenticatedMessage=Utilisateur non authentifié. notAuthenticatedMessage=Utilisateur non authentifié.
userNotFoundMessage=Utilisateur non trouvé. userNotFoundMessage=Utilisateur non trouvé.
incorrectPasswordMessage=Le mot de passe actuel est incorrect. incorrectPasswordMessage=Le mot de passe actuel est incorrect.
usernameExistsMessage=Le nouveau nom dutilisateur existe déjà. usernameExistsMessage=Le nouveau nom d'utilisateur existe déjà.
invalidUsernameMessage=Nom dutilisateur invalide, le nom dutilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide. invalidUsernameMessage=Nom d'utilisateur invalide, le nom d'utilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Le mot de passe ne peut pas être vide et ne doit pas contenir d'espaces au début ou en fin.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Nouveau Mot de passe et Confirmer le Nouveau Mot de passe doivent correspondre.
deleteCurrentUserMessage=Impossible de supprimer lutilisateur actuellement connecté. deleteCurrentUserMessage=Impossible de supprimer l'utilisateur actuellement connecté.
deleteUsernameExistsMessage=Le nom dutilisateur nexiste pas et ne peut pas être supprimé. deleteUsernameExistsMessage=Le nom d'utilisateur n'existe pas et ne peut pas être supprimé.
downgradeCurrentUserMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. downgradeCurrentUserMessage=Impossible de rétrograder le rôle de l'utilisateur actuel.
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=L'utilisateur actuel ne peut pas être désactivé
downgradeCurrentUserLongMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché. downgradeCurrentUserLongMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché.
userAlreadyExistsOAuthMessage=L'utilisateur existe déjà en tant qu'utilisateur OAuth2. userAlreadyExistsOAuthMessage=L'utilisateur existe déjà en tant qu'utilisateur OAuth2.
userAlreadyExistsWebMessage=L'utilisateur existe déjà en tant qu'utilisateur Web. userAlreadyExistsWebMessage=L'utilisateur existe déjà en tant qu'utilisateur Web.
error=Erreur error=Erreur
oops=Oups ! oops=Oups !
help=Aide help=Aide
goHomepage=Aller à la page daccueil goHomepage=Aller à la page d'accueil
joinDiscord=Rejoignez notre serveur Discord joinDiscord=Rejoignez notre serveur Discord
seeDockerHub=Consulter le Docker Hub seeDockerHub=Consulter le Docker Hub
visitGithub=Visiter le dépôt Github visitGithub=Visiter le dépôt Github
donate=Faire un don donate=Faire un don
color=Couleur color=Couleur
sponsor=Sponsor sponsor=Sponsoriser
info=Info info=Informations
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Chargement...
addToDoc=Ajouter au Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Politique de Confidentialité
legal.terms=Terms and Conditions legal.terms=Conditions Générales
legal.accessibility=Accessibility legal.accessibility=Accessibilité
legal.cookie=Cookie Policy legal.cookie=Politique des Cookies
legal.impressum=Impressum legal.impressum=Mentions Légales
############### ###############
# Pipeline # # Pipeline #
@@ -96,7 +99,7 @@ pipeline.defaultOption=Personnaliser
pipeline.submitButton=Soumettre pipeline.submitButton=Soumettre
pipeline.help=Aide Pipeline pipeline.help=Aide Pipeline
pipeline.scanHelp=Aide analyse de dossier pipeline.scanHelp=Aide analyse de dossier
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Êtes-vous sûr de vouloir supprimer le pipeline ?
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -107,28 +110,28 @@ pipelineOptions.saveSettings=Sauvegarder la configuration
pipelineOptions.pipelineNamePrompt=Entrez ici le nom du pipeline pipelineOptions.pipelineNamePrompt=Entrez ici le nom du pipeline
pipelineOptions.selectOperation=Sélectionner une opération pipelineOptions.selectOperation=Sélectionner une opération
pipelineOptions.addOperationButton=Ajouter une opération pipelineOptions.addOperationButton=Ajouter une opération
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Pipeline :
pipelineOptions.saveButton=Télécharger pipelineOptions.saveButton=Télécharger
pipelineOptions.validateButton=Valider pipelineOptions.validateButton=Valider
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Passer à Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Cette fonctionnalité est uniquement disponible pour les utilisateurs Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro prend en charge les fichiers de configuration YAML et d'autres fonctionnalités SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Vous cherchez plus de fonctionnalités de gestion des utilisateurs ? Découvrez Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Souhaitez-vous améliorer Stirling PDF ?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF utilise des analyses volontaires pour nous aider à améliorer le produit. Nous ne suivons aucune information personnelle ni le contenu des fichiers.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Veuillez envisager d'activer les analyses pour aider Stirling-PDF à se développer et pour nous permettre de mieux comprendre nos utilisateurs.
analytics.enable=Enable analytics analytics.enable=Activer les analyses
analytics.disable=Disable analytics analytics.disable=Désactiver les analyses
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Vous pouvez modifier les paramètres des analyses dans le fichier config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,6 +142,7 @@ navbar.language=Langues
navbar.settings=Paramètres navbar.settings=Paramètres
navbar.allTools=Outils navbar.allTools=Outils
navbar.multiTool=Outils Multiples navbar.multiTool=Outils Multiples
navbar.search=Search
navbar.sections.organize=Organisation navbar.sections.organize=Organisation
navbar.sections.convertTo=Convertir en PDF navbar.sections.convertTo=Convertir en PDF
navbar.sections.convertFrom=Convertir depuis PDF navbar.sections.convertFrom=Convertir depuis PDF
@@ -153,8 +157,8 @@ navbar.sections.popular=Populaire
settings.title=Paramètres settings.title=Paramètres
settings.update=Mise à jour disponible settings.update=Mise à jour disponible
settings.updateAvailable={0} est la version actuellement installée. Une nouvelle version ({1}) est disponible. settings.updateAvailable={0} est la version actuellement installée. Une nouvelle version ({1}) est disponible.
settings.appVersion=Version de lapplication : settings.appVersion=Version de l'application :
settings.downloadOption.title=Choisissez loption de téléchargement (pour les téléchargements à fichier unique non ZIP) : settings.downloadOption.title=Choisissez l'option de téléchargement (pour les téléchargements à fichier unique non ZIP) :
settings.downloadOption.1=Ouvrir dans la même fenêtre settings.downloadOption.1=Ouvrir dans la même fenêtre
settings.downloadOption.2=Ouvrir dans une nouvelle fenêtre settings.downloadOption.2=Ouvrir dans une nouvelle fenêtre
settings.downloadOption.3=Télécharger le fichier settings.downloadOption.3=Télécharger le fichier
@@ -168,7 +172,7 @@ settings.cacheInputs.help=Permet de stocker les entrées précédemment utilisé
changeCreds.title=Modifiez vos identifiants changeCreds.title=Modifiez vos identifiants
changeCreds.header=Mettez à jour vos identifiants de connexion changeCreds.header=Mettez à jour vos identifiants de connexion
changeCreds.changePassword=Vous utilisez les identifiants de connexion par défaut. Veuillez saisir un nouveau mot de passe changeCreds.changePassword=Vous utilisez les identifiants de connexion par défaut. Veuillez saisir un nouveau mot de passe
changeCreds.newUsername=Nouveau nom dutilisateur changeCreds.newUsername=Nouveau nom d'utilisateur
changeCreds.oldPassword=Mot de passe actuel changeCreds.oldPassword=Mot de passe actuel
changeCreds.newPassword=Nouveau mot de passe changeCreds.newPassword=Nouveau mot de passe
changeCreds.confirmNewPassword=Confirmer le nouveau mot de passe changeCreds.confirmNewPassword=Confirmer le nouveau mot de passe
@@ -178,10 +182,10 @@ changeCreds.submit=Soumettre les modifications
account.title=Paramètres du compte account.title=Paramètres du compte
account.accountSettings=Paramètres du compte account.accountSettings=Paramètres du compte
account.adminSettings=Paramètres dadministration Voir et ajouter des utilisateurs account.adminSettings=Paramètres d'administration Voir et ajouter des utilisateurs
account.userControlSettings=Contrôle des paramètres des utilisateurs account.userControlSettings=Contrôle des paramètres des utilisateurs
account.changeUsername=Modifier le nom dutilisateur account.changeUsername=Modifier le nom d'utilisateur
account.newUsername=Nouveau nom dutilisateur account.newUsername=Nouveau nom d'utilisateur
account.password=Mot de passe de confirmation account.password=Mot de passe de confirmation
account.oldPassword=Ancien mot de passe account.oldPassword=Ancien mot de passe
account.newPassword=Nouveau mot de passe account.newPassword=Nouveau mot de passe
@@ -210,11 +214,11 @@ adminUserSettings.roles=Rôles
adminUserSettings.role=Rôle adminUserSettings.role=Rôle
adminUserSettings.actions=Actions adminUserSettings.actions=Actions
adminUserSettings.apiUser=Utilisateur API limité adminUserSettings.apiUser=Utilisateur API limité
adminUserSettings.extraApiUser=Utilisateur limité supplémentaire de lAPI adminUserSettings.extraApiUser=Utilisateur limité supplémentaire de l'API
adminUserSettings.webOnlyUser=Utilisateur Web uniquement adminUserSettings.webOnlyUser=Utilisateur Web uniquement
adminUserSettings.demoUser=Demo User (Paramètres par défaut) adminUserSettings.demoUser=Demo User (Paramètres par défaut)
adminUserSettings.internalApiUser=Utilisateur de l'API interne adminUserSettings.internalApiUser=Utilisateur de l'API interne
adminUserSettings.forceChange=Forcer lutilisateur à changer son nom dutilisateur/mot de passe lors de la connexion adminUserSettings.forceChange=Forcer l'utilisateur à changer son nom d'utilisateur/mot de passe lors de la connexion
adminUserSettings.submit=Ajouter adminUserSettings.submit=Ajouter
adminUserSettings.changeUserRole=Changer le rôle de l'utilisateur adminUserSettings.changeUserRole=Changer le rôle de l'utilisateur
adminUserSettings.authenticated=Authentifié adminUserSettings.authenticated=Authentifié
@@ -227,23 +231,24 @@ adminUserSettings.totalUsers=Utilisateurs au total :
adminUserSettings.lastRequest=Dernière requête adminUserSettings.lastRequest=Dernière requête
database.title=Database Import/Export database.title=Import/Export de la Base de Données
database.header=Database Import/Export database.header=Import/Export de la Base de Données
database.fileName=File Name database.fileName=Nom du Fichier
database.creationDate=Creation Date database.creationDate=Date de Création
database.fileSize=File Size database.fileSize=Taille du Fichier
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Supprimer le fichier de sauvegarde
database.importBackupFile=Import Backup File database.importBackupFile=Importer le fichier de sauvegarde
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Télécharger le fichier de sauvegarde
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Lors de l'importation des données, il est crucial de garantir la structure correcte. Si vous n'êtes pas sûr de ce que vous faites, sollicitez un avis et un soutien d'un professionnel. Une erreur dans la structure peut entraîner des dysfonctionnements de l'application, allant jusqu'à l'incapacité totale d'exécuter l'application.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Le nom du fichier ne fait pas de différence lors de l'upload. Il sera renommé ultérieurement selon le format backup_user_yyyyMMddHHmm.sql, assurant ainsi une convention de nommage cohérente.
database.submit=Import Backup database.submit=Importer la sauvegarde
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Importation dans la base de données réussie
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Fichier ne peut pas être null ou vide
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Votre session a expiré. Veuillez recharger la page et réessayer. session.expired=Votre session a expiré. Veuillez recharger la page et réessayer.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -282,7 +287,7 @@ home.pdfToImage.desc=Convertissez un PDF en image (PNG, JPEG, GIF).
pdfToImage.tags=conversion,img,jpg,image,photo pdfToImage.tags=conversion,img,jpg,image,photo
home.pdfOrganiser.title=Organiser home.pdfOrganiser.title=Organiser
home.pdfOrganiser.desc=Supprimez ou réorganisez les pages dans nimporte quel ordre. home.pdfOrganiser.desc=Supprimez ou réorganisez les pages dans n'importe quel ordre.
pdfOrganiser.tags=organiser,recto-verso,duplex,even,odd,sort,move pdfOrganiser.tags=organiser,recto-verso,duplex,even,odd,sort,move
@@ -292,7 +297,7 @@ addImage.tags=img,jpg,image,photo
home.watermark.title=Ajouter un filigrane home.watermark.title=Ajouter un filigrane
home.watermark.desc=Ajoutez un filigrane personnalisé à votre PDF. home.watermark.desc=Ajoutez un filigrane personnalisé à votre PDF.
watermark.tags=texte,filigrane,label,propriété,droit dauteur,marque déposée,img,jpg,image,photo,copyright,trademark watermark.tags=texte,filigrane,label,propriété,droit d'auteur,marque déposée,img,jpg,image,photo,copyright,trademark
home.permissions.title=Modifier les permissions home.permissions.title=Modifier les permissions
home.permissions.desc=Modifiez les permissions de votre PDF. home.permissions.desc=Modifiez les permissions de votre PDF.
@@ -321,16 +326,16 @@ home.changeMetadata.desc=Modifiez, supprimez ou ajoutez des métadonnées à un
changeMetadata.tags=métadonnées,titre,auteur,date,création,heure,éditeur,statistiques,title,author,date,creation,time,publisher,producer,stats,metadata changeMetadata.tags=métadonnées,titre,auteur,date,création,heure,éditeur,statistiques,title,author,date,creation,time,publisher,producer,stats,metadata
home.fileToPDF.title=Fichier en PDF home.fileToPDF.title=Fichier en PDF
home.fileToPDF.desc=Convertissez presque nimporte quel fichier en PDF (DOCX, PNG, XLS, PPT, TXT, etc.). home.fileToPDF.desc=Convertissez presque n'importe quel fichier en PDF (DOCX, PNG, XLS, PPT, TXT, etc.).
fileToPDF.tags=convertion,transformation,format,document,image,slide,texte,conversion,office,docs,word,excel,powerpoint fileToPDF.tags=convertion,transformation,format,document,image,slide,texte,conversion,office,docs,word,excel,powerpoint
home.ocr.title=OCR / Nettoyage des numérisations home.ocr.title=OCR / Nettoyage des numérisations
home.ocr.desc=Utilisez lOCR pour analyser et détecter le texte des images dun PDF et le rajouter en tant que tel. home.ocr.desc=Utilisez l'OCR pour analyser et détecter le texte des images d'un PDF et le rajouter en tant que tel.
ocr.tags=ocr,reconnaissance,texte,image,numérisation,scan,read,identify,detection,editable ocr.tags=ocr,reconnaissance,texte,image,numérisation,scan,read,identify,detection,editable
home.extractImages.title=Extraire les images home.extractImages.title=Extraire les images
home.extractImages.desc=Extrayez toutes les images dun PDF et enregistrez-les dans un ZIP. home.extractImages.desc=Extrayez toutes les images d'un PDF et enregistrez-les dans un ZIP.
extractImages.tags=image,photo,save,archive,zip,capture,grab extractImages.tags=image,photo,save,archive,zip,capture,grab
home.pdfToPDFA.title=PDF en PDF/A home.pdfToPDFA.title=PDF en PDF/A
@@ -339,7 +344,7 @@ pdfToPDFA.tags=convertion,archive,long-term,standard,conversion,storage,préserv
home.PDFToWord.title=PDF en Word home.PDFToWord.title=PDF en Word
home.PDFToWord.desc=Convertissez un PDF en Word (DOC, DOCX et ODT). home.PDFToWord.desc=Convertissez un PDF en Word (DOC, DOCX et ODT).
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile PDFToWord.tags=doc, docx, odt, word, transformation, format, conversion, office, microsoft, docfile
home.PDFToPresentation.title=PDF en formats de présentation home.PDFToPresentation.title=PDF en formats de présentation
home.PDFToPresentation.desc=Convertissez un PDF en format de présentation (PPT, PPTX et ODP). home.PDFToPresentation.desc=Convertissez un PDF en format de présentation (PPT, PPTX et ODP).
@@ -347,7 +352,7 @@ PDFToPresentation.tags=présentation,slides,show,office,microsoft
home.PDFToText.title=PDF en RTF (texte) home.PDFToText.title=PDF en RTF (texte)
home.PDFToText.desc=Convertissez un PDF au format RTF (texte). home.PDFToText.desc=Convertissez un PDF au format RTF (texte).
PDFToText.tags=richformat,richtextformat,rich text format PDFToText.tags=format riche, format de texte riche, format de texte enrichi
home.PDFToHTML.title=PDF en HTML home.PDFToHTML.title=PDF en HTML
home.PDFToHTML.desc=Convertissez un PDF au format HTML. home.PDFToHTML.desc=Convertissez un PDF au format HTML.
@@ -359,7 +364,7 @@ home.PDFToXML.desc=Convertissez un PDF au format XML.
PDFToXML.tags=xml,extraction de données,contenu structuré,interopérabilité,data-extraction,structured-content,interop,transformation,convert PDFToXML.tags=xml,extraction de données,contenu structuré,interopérabilité,data-extraction,structured-content,interop,transformation,convert
home.ScannerImageSplit.title=Diviser les photos numérisées home.ScannerImageSplit.title=Diviser les photos numérisées
home.ScannerImageSplit.desc=Divisez plusieurs photos à partir dune photo ou dun PDF. home.ScannerImageSplit.desc=Divisez plusieurs photos à partir d'une photo ou d'un PDF.
ScannerImageSplit.tags=diviser,détecter automatiquement,numériser,separate,auto-detect,scans,multi-photo,organize ScannerImageSplit.tags=diviser,détecter automatiquement,numériser,separate,auto-detect,scans,multi-photo,organize
home.sign.title=Signer home.sign.title=Signer
@@ -367,7 +372,7 @@ home.sign.desc=Ajoutez une signature au PDF avec un dessin, du texte ou une imag
sign.tags=signer,authorize,initials,drawn-signature,text-sign,image-signature sign.tags=signer,authorize,initials,drawn-signature,text-sign,image-signature
home.flatten.title=Rendre inerte home.flatten.title=Rendre inerte
home.flatten.desc=Supprimez tous les éléments et formulaires interactifs dun PDF. home.flatten.desc=Supprimez tous les éléments et formulaires interactifs d'un PDF.
flatten.tags=inerte,static,deactivate,non-interactive,streamline flatten.tags=inerte,static,deactivate,non-interactive,streamline
home.repair.title=Réparer home.repair.title=Réparer
@@ -375,11 +380,11 @@ home.repair.desc=Essayez de réparer un PDF corrompu ou cassé.
repair.tags=réparer,restaurer,corriger,récupérer,fix,restore,correction,recover repair.tags=réparer,restaurer,corriger,récupérer,fix,restore,correction,recover
home.removeBlanks.title=Supprimer les pages vierges home.removeBlanks.title=Supprimer les pages vierges
home.removeBlanks.desc=Détectez et supprimez les pages vierges dun PDF. home.removeBlanks.desc=Détectez et supprimez les pages vierges d'un PDF.
removeBlanks.tags=pages vierges,supprimer,nettoyer,cleanup,streamline,non-content,organize removeBlanks.tags=pages vierges,supprimer,nettoyer,cleanup,streamline,non-content,organize
home.removeAnnotations.title=Supprimer les annotations home.removeAnnotations.title=Supprimer les annotations
home.removeAnnotations.desc=Supprimer tous les commentaires/annotations dun PDF. home.removeAnnotations.desc=Supprimer tous les commentaires/annotations d'un PDF.
removeAnnotations.tags=commentaires,supprimer,annotations,highlight,notes,markup,remove removeAnnotations.tags=commentaires,supprimer,annotations,highlight,notes,markup,remove
home.compare.title=Comparer home.compare.title=Comparer
@@ -395,11 +400,11 @@ home.removeCertSign.desc=Supprimez la signature par certificat d'un PDF
removeCertSign.tags=signer,chiffrer,certificat,authenticate,PEM,P12,official,decrypt removeCertSign.tags=signer,chiffrer,certificat,authenticate,PEM,P12,official,decrypt
home.pageLayout.title=Fusionner des pages home.pageLayout.title=Fusionner des pages
home.pageLayout.desc=Fusionnez plusieurs pages dun PDF en une seule. home.pageLayout.desc=Fusionnez plusieurs pages d'un PDF en une seule.
pageLayout.tags=fusionner,merge,composite,single-view,organize pageLayout.tags=fusionner,merge,composite,single-view,organize
home.scalePages.title=Ajuster léchelle ou la taille home.scalePages.title=Ajuster l'échelle ou la taille
home.scalePages.desc=Modifiez la taille ou léchelle dune page et/ou de son contenu. home.scalePages.desc=Modifiez la taille ou l'échelle d'une page et/ou de son contenu.
scalePages.tags=ajuster,redimensionner,resize,modify,dimension,adapt scalePages.tags=ajuster,redimensionner,resize,modify,dimension,adapt
home.pipeline.title=Pipeline home.pipeline.title=Pipeline
@@ -415,7 +420,7 @@ home.auto-rename.desc=Renommez automatiquement un fichier PDF en fonction de son
auto-rename.tags=renommer,détection automatique,réétiqueter,auto-detect,header-based,organize,relabel auto-rename.tags=renommer,détection automatique,réétiqueter,auto-detect,header-based,organize,relabel
home.adjust-contrast.title=Ajuster les couleurs home.adjust-contrast.title=Ajuster les couleurs
home.adjust-contrast.desc=Ajustez le contraste, la saturation et la luminosité dun PDF. home.adjust-contrast.desc=Ajustez le contraste, la saturation et la luminosité d'un PDF.
adjust-contrast.tags=ajuster,couleurs,amélioration,color-correction,tune,modify,enhance adjust-contrast.tags=ajuster,couleurs,amélioration,color-correction,tune,modify,enhance
home.crop.title=Redimensionner home.crop.title=Redimensionner
@@ -431,16 +436,16 @@ home.sanitizePdf.desc=Supprimez les scripts et autres éléments des PDF.
sanitizePdf.tags=assainir,sécurisé,clean,secure,safe,remove-threats sanitizePdf.tags=assainir,sécurisé,clean,secure,safe,remove-threats
home.URLToPDF.title=URL en PDF home.URLToPDF.title=URL en PDF
home.URLToPDF.desc=Convertissez nimporte quelle URL http(s) en PDF. home.URLToPDF.desc=Convertissez n'importe quelle URL http(s) en PDF.
URLToPDF.tags=pdf,contenu Web,save-page,web-to-doc,archive URLToPDF.tags=pdf,contenu Web,save-page,web-to-doc,archive
home.HTMLToPDF.title=HTML en PDF home.HTMLToPDF.title=HTML en PDF
home.HTMLToPDF.desc=Convertissez nimporte quel fichier HTML ou ZIP en PDF. home.HTMLToPDF.desc=Convertissez n'importe quel fichier HTML ou ZIP en PDF.
HTMLToPDF.tags=html,markup,contenu Web,transformation,convert HTMLToPDF.tags=html,markup,contenu Web,transformation,convert
home.MarkdownToPDF.title=Markdown en PDF home.MarkdownToPDF.title=Markdown en PDF
home.MarkdownToPDF.desc=Convertissez nimporte quel fichier Markdown en PDF. home.MarkdownToPDF.desc=Convertissez n'importe quel fichier Markdown en PDF.
MarkdownToPDF.tags=markdown,markup,contenu Web,transformation,convert MarkdownToPDF.tags=markdown,markup,contenu Web,transformation,convert
@@ -464,29 +469,29 @@ home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF.
showJS.tags=JS showJS.tags=JS
home.autoRedact.title=Caviarder automatiquement home.autoRedact.title=Caviarder automatiquement
home.autoRedact.desc=Caviardez automatiquement les informations sensibles dun PDF. home.autoRedact.desc=Caviardez automatiquement les informations sensibles d'un PDF.
autoRedact.tags=caviarder,redact,auto autoRedact.tags=caviarder,redact,auto
home.tableExtraxt.title=PDF en CSV home.tableExtraxt.title=PDF en CSV
home.tableExtraxt.desc=Extrait les tableaux dun PDF et les transforme en CSV. home.tableExtraxt.desc=Extrait les tableaux d'un PDF et les transforme en CSV.
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV, Extraction de table, extraction, conversion
home.autoSizeSplitPDF.title=Séparer automatiquement par taille/nombre home.autoSizeSplitPDF.title=Séparer automatiquement par taille/nombre
home.autoSizeSplitPDF.desc=Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents. home.autoSizeSplitPDF.desc=Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents.
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf, découpage, document, organisation
home.overlay-pdfs.title=Incrustation de PDF home.overlay-pdfs.title=Incrustation de PDF
home.overlay-pdfs.desc=Incrustation dun PDF sur un autre PDF. home.overlay-pdfs.desc=Incrustation d'un PDF sur un autre PDF.
overlay-pdfs.tags=Overlay,incrustation overlay-pdfs.tags=Overlay,incrustation
home.split-by-sections.title=Séparer un PDF en sections home.split-by-sections.title=Séparer un PDF en sections
home.split-by-sections.desc=Diviser chaque page dun PDF en sections horizontales/verticales plus petites. home.split-by-sections.desc=Diviser chaque page d'un PDF en sections horizontales/verticales plus petites.
split-by-sections.tags=Sections,Diviser,Section Split, Divide, Customize split-by-sections.tags=Sections,Diviser,Section Split, Divide, Customize
home.AddStampRequest.title=Ajouter un tampon sur un PDF home.AddStampRequest.title=Ajouter un tampon sur un PDF
home.AddStampRequest.desc=Ajouter un texte ou limage dun tampon à un emplacement défini. home.AddStampRequest.desc=Ajouter un texte ou l'image d'un tampon à un emplacement défini.
AddStampRequest.tags=Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize AddStampRequest.tags=Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize
@@ -508,23 +513,23 @@ home.splitPdfByChapters.desc=Séparez un PDF en fichiers multiples en fonction d
splitPdfByChapters.tags=séparer,chapitres,split,chapters,bookmarks,organize splitPdfByChapters.tags=séparer,chapitres,split,chapters,bookmarks,organize
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Remplacer-Inverser-Couleur
replace-color.header=Replace-Invert Color PDF replace-color.header=Remplacer-Inverser Couleur PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Remplacer et Inverser Couleur
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Remplacer la couleur pour le texte et l'arrière-plan dans le PDF et inverser la couleur complète du PDF pour réduire la taille du fichier
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Remplacer Couleur,Opérations de Page,Back-end,Côté serveur
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Options de Remplacement ou d'Inversion de Couleur
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Par défaut (Couleurs à fort contraste par défaut)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Personnalisé (Couleurs personnalisées)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Inversion complète (Inverser toutes les couleurs)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Options de couleur à fort contraste
replace-color.selectText.6=white text on black background replace-color.selectText.6=Texte blanc sur fond noir
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Texte noir sur fond blanc
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Texte jaune sur fond noir
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Texte vert sur fond noir
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Choisir la couleur du texte
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Choisir la couleur de l'arrière-plan
replace-color.submit=Replace replace-color.submit=Remplacer
@@ -538,22 +543,22 @@ login.title=Connexion
login.header=Connexion login.header=Connexion
login.signin=Connexion login.signin=Connexion
login.rememberme=Se souvenir de moi login.rememberme=Se souvenir de moi
login.invalid=Nom dutilisateur ou mot de passe invalide. login.invalid=Nom d'utilisateur ou mot de passe invalide.
login.locked=Votre compte a été verrouillé. login.locked=Votre compte a été verrouillé.
login.signinTitle=Veuillez vous connecter login.signinTitle=Veuillez vous connecter
login.ssoSignIn=Se connecter via l'authentification unique login.ssoSignIn=Se connecter via l'authentification unique
login.oauth2AutoCreateDisabled=OAUTH2 Création automatique d'utilisateur désactivée login.oauth2AutoCreateDisabled=OAUTH2 Création automatique d'utilisateur désactivée
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=La création ou l'authentification d'utilisateurs non enregistrés est actuellement bloquée. Veuillez contacter l'administrateur.
login.oauth2RequestNotFound=Demande d'autorisation introuvable login.oauth2RequestNotFound=Demande d'autorisation introuvable
login.oauth2InvalidUserInfoResponse=Réponse contenant les informations de l'utilisateur est invalide login.oauth2InvalidUserInfoResponse=Réponse contenant les informations de l'utilisateur est invalide
login.oauth2invalidRequest=Requête invalide login.oauth2invalidRequest=Requête invalide
login.oauth2AccessDenied=Accès refusé login.oauth2AccessDenied=Accès refusé
login.oauth2InvalidTokenResponse=Réponse contenant le jeton est invalide login.oauth2InvalidTokenResponse=Réponse contenant le jeton est invalide
login.oauth2InvalidIdToken=Jeton d'identification invalide login.oauth2InvalidIdToken=Jeton d'identification invalide
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=L'utilisateur est désactivé, la connexion est actuellement bloquée avec ce nom d'utilisateur. Veuillez contacter l'administrateur.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Vous êtes déjà connecté sur
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=appareils. Veuillez vous déconnecter des appareils et réessayer.
login.toManySessions=You have too many active sessions login.toManySessions=Vous avez trop de sessions actives.
#auto-redact #auto-redact
autoRedact.title=Caviarder automatiquement autoRedact.title=Caviarder automatiquement
@@ -585,7 +590,7 @@ pdfToSinglePage.submit=Convertir en une seule page
pageExtracter.title=Extraire des pages pageExtracter.title=Extraire des pages
pageExtracter.header=Extraire des pages pageExtracter.header=Extraire des pages
pageExtracter.submit=Extraire pageExtracter.submit=Extraire
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(par exemple : 1,2,8 ou 4,7,12-16 ou 2n-1)
#getPdfInfo #getPdfInfo
@@ -617,15 +622,15 @@ HTMLToPDF.header=HTML en PDF
HTMLToPDF.help=Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis). HTMLToPDF.help=Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis).
HTMLToPDF.submit=Convertir HTMLToPDF.submit=Convertir
HTMLToPDF.credit=Utilise WeasyPrint. HTMLToPDF.credit=Utilise WeasyPrint.
HTMLToPDF.zoom=Niveau de zoom pour laffichage du site web. HTMLToPDF.zoom=Niveau de zoom pour l'affichage du site web.
HTMLToPDF.pageWidth=Largeur de la page en centimètres. (Vide par défaut) HTMLToPDF.pageWidth=Largeur de la page en centimètres. (Vide par défaut)
HTMLToPDF.pageHeight=Hauteur de la page en centimètres. (Vide par défaut) HTMLToPDF.pageHeight=Hauteur de la page en centimètres. (Vide par défaut)
HTMLToPDF.marginTop=Marge supérieure de la page en millimètres. (Vide par défaut) HTMLToPDF.marginTop=Marge supérieure de la page en millimètres. (Vide par défaut)
HTMLToPDF.marginBottom=Marge inférieure de la page en millimètres. (Vide par défaut) HTMLToPDF.marginBottom=Marge inférieure de la page en millimètres. (Vide par défaut)
HTMLToPDF.marginLeft=Marge gauche de la page en millimètres. (Vide par défaut) HTMLToPDF.marginLeft=Marge gauche de la page en millimètres. (Vide par défaut)
HTMLToPDF.marginRight=Marge droite de la page en millimètres. (Vide par défaut) HTMLToPDF.marginRight=Marge droite de la page en millimètres. (Vide par défaut)
HTMLToPDF.printBackground=Restituer limage de fond des sites web. HTMLToPDF.printBackground=Restituer l'image de fond des sites web.
HTMLToPDF.defaultHeader=Activer lentête par défaut (Nom et numéro de page) HTMLToPDF.defaultHeader=Activer l'entête par défaut (Nom et numéro de page)
HTMLToPDF.cssMediaType=Modifier le type de média CSS de la page. HTMLToPDF.cssMediaType=Modifier le type de média CSS de la page.
HTMLToPDF.none=Aucun HTMLToPDF.none=Aucun
HTMLToPDF.print=Imprimer HTMLToPDF.print=Imprimer
@@ -703,7 +708,7 @@ autoSplitPDF.header=Séparer automatiquement les pages
autoSplitPDF.description=Imprimez, insérez, numérisez, téléchargez et laissez-nous séparer automatiquement vos documents. Aucun travail de tri manuel nécessaire. autoSplitPDF.description=Imprimez, insérez, numérisez, téléchargez et laissez-nous séparer automatiquement vos documents. Aucun travail de tri manuel nécessaire.
autoSplitPDF.selectText.1=Imprimez des feuilles de séparation ci-dessous (le mode noir et blanc convient). autoSplitPDF.selectText.1=Imprimez des feuilles de séparation ci-dessous (le mode noir et blanc convient).
autoSplitPDF.selectText.2=Numérisez tous vos documents en une seule fois en insérant les feuilles intercalaires entre eux. autoSplitPDF.selectText.2=Numérisez tous vos documents en une seule fois en insérant les feuilles intercalaires entre eux.
autoSplitPDF.selectText.3=Téléchargez le fichier PDF numérisé et laissez Stirling PDF soccuper du reste. autoSplitPDF.selectText.3=Téléchargez le fichier PDF numérisé et laissez Stirling PDF s'occuper du reste.
autoSplitPDF.selectText.4=Les feuilles de séparation sont automatiquement détectées et supprimées, garantissant un document final soigné. autoSplitPDF.selectText.4=Les feuilles de séparation sont automatiquement détectées et supprimées, garantissant un document final soigné.
autoSplitPDF.formPrompt=PDF contenant des feuilles de séparation de Stirling PDF : autoSplitPDF.formPrompt=PDF contenant des feuilles de séparation de Stirling PDF :
autoSplitPDF.duplexMode=Mode recto-verso autoSplitPDF.duplexMode=Mode recto-verso
@@ -725,11 +730,11 @@ pageLayout.submit=Fusionner
#scalePages #scalePages
scalePages.title=Ajuster la taille ou léchelle scalePages.title=Ajuster la taille ou l'échelle
scalePages.header=Ajuster la taille ou léchelle scalePages.header=Ajuster la taille ou l'échelle
scalePages.pageSize=Taille dune page du document scalePages.pageSize=Taille d'une page du document
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Taille d'origine
scalePages.scaleFactor=Niveau de zoom (recadrage) dune page scalePages.scaleFactor=Niveau de zoom (recadrage) d'une page
scalePages.submit=Ajuster scalePages.submit=Ajuster
@@ -737,10 +742,10 @@ scalePages.submit=Ajuster
certSign.title=Signer avec un certificat certSign.title=Signer avec un certificat
certSign.header=Signer avec un certificat (Travail en cours) certSign.header=Signer avec un certificat (Travail en cours)
certSign.selectPDF=PDF à signer certSign.selectPDF=PDF à signer
certSign.jksNote=Note: Si votre type de certificat nest pas listé ci-dessous, merci de le convertir en fichier Java Keystore (.jks) en utilisant loutil en ligne de commande keytool. Puis choisissez loption Fichier .jks ci-dessous. certSign.jksNote=Note: Si votre type de certificat n'est pas listé ci-dessous, merci de le convertir en fichier Java Keystore (.jks) en utilisant l'outil en ligne de commande keytool. Puis choisissez l'option Fichier .jks ci-dessous.
certSign.selectKey=Fichier de clé privée (format PKCS#8, peut être .pem ou .der) certSign.selectKey=Fichier de clé privée (format PKCS#8, peut être .pem ou .der)
certSign.selectCert=Fichier de certificat (format X.509, peut être .pem ou .der) certSign.selectCert=Fichier de certificat (format X.509, peut être .pem ou .der)
certSign.selectP12=Fichier keystore de clés PKCS#12 (.p12 ou .pfx) (facultatif, sil nest fourni, il doit contenir votre clé privée et votre certificat) certSign.selectP12=Fichier keystore de clés PKCS#12 (.p12 ou .pfx) (facultatif, s'il n'est fourni, il doit contenir votre clé privée et votre certificat)
certSign.selectJKS=Sélectionner votre fichier Java Keystore File (.jks or .keystore): certSign.selectJKS=Sélectionner votre fichier Java Keystore File (.jks or .keystore):
certSign.certType=Type de certificat certSign.certType=Type de certificat
certSign.password=Mot de passe keystore ou clé privée le cas échéant certSign.password=Mot de passe keystore ou clé privée le cas échéant
@@ -748,14 +753,15 @@ certSign.showSig=Afficher la signature
certSign.reason=Raison certSign.reason=Raison
certSign.location=Emplacement certSign.location=Emplacement
certSign.name=Nom certSign.name=Nom
certSign.showLogo=Afficher le logo
certSign.submit=Signer certSign.submit=Signer
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Supprimer la Signature de Certificat
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Supprimer le certificat numérique du PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Sélectionnez un fichier PDF :
removeCertSign.submit=Remove Signature removeCertSign.submit=Supprimer la Signature
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=Supprimer
#compare #compare
compare.title=Comparer compare.title=Comparer
compare.header=Comparer compare.header=Comparer
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Couleur de mise en évidence 1 :
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Couleur de mise en évidence 2 :
compare.document.1=Document 1 compare.document.1=Document 1
compare.document.2=Document 2 compare.document.2=Document 2
compare.submit=Comparer compare.submit=Comparer
compare.complex.message=Un ou les deux documents fournis sont des fichiers volumineux, l'exactitude de la comparaison peut être réduite
compare.large.file.message=Un ou les deux documents fournis sont trop volumineux pour être traités
compare.no.text.message=L'un ou les deux documents PDF sélectionnés ne contiennent aucun contenu textuel. Veuillez choisir des documents PDF avec du texte pour la comparaison.
#BookToPDF #BookToPDF
BookToPDF.title=Livres et BD vers PDF BookToPDF.title=Livres et BD vers PDF
@@ -804,6 +813,11 @@ sign.draw=Dessiner une signature
sign.text=Saisir de texte sign.text=Saisir de texte
sign.clear=Effacer sign.clear=Effacer
sign.add=Ajouter sign.add=Ajouter
sign.saved=Saved Signatures
sign.save=Enregistrer le sceau
sign.personalSigs=Sceaux personnels
sign.sharedSigs=Sceaux partagés
sign.noSavedSigs=Aucun sceau enregistré trouvé
#repair #repair
@@ -821,16 +835,16 @@ flatten.submit=Rendre inerte
#ScannerImageSplit #ScannerImageSplit
ScannerImageSplit.selectText.1=Seuil de rotation ScannerImageSplit.selectText.1=Seuil de rotation
ScannerImageSplit.selectText.2=Définit langle absolu minimum requis pour la rotation de limage (par défaut : 10). ScannerImageSplit.selectText.2=Définit l'angle absolu minimum requis pour la rotation de l'image (par défaut : 10).
ScannerImageSplit.selectText.3=Tolérance ScannerImageSplit.selectText.3=Tolérance
ScannerImageSplit.selectText.4=Détermine la plage de variation de couleur autour de la couleur darrière-plan estimée (par défaut : 20). ScannerImageSplit.selectText.4=Détermine la plage de variation de couleur autour de la couleur d'arrière-plan estimée (par défaut : 20).
ScannerImageSplit.selectText.5=Surface minimale ScannerImageSplit.selectText.5=Surface minimale
ScannerImageSplit.selectText.6=Définit la surface minimale pour une photo (par défaut : 8000). ScannerImageSplit.selectText.6=Définit la surface minimale pour une photo (par défaut : 8000).
ScannerImageSplit.selectText.7=Surface de contour minimale ScannerImageSplit.selectText.7=Surface de contour minimale
ScannerImageSplit.selectText.8=Définit la surface de contour minimale pour une photo (par défaut : 500). ScannerImageSplit.selectText.8=Définit la surface de contour minimale pour une photo (par défaut : 500).
ScannerImageSplit.selectText.9=Taille de la bordure ScannerImageSplit.selectText.9=Taille de la bordure
ScannerImageSplit.selectText.10=Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut : 1). ScannerImageSplit.selectText.10=Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut : 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python n'est pas installé. Il est nécessaire pour le fonctionnement.
#OCR #OCR
@@ -839,25 +853,25 @@ ocr.header=OCR (Reconnaissance optique de caractères) / Nettoyage des numérisa
ocr.selectText.1=Langues à détecter dans le PDF (celles listées sont celles actuellement détectées) ocr.selectText.1=Langues à détecter dans le PDF (celles listées sont celles actuellement détectées)
ocr.selectText.2=Produire un fichier texte contenant le texte détecté à côté du PDF ocr.selectText.2=Produire un fichier texte contenant le texte détecté à côté du PDF
ocr.selectText.3=Corriger les pages qui ont été numérisées à un angle oblique en les remettant en place ocr.selectText.3=Corriger les pages qui ont été numérisées à un angle oblique en les remettant en place
ocr.selectText.4=Nettoyer la page afin quil soit moins probable que lOCR trouve du texte dans le bruit de fond, sans modifier la sortie ocr.selectText.4=Nettoyer la page afin qu'il soit moins probable que l'OCR trouve du texte dans le bruit de fond, sans modifier la sortie
ocr.selectText.5=Nettoyer la page afin quil soit moins probable que lOCR trouve du texte dans le bruit de fond, en modifiant la sortie ocr.selectText.5=Nettoyer la page afin qu'il soit moins probable que l'OCR trouve du texte dans le bruit de fond, en modifiant la sortie
ocr.selectText.6=Ignorer les pages contenant du texte interactif, nanalyser que les pages qui sont des images ocr.selectText.6=Ignorer les pages contenant du texte interactif, n'analyser que les pages qui sont des images
ocr.selectText.7=Forcer lOCR, analyser chaque page et supprimer tous les éléments de texte dorigine ocr.selectText.7=Forcer l'OCR, analyser chaque page et supprimer tous les éléments de texte d'origine
ocr.selectText.8=Normal (génère une erreur si le PDF contient du texte) ocr.selectText.8=Normal (génère une erreur si le PDF contient du texte)
ocr.selectText.9=Paramètres additionnels ocr.selectText.9=Paramètres additionnels
ocr.selectText.10=Mode OCR ocr.selectText.10=Mode OCR
ocr.selectText.11=Supprimer les images après lOCR (Supprime TOUTES les images, utile uniquement si elles font partie de létape de conversion) ocr.selectText.11=Supprimer les images après l'OCR (Supprime TOUTES les images, utile uniquement si elles font partie de l'étape de conversion)
ocr.selectText.12=Type de rendu (avancé) ocr.selectText.12=Type de rendu (avancé)
ocr.help=Veuillez lire cette documentation pour savoir comment utiliser lOCR pour dautres langues ou une utilisation hors Docker : ocr.help=Veuillez lire cette documentation pour savoir comment utiliser l'OCR pour d'autres langues ou une utilisation hors Docker :
ocr.credit=Ce service utilise OCRmyPDF et Tesseract pour lOCR. ocr.credit=Ce service utilise OCRmyPDF et Tesseract pour l'OCR.
ocr.submit=Traiter ocr.submit=Traiter
#extractImages #extractImages
extractImages.title=Extraire les images extractImages.title=Extraire les images
extractImages.header=Extraire les images extractImages.header=Extraire les images
extractImages.selectText=Format dimage dans lequel convertir les images extraites extractImages.selectText=Format d'image dans lequel convertir les images extraites
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Enregistrer les images dupliquées
extractImages.submit=Extraire extractImages.submit=Extraire
@@ -872,10 +886,10 @@ fileToPDF.submit=Convertir
#compress #compress
compress.title=Compresser un PDF compress.title=Compresser un PDF
compress.header=Compresser un PDF (lorsque cest possible!) compress.header=Compresser un PDF (lorsque c'est possible!)
compress.credit=Ce service utilise Ghostscript pour la compression et loptimisation des PDF. compress.credit=Ce service utilise Ghostscript pour la compression et l'optimisation des PDF.
compress.selectText.1=Mode manuel de 1 à 4 compress.selectText.1=Mode manuel de 1 à 4
compress.selectText.2=Niveau doptimisation compress.selectText.2=Niveau d'optimisation
compress.selectText.3=4 (terrible pour les images textuelles) compress.selectText.3=4 (terrible pour les images textuelles)
compress.selectText.4=Mode automatique ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte compress.selectText.4=Mode automatique ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte
compress.selectText.5=Taille PDF attendue (par exemple, 25MB, 10,8MB, 25KB) compress.selectText.5=Taille PDF attendue (par exemple, 25MB, 10,8MB, 25KB)
@@ -895,7 +909,7 @@ merge.title=Fusionner
merge.header=Fusionner plusieurs PDF merge.header=Fusionner plusieurs PDF
merge.sortByName=Trier par nom merge.sortByName=Trier par nom
merge.sortByDate=Trier par date merge.sortByDate=Trier par date
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Supprimer la signature numérique dans le fichier fusionné ?
merge.submit=Fusionner merge.submit=Fusionner
@@ -913,14 +927,25 @@ pdfOrganiser.mode.6=Partage impair-pair
pdfOrganiser.mode.7=Supprimer le premier pdfOrganiser.mode.7=Supprimer le premier
pdfOrganiser.mode.8=Supprimer le dernier pdfOrganiser.mode.8=Supprimer le dernier
pdfOrganiser.mode.9=Supprimer le premier et le dernier pdfOrganiser.mode.9=Supprimer le premier et le dernier
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Méger Impair-Pair
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(par exemple 1,3,2 ou 4-8,2,10-12 ou 2n-1)
#multiTool #multiTool
multiTool.title=Outil multifonction PDF multiTool.title=Outil multifonction PDF
multiTool.header=Outil multifonction PDF multiTool.header=Outil multifonction PDF
multiTool.uploadPrompts=Nom du fichier multiTool.uploadPrompts=Nom du fichier
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Visualiser un PDF viewPdf.title=Visualiser un PDF
@@ -931,7 +956,7 @@ pageRemover.title=Supprimer des pages
pageRemover.header=Supprimer des pages pageRemover.header=Supprimer des pages
pageRemover.pagesToDelete=Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) : pageRemover.pagesToDelete=Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) :
pageRemover.submit=Supprimer les pages pageRemover.submit=Supprimer les pages
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(par exemple 1,2,6 ou 1-10,15-30)
#rotate #rotate
@@ -960,9 +985,9 @@ split.submit=Diviser
imageToPDF.title=Image en PDF imageToPDF.title=Image en PDF
imageToPDF.header=Image en PDF imageToPDF.header=Image en PDF
imageToPDF.submit=Convertir imageToPDF.submit=Convertir
imageToPDF.selectLabel=Options dajustement de limage imageToPDF.selectLabel=Options d'ajustement de l'image
imageToPDF.fillPage=Remplir la page imageToPDF.fillPage=Remplir la page
imageToPDF.fitDocumentToImage=Ajuster la page à limage imageToPDF.fitDocumentToImage=Ajuster la page à l'image
imageToPDF.maintainAspectRatio=Maintenir les proportions imageToPDF.maintainAspectRatio=Maintenir les proportions
imageToPDF.selectText.2=Rotation automatique du PDF imageToPDF.selectText.2=Rotation automatique du PDF
imageToPDF.selectText.3=Logique multi-fichiers (uniquement activée si vous travaillez avec plusieurs images) imageToPDF.selectText.3=Logique multi-fichiers (uniquement activée si vous travaillez avec plusieurs images)
@@ -973,37 +998,37 @@ imageToPDF.selectText.5=Convertir en PDF séparés
#pdfToImage #pdfToImage
pdfToImage.title=Image en PDF pdfToImage.title=Image en PDF
pdfToImage.header=Image en PDF pdfToImage.header=Image en PDF
pdfToImage.selectText=Format dimage pdfToImage.selectText=Format d'image
pdfToImage.singleOrMultiple=Type de résultat pdfToImage.singleOrMultiple=Type de résultat
pdfToImage.single=Une seule grande image pdfToImage.single=Une seule grande image
pdfToImage.multi=Plusieurs images pdfToImage.multi=Plusieurs images
pdfToImage.colorType=Type dimpression pdfToImage.colorType=Type d'impression
pdfToImage.color=Couleur pdfToImage.color=Couleur
pdfToImage.grey=Niveaux de gris pdfToImage.grey=Niveaux de gris
pdfToImage.blackwhite=Noir et blanc (peut engendrer une perte de données !) pdfToImage.blackwhite=Noir et blanc (peut engendrer une perte de données !)
pdfToImage.submit=Convertir pdfToImage.submit=Convertir
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python nest pas installé. Nécessaire pour la conversion WebP.
#addPassword #addPassword
addPassword.title=Ajouter un mot de passe addPassword.title=Ajouter un mot de passe
addPassword.header=Ajouter un mot de passe addPassword.header=Ajouter un mot de passe
addPassword.selectText.1=PDF à chiffrer addPassword.selectText.1=PDF à chiffrer
addPassword.selectText.2=Mot de passe de lutilisateur addPassword.selectText.2=Mot de passe de l'utilisateur
addPassword.selectText.3=Longueur de la clé de chiffrement addPassword.selectText.3=Longueur de la clé de chiffrement
addPassword.selectText.4=Les valeurs plus élevées sont plus fortes, mais les valeurs plus faibles ont une meilleure compatibilité. addPassword.selectText.4=Les valeurs plus élevées sont plus fortes, mais les valeurs plus faibles ont une meilleure compatibilité.
addPassword.selectText.5=Autorisations à définir (utilisation recommandée avec le mot de passe du propriétaire) addPassword.selectText.5=Autorisations à définir (utilisation recommandée avec le mot de passe du propriétaire)
addPassword.selectText.6=Empêcher lassemblage du document addPassword.selectText.6=Empêcher l'assemblage du document
addPassword.selectText.7=Empêcher lextraction de contenu addPassword.selectText.7=Empêcher l'extraction de contenu
addPassword.selectText.8=Empêcher lextraction pour laccessibilité addPassword.selectText.8=Empêcher l'extraction pour l'accessibilité
addPassword.selectText.9=Empêcher de remplir les formulaires addPassword.selectText.9=Empêcher de remplir les formulaires
addPassword.selectText.10=Empêcher la modification addPassword.selectText.10=Empêcher la modification
addPassword.selectText.11=Empêcher la modification des annotations addPassword.selectText.11=Empêcher la modification des annotations
addPassword.selectText.12=Empêcher limpression addPassword.selectText.12=Empêcher l'impression
addPassword.selectText.13=Empêcher limpression des différents formats addPassword.selectText.13=Empêcher l'impression des différents formats
addPassword.selectText.14=Mot de passe du propriétaire addPassword.selectText.14=Mot de passe du propriétaire
addPassword.selectText.15=Restreint ce qui peut être fait avec le document une fois quil est ouvert (non pris en charge par tous les lecteurs). addPassword.selectText.15=Restreint ce qui peut être fait avec le document une fois qu'il est ouvert (non pris en charge par tous les lecteurs).
addPassword.selectText.16=Restreint louverture du document lui-même. addPassword.selectText.16=Restreint l'ouverture du document lui-même.
addPassword.submit=Chiffrer addPassword.submit=Chiffrer
@@ -1019,9 +1044,9 @@ watermark.selectText.6=heightSpacer (espace entre chaque filigrane verticalement
watermark.selectText.7=Opacité (de 0% à 100%) watermark.selectText.7=Opacité (de 0% à 100%)
watermark.selectText.8=Type de filigrane watermark.selectText.8=Type de filigrane
watermark.selectText.9=Image du filigrane watermark.selectText.9=Image du filigrane
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Convertir le PDF en PDF-Image
watermark.submit=Ajouter un filigrane watermark.submit=Ajouter un filigrane
watermark.type.1=Text watermark.type.1=Texte
watermark.type.2=Image watermark.type.2=Image
@@ -1031,14 +1056,14 @@ permissions.header=Modifier les permissions
permissions.warning=Attention, pour que ces permissions soient immuables il est recommandé de les paramétrer avec un mot de passe via la page Ajouter un mot de passe. permissions.warning=Attention, pour que ces permissions soient immuables il est recommandé de les paramétrer avec un mot de passe via la page Ajouter un mot de passe.
permissions.selectText.1=Sélectionnez le PDF permissions.selectText.1=Sélectionnez le PDF
permissions.selectText.2=Permissions à définir permissions.selectText.2=Permissions à définir
permissions.selectText.3=Empêcher lassemblage du document permissions.selectText.3=Empêcher l'assemblage du document
permissions.selectText.4=Empêcher lextraction de contenu permissions.selectText.4=Empêcher l'extraction de contenu
permissions.selectText.5=Empêcher lextraction pour laccessibilité permissions.selectText.5=Empêcher l'extraction pour l'accessibilité
permissions.selectText.6=Empêcher de remplir les formulaires permissions.selectText.6=Empêcher de remplir les formulaires
permissions.selectText.7=Empêcher la modification permissions.selectText.7=Empêcher la modification
permissions.selectText.8=Empêcher la modification des annotations permissions.selectText.8=Empêcher la modification des annotations
permissions.selectText.9=Empêcher limpression permissions.selectText.9=Empêcher l'impression
permissions.selectText.10=Empêcher limpression des différents formats permissions.selectText.10=Empêcher l'impression des différents formats
permissions.submit=Modifier permissions.submit=Modifier
@@ -1063,7 +1088,7 @@ changeMetadata.keywords=Mots clés
changeMetadata.modDate=Date de modification (yyyy/MM/dd HH:mm:ss) changeMetadata.modDate=Date de modification (yyyy/MM/dd HH:mm:ss)
changeMetadata.producer=Producteur changeMetadata.producer=Producteur
changeMetadata.subject=Sujet changeMetadata.subject=Sujet
changeMetadata.trapped=Recouvrement (technique dimpression) changeMetadata.trapped=Recouvrement (technique d'impression)
changeMetadata.selectText.4=Autres métadonnées changeMetadata.selectText.4=Autres métadonnées
changeMetadata.selectText.5=Ajouter une entrée de métadonnées personnalisée changeMetadata.selectText.5=Ajouter une entrée de métadonnées personnalisée
changeMetadata.submit=Modifier changeMetadata.submit=Modifier
@@ -1138,13 +1163,13 @@ split-by-size-or-count.submit=Séparer
overlay-pdfs.header=Incrustation de PDF overlay-pdfs.header=Incrustation de PDF
overlay-pdfs.baseFile.label=Sélectionner le fichier PDF de base overlay-pdfs.baseFile.label=Sélectionner le fichier PDF de base
overlay-pdfs.overlayFiles.label=Sélectionner les fichiers PDF à superposer overlay-pdfs.overlayFiles.label=Sélectionner les fichiers PDF à superposer
overlay-pdfs.mode.label=Sélectionner le mode dincrustation overlay-pdfs.mode.label=Sélectionner le mode d'incrustation
overlay-pdfs.mode.sequential=Superposition séquentielle overlay-pdfs.mode.sequential=Superposition séquentielle
overlay-pdfs.mode.interleaved=Superposition entrelacée overlay-pdfs.mode.interleaved=Superposition entrelacée
overlay-pdfs.mode.fixedRepeat=Superposition à répétition fixe overlay-pdfs.mode.fixedRepeat=Superposition à répétition fixe
overlay-pdfs.counts.label=Nombre de superpositions (pour le mode de répétition fixe) overlay-pdfs.counts.label=Nombre de superpositions (pour le mode de répétition fixe)
overlay-pdfs.counts.placeholder=Compteurs (séparés par des virgules, exemple : 2,3,1) overlay-pdfs.counts.placeholder=Compteurs (séparés par des virgules, exemple : 2,3,1)
overlay-pdfs.position.label=Définir la position de lincrustation overlay-pdfs.position.label=Définir la position de l'incrustation
overlay-pdfs.position.foreground=Premier plan overlay-pdfs.position.foreground=Premier plan
overlay-pdfs.position.background=Arrière-plan overlay-pdfs.position.background=Arrière-plan
overlay-pdfs.submit=Soumettre overlay-pdfs.submit=Soumettre
@@ -1178,47 +1203,45 @@ licenses.version=Version
licenses.license=Licence licenses.license=Licence
#survey #survey
survey.nav=Survey survey.nav=Enquête
survey.title=Stirling-PDF Survey survey.title=Enquête Stirling-PDF
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF n'a pas de suivi, donc nous voulons entendre nos utilisateurs pour améliorer Stirling-PDF !
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF a changé depuis la dernière enquête ! Pour en savoir plus, veuillez consulter notre article de blog ici :
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Avec ces changements, nous obtenons un soutien commercial rémunéré et un financement
survey.please=Please consider taking our survey! survey.please=Veuillez envisager de répondre à notre enquête !
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(La fenêtre contextuelle de l'enquête sera désactivée dans les mises à jour suivantes mais sera disponible en bas de page)
survey.button=Take Survey survey.button=Répondre à l'enquête
survey.dontShowAgain=Don't show again survey.dontShowAgain=Ne plus afficher
#error #error
error.sorry=Désolé pour ce problème ! error.sorry=Désolé pour ce problème !
error.needHelp=Besoin daide / Vous avez trouvé un problème ? error.needHelp=Besoin d'aide / Vous avez trouvé un problème ?
error.contactTip=Si vous avez encore des problèmes, nhésitez pas à nous contacter pour obtenir de laide. Vous pouvez soumettre un ticket sur notre page GitHub ou nous contacter via Discord : error.contactTip=Si vous avez encore des problèmes, n'hésitez pas à nous contacter pour obtenir de l'aide. Vous pouvez soumettre un ticket sur notre page GitHub ou nous contacter via Discord :
error.404.head=404 - Page non trouvée | oups on sest foiré ! error.404.head=404 - Page non trouvée | oups on s'est foiré !
error.404.1=Nous ne parvenons pas à trouver la page que vous recherchez. error.404.1=Nous ne parvenons pas à trouver la page que vous recherchez.
error.404.2=Quelque chose na pas fonctionné error.404.2=Quelque chose n'a pas fonctionné
error.github=Créer un ticket sur GitHub error.github=Créer un ticket sur GitHub
error.showStack=Afficher la Stack Trace error.showStack=Afficher la Stack Trace
error.copyStack=Copier la Stack Trace error.copyStack=Copier la Stack Trace
error.githubSubmit=GitHub - Créer un ticket error.githubSubmit=GitHub - Créer un ticket
error.discordSubmit=Discord - Poster un message de demande dassistance error.discordSubmit=Discord - Poster un message de demande d'assistance
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Supprimer l'image
removeImage.header=Remove image removeImage.header=Supprimer l'image
removeImage.removeImage=Remove image removeImage.removeImage=Supprimer l'image
removeImage.submit=Remove image removeImage.submit=Supprimer l'image
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Diviser un PDF par Chapitres
splitByChapters.header=Diviser un PDF par Chapitres
splitByChapters.bookmarkLevel=Niveau de Signet
splitByChapters.includeMetadata=Inclure les Métadonnées
splitByChapters.allowDuplicates=Autoriser les Doublons
splitByChapters.desc.1=Cet outil divise un fichier PDF en plusieurs PDF en fonction de sa structure de chapitres.
splitByChapters.desc.2=Niveau de Signet : Choisissez le niveau de signets à utiliser pour la division (0 pour le niveau supérieur, 1 pour le deuxième niveau, etc...).
splitByChapters.desc.3=Inclure les Métadonnées : Si coché, les métadonnées du PDF original seront incluses dans chaque PDF divisé.
splitByChapters.desc.4=Autoriser les Doublons : Si coché, permet à plusieurs signets sur la même page de créer des PDF séparés.
splitByChapters.submit=Diviser le PDF

View File

@@ -79,6 +79,9 @@ info=Eolas
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Teangacha
navbar.settings=Socruithe navbar.settings=Socruithe
navbar.allTools=Uirlisí navbar.allTools=Uirlisí
navbar.multiTool=Uirlisí Il navbar.multiTool=Uirlisí Il
navbar.search=Search
navbar.sections.organize=Eagraigh navbar.sections.organize=Eagraigh
navbar.sections.convertTo=Tiontaigh go PDF navbar.sections.convertTo=Tiontaigh go PDF
navbar.sections.convertFrom=Tiontaigh ó PDF navbar.sections.convertFrom=Tiontaigh ó PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Níor cheart go mbeadh an comhad ar neamhní nó folamh
database.failedImportFile=Theip ar iompórtáil an chomhaid database.failedImportFile=Theip ar iompórtáil an chomhaid
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Taispeáin Síniú
certSign.reason=Cúis certSign.reason=Cúis
certSign.location=Suíomh certSign.location=Suíomh
certSign.name=Ainm certSign.name=Ainm
certSign.showLogo=Show Logo
certSign.submit=Sínigh PDF certSign.submit=Sínigh PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Dath Aibhsithe 2:
compare.document.1=Doiciméad 1 compare.document.1=Doiciméad 1
compare.document.2=Doiciméad 2 compare.document.2=Doiciméad 2
compare.submit=Déan comparáid idir compare.submit=Déan comparáid idir
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Leabhair agus comics a PDF BookToPDF.title=Leabhair agus comics a PDF
@@ -804,6 +813,11 @@ sign.draw=Tarraing Síniú
sign.text=Ionchur Téacs sign.text=Ionchur Téacs
sign.clear=Glan sign.clear=Glan
sign.add=Cuir sign.add=Cuir
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(m.sh. 1,3,2 nó 4-8,2,10-12 nó 2n-1)
multiTool.title=Il-uirlis PDF multiTool.title=Il-uirlis PDF
multiTool.header=Il-uirlis PDF multiTool.header=Il-uirlis PDF
multiTool.uploadPrompts=Ainm comhaid multiTool.uploadPrompts=Ainm comhaid
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Féach PDF viewPdf.title=Féach PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -12,17 +12,17 @@ imgPrompt=छवियों का चयन करें
genericSubmit=प्रस्तुत करें genericSubmit=प्रस्तुत करें
processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है
pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें): pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें):
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=कस्तम पेज चयन (पेज संख्याओं 1,5,6 या फंक्शन 2n+1 को अलग-अलग बैरीज़ में लिखिए) :
goToPage=जाएँ goToPage=जाएँ
true=सही true=सही
false=गलत false=गलत
unknown=अज्ञात unknown=अज्ञात
save=सहेजें save=सहेजें
saveToBrowser=Save to Browser saveToBrowser=ब्राउझर में सहमत करें
close=बंद करें close=बंद करें
filesSelected=फ़ाइलें चयनित हैं filesSelected=फ़ाइलें चयनित हैं
noFavourites=कोई पसंदीदा जोड़ा नहीं गया है noFavourites=कोई पसंदीदा जोड़ा नहीं गया है
downloadComplete=Download Complete downloadComplete=डाउनलोड पूरा हुआ
bored=बोर हो रहे हैं? bored=बोर हो रहे हैं?
alphabet=वर्णमाला alphabet=वर्णमाला
downloadPdf=पीडीएफ़ डाउनलोड करें downloadPdf=पीडीएफ़ डाउनलोड करें
@@ -46,89 +46,92 @@ red=लाल
green=हरा green=हरा
blue=नीला blue=नीला
custom=कस्टम... custom=कस्टम...
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems! WorkInProgess=कार्य चल रहा है, ये लगभग कार्य कर सकते हैं या फ़ौल बिजी में हो सकते हैं, किसी समस्या का पता लगाने के लिए कृपया रिपोर्ट करें!
poweredBy=Powered by poweredBy=बलिदान की स्वामित्व
yes=Yes yes=हा
no=No no=नहीं
changedCredsMessage=क्रेडेंशियल्स बदल दी गईं! changedCredsMessage=क्रेडेंशियल्स बदल दी गईं!
notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है। notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है।
userNotFoundMessage=उपयोगकर्ता नहीं मिला। userNotFoundMessage=उपयोगकर्ता नहीं मिला।
incorrectPasswordMessage=वर्तमान पासवर्ड गलत है। incorrectPasswordMessage=वर्तमान पासवर्ड गलत है।
usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है। usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है।
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. invalidUsernameMessage=अवैध उपयोगकर्ता नाम, उपयोगकर्ता नाम केवल अक्षर, संख्या और इन प्रतिकरणों @._+- में ही शामिल हो सकते हैं या एक बिल्ड-आउट वैध ईमेल एड्रेस के रूप में होना चाहिए।
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=पासवर्ड खाली नहीं हो सकता है और इसमें शुरुआत या अंत में अज्ञात अंदाज के विच्छेदन नहीं हो सकते।
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=नया पासवर्ड और पुष्टि नया पासवर्ड मेल खाते हैं।
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=प्रसिद्धिगत उपयोगकर्ता को नहीं हटा सकते हैं।
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=उपयोगकर्ता नाम मौजूद नहीं है और नहीं हटा सकता है।
downgradeCurrentUserMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता downgradeCurrentUserMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=वर्तमान उपयोगकर्ता निषेध किया गया है।
downgradeCurrentUserLongMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता। इसलिए, वर्तमान उपयोगकर्ता को नहीं दिखाया जाएगा। downgradeCurrentUserLongMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता। इसलिए, वर्तमान उपयोगकर्ता को नहीं दिखाया जाएगा।
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=उपयोगकर्ता ऑटहॉराइजेशन 2 से वास्तविक में मौजूद है।
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=उपयोगकर्ता वेब से राजीव में मौजूद है।
error=Error error=मुश्किल
oops=Oops! oops=ओह!
help=Help help=सहायता
goHomepage=Go to Homepage goHomepage=主页前往
joinDiscord=Join our Discord server joinDiscord=हमारे Discord सर्वर में शामिल होना
seeDockerHub=See Docker Hub seeDockerHub=Docker Hub पर देखें
visitGithub=Visit Github Repository visitGithub=गिटहब को दृश्यकरण करें
donate=Donate donate=दान करें
color=Color color=रंग
sponsor=Sponsor sponsor=पatreon से पोर्टन
info=Info info=सूचना
pro=Pro pro=कॉलेजीय
page=पृष्ठ page=पृष्ठ
pages=पृष्ठों pages=पृष्ठों
loading=डालिंग...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=गुप्तता सूचना
legal.terms=Terms and Conditions legal.terms=शर्तें और प्रवाह
legal.accessibility=Accessibility legal.accessibility=कारणीबिलिटी
legal.cookie=Cookie Policy legal.cookie=कुकीज़ नीति
legal.impressum=Impressum legal.impressum=प्रेरणा
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Pipeline Menu (Beta) pipeline.header=पाइपलाइन सूची (बेटा)
pipeline.uploadButton=Upload Custom pipeline.uploadButton=व्यक्तिगत अपलोड
pipeline.configureButton=Configure pipeline.configureButton=संरचना करें
pipeline.defaultOption=Custom pipeline.defaultOption=कसरत की शुल्क
pipeline.submitButton=Submit pipeline.submitButton=प्रविष्टि
pipeline.help=Pipeline Help pipeline.help=पाइपलाइन मदद
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=फोल्डर स्फॅं जस्त्र मदद
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=कि आपकी है पाइपलाइन का हटाना करना चाहते हैं?
###################### ######################
# Pipeline Options # # Pipeline Options #
###################### ######################
pipelineOptions.header=Pipeline Configuration pipelineOptions.header=पाइपलाइन संरचना
pipelineOptions.pipelineNameLabel=Pipeline Name pipelineOptions.pipelineNameLabel=पाइपलाइन का नाम
pipelineOptions.saveSettings=Save Operation Settings pipelineOptions.saveSettings=कार्यक्रम सेटिंग्स संरक्षण
pipelineOptions.pipelineNamePrompt=Enter pipeline name here pipelineOptions.pipelineNamePrompt=यहाँ पाइपलाइन का नाम दर्ज करें
pipelineOptions.selectOperation=Select Operation pipelineOptions.selectOperation=कार्य चुनें
pipelineOptions.addOperationButton=Add operation pipelineOptions.addOperationButton=कार्य जोड़ें
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=पाइपलाइन:
pipelineOptions.saveButton=Download pipelineOptions.saveButton=डाउनलोड
pipelineOptions.validateButton=Validate pipelineOptions.validateButton=सुविधा परीक्षण
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=प्रो के लिए अदायगी में तहत तुलना करें
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=यह संभावना केवल प्रो उपयोगकर्ताओं के लिए उपलब्ध है।
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=स्टीरिंग पीडीऍफ़ प्रो यॅमल संरचना फाइलें और अन्य SSO सुविधाओं का समर्थन करता है।
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=सामान्य प्रबंधन विशेषताएं खोजने के लिए स्टीरिंग पीडीऍफ़ प्रो का परीक्षण करें
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=स्टीरिंग पीडीऍफ़ को बेहतर करने में मदद करना चाहते हैं?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=स्टीरिंग पीडीऍफ़ मध्यम सुनिश्चित है जो हमें उपलब्ध कराता है और उत्पाद को बेहतर करने में मदद करता है। हम किसी प्रकार का व्यक्तिगत जानकारी या फ़ाइल सामग्रियों का ट्रॅक नहीं करते हैं।
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=मांगित गर्न मा, कैनलीस-पडफको सुधार बढाउने मदत गर्न माफि गर्ने प्रयोगकर्ताको समजलाई समज्दा परिवर्तनले मदत गर्न सकिँदू।
analytics.enable=Enable analytics analytics.enable=कैनलीस खुलाउँछु
analytics.disable=Disable analytics analytics.disable=कैनलीस बुझाउँछु
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=परिष्कार संपर्कमा कैनलीस सेटिङहरू परिवर्तन गर्न सकिँदू
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=भाषा
navbar.settings=सेटिंग्स navbar.settings=सेटिंग्स
navbar.allTools=साधन navbar.allTools=साधन
navbar.multiTool=विभिन्न साधन navbar.multiTool=विभिन्न साधन
navbar.search=Search
navbar.sections.organize=संगठित करें navbar.sections.organize=संगठित करें
navbar.sections.convertTo=पीडीएफ में कनवर्ट करें navbar.sections.convertTo=पीडीएफ में कनवर्ट करें
navbar.sections.convertFrom=पीडीएफ से कनवर्ट करें navbar.sections.convertFrom=पीडीएफ से कनवर्ट करें
navbar.sections.security=संकेत और सुरक्षा navbar.sections.security=संकेत और सुरक्षा
navbar.sections.advance=उन्नत navbar.sections.advance=उन्नत
navbar.sections.edit=देखें और संपादित करें navbar.sections.edit=देखें और संपादित करें
navbar.sections.popular=Popular navbar.sections.popular=यादृच्छिको
############# #############
# SETTINGS # # SETTINGS #
@@ -161,13 +165,13 @@ settings.downloadOption.3=फ़ाइल डाउनलोड करें
settings.zipThreshold=जब डाउनलोड की गई फ़ाइलों की संख्या सीमा से अधिक हो settings.zipThreshold=जब डाउनलोड की गई फ़ाइलों की संख्या सीमा से अधिक हो
settings.signOut=साइन आउट settings.signOut=साइन आउट
settings.accountSettings=खाता सेटिंग्स settings.accountSettings=खाता सेटिंग्स
settings.bored.help=Enables easter egg game settings.bored.help=बालाची खुशाखुशी गेम सक्रिय गर्ने आवकता
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=पहिलो इनपुटहरू बंदरगाहमा राख्न
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=क्रियाकलापको पारित कर्मचारी भेट्दा पूर्ववार उपयोग मा लगाएको इनपुटहरू बंदरगाहमा संग्रहित गर्ने आवकता
changeCreds.title=क्रेडेंशियल बदलें changeCreds.title=क्रेडेंशियल बदलें
changeCreds.header=अपना खाता विवरण अपडेट करें changeCreds.header=अपना खाता विवरण अपडेट करें
changeCreds.changePassword=You are using default login credentials. Please enter a new password changeCreds.changePassword=सुरक्षित पासワर्ड वापर्ने बदल्नु हो
changeCreds.newUsername=नया उपयोगकर्ता नाम changeCreds.newUsername=नया उपयोगकर्ता नाम
changeCreds.oldPassword=वर्तमान पासवर्ड changeCreds.oldPassword=वर्तमान पासवर्ड
changeCreds.newPassword=नया पासवर्ड changeCreds.newPassword=नया पासवर्ड
@@ -202,25 +206,25 @@ adminUserSettings.header=व्यवस्थापक उपयोगकर्
adminUserSettings.admin=व्यवस्थापक adminUserSettings.admin=व्यवस्थापक
adminUserSettings.user=उपयोगकर्ता adminUserSettings.user=उपयोगकर्ता
adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=उपयोगकर्ता छुट्टी देनु
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=उपयोगकर्ताको छुट्टी दिइने सँचार हुनुपछै अनुमति दिन्‍दै लागि पुष्टि गर्नुहोस्
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=उपयोगकर्ताको स्थिरपद्धति परिवर्तनले पुष्टि गर्नुहोस्‍
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. adminUserSettings.usernameInfo=उपयोगकर्ता नाममा केही संख्या, क्रतिका र अगले पूर्णाङ्क @._+- मा जस्ता विशेष चिह्नहरू छुन्न सकिँदू उपयोगकर्ता नामले एक संधारणीय पत्रक्याले बनाइएच।
adminUserSettings.roles=रोल्स adminUserSettings.roles=रोल्स
adminUserSettings.role=रोल adminUserSettings.role=रोल
adminUserSettings.actions=क्रियाएँ adminUserSettings.actions=क्रियाएँ
adminUserSettings.apiUser=सीमित API उपयोगकर्ता adminUserSettings.apiUser=सीमित API उपयोगकर्ता
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=अतिरिक्त सीमित API उपयोगकर्ता
adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता
adminUserSettings.demoUser=Demo User (No custom settings) adminUserSettings.demoUser=विनंति उपयोगकर्ता (स्वामित्व अनुकूली)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=अन्तराल API उपयोगकर्ता
adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें
adminUserSettings.submit=उपयोगकर्ता को सहेजें adminUserSettings.submit=उपयोगकर्ता को सहेजें
adminUserSettings.changeUserRole=यूज़र की भूमिका बदलें adminUserSettings.changeUserRole=यूज़र की भूमिका बदलें
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=मान्यताप्राप्त
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=आफु प्रोफाइल संपादन गर्नुहोस्
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=कार्यक्षम उपयोगकर्ता
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=अकार्यक्षम उपयोगकर्ता
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Active Users:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Disabled Users:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Total Users:
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -485,46 +490,46 @@ home.split-by-sections.title=खंडों से पीडीएफ़ वि
home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें
split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित
home.AddStampRequest.title=Add Stamp to PDF home.AddStampRequest.title=PDF में स्पष्ट रंग जोड़ें
home.AddStampRequest.desc=Add text or add image stamps at set locations home.AddStampRequest.desc=साहित्य पुनर्व्यवस्थित करें या निर्धारित स्थानों पर चित्र लक्षण जोड़ें
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
home.PDFToBook.title=PDF to Book home.PDFToBook.title=PDF से बुक
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre home.PDFToBook.desc=Calibre का उपयोग करके PDF को बुक/कमिक्स फॉर्मेट में परिवर्तित करें
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.BookToPDF.title=Book to PDF home.BookToPDF.title=बुक से PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Calibre का उपयोग करके Books/Comics फॉर्मेट को PDF में परिवर्तित करें
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=चित्र हटाएं
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=PDF से चित्र हटा कर फाइल आकार को कम करें
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=चित्र हटाएं,पृष्ठ ऑपरेशन्स,बाकी सिड,सर्वर साइड
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=अध्यायों पर अलग-करें
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=पुस्तक के अध्याय की संरचना पर आधारित एक PDF को बहिन-भागों में विभाजित करें
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=विभाजन,अध्याय,पसंदीदा,रजैत
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=चित्र रंग परिवर्तन/उलटकर परिवर्तन PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=PDF में टेक्स्ट और पैरासेमा के लिए रंग परिवर्तन करें और पूरी फोटो उलटकर परिवर्तन करें जो कि फाइल आकार को कम करें
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=रंग परिवर्तन,पृष्ठ ऑपरेशन्स,बाकी सिड,सर्वर साइड
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=रंग परिवर्तन/उलटकर परिवर्तन विकल्प
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=वैश्विक(वैश्विक उच्च अंतराल रंग)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=स्वतन्त्र(आम रंग)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=सार्वभौमिक-क्रमांतरण(सभी रंगों को आलवा करें)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=कुछ तृvigya रंग विकल्प
replace-color.selectText.6=white text on black background replace-color.selectText.6=गायन उपरि पीक मैदान पर काला अवलोकन
replace-color.selectText.7=Black text on white background replace-color.selectText.7=काले उपरि काला रेखा
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=काले उपरि काला मैदान पर सफ़ेद अवलोकन
replace-color.selectText.9=Green text on black background replace-color.selectText.9=काले उपरि काला मैदान पर हियंग अवलोकन
replace-color.selectText.10=Choose text Color replace-color.selectText.10=याद की जाने वाली रेखा चुनें
replace-color.selectText.11=Choose background Color replace-color.selectText.11=पौधा उपरि पीक मैदान चुनें
replace-color.submit=Replace replace-color.submit=बदलें
@@ -543,17 +548,17 @@ login.locked=आपका खाता लॉक कर दिया गया
login.signinTitle=कृपया साइन इन करें login.signinTitle=कृपया साइन इन करें
login.ssoSignIn=सिंगल साइन - ऑन के ज़रिए लॉग इन करें login.ssoSignIn=सिंगल साइन - ऑन के ज़रिए लॉग इन करें
login.oauth2AutoCreateDisabled=OAUTH2 ऑटो - क्रिएट यूज़र अक्षम किया गया login.oauth2AutoCreateDisabled=OAUTH2 ऑटो - क्रिएट यूज़र अक्षम किया गया
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=व्यक्तिगत नहीं की रजिस्टर या लॉग-इन वर्षा माह प्रतिबंधित है। कृपया संबवादक से संपर्क करें.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=स्वीकारोचा याचना मिल नहीं रही
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=अमान्तरित प्रकाशीय जानकारी संदेश कैसे है
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=गलत याचना
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=इनपुट उम्मीदवार डिसकार
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=अमान्तरित सिक्वेंस जवाब कैसे है
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=गलत इड टोकन
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=उपयोगकर्ता डिसबाल, यह वर्षा सभी उपयोगकर्ता जूझे वर्षाकरण बारा मिल गई है। कृपया संबवादक से संपर्क करें.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=आप पहले से ही
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=सुनिश्चित करने वाले डिवाइस्स पर लॉग-इन हैं। कृपया इन डिवाइस से लॉगआउट करें और पुनः प्रयास करें
login.toManySessions=You have too many active sessions login.toManySessions=आपके अधिक संख्या में विदीश हो रहे हैं
#auto-redact #auto-redact
autoRedact.title=स्वत: गोपनीयकरण autoRedact.title=स्वत: गोपनीयकरण
@@ -585,7 +590,7 @@ pdfToSinglePage.submit=एकल पृष्ठ में परिवर्त
pageExtracter.title=पृष्ठों को निकालें pageExtracter.title=पृष्ठों को निकालें
pageExtracter.header=पृष्ठों को निकालें pageExtracter.header=पृष्ठों को निकालें
pageExtracter.submit=निकालें pageExtracter.submit=निकालें
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(उदाहरण के लिए 1,2,8 या 4,7,12-16 या 2n-1)
#getPdfInfo #getPdfInfo
@@ -617,37 +622,37 @@ HTMLToPDF.header=HTML से पीडीएफ़
HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है
HTMLToPDF.submit=रूपांतरित करें HTMLToPDF.submit=रूपांतरित करें
HTMLToPDF.credit=WeasyPrint का प्रयोग होता है HTMLToPDF.credit=WeasyPrint का प्रयोग होता है
HTMLToPDF.zoom=Zoom level for displaying the website. HTMLToPDF.zoom=संप्रेषण वेबसाइट के लिए डॉलर स्तर।
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) HTMLToPDF.pageWidth=पृष्ठ की चौड़ाई मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) HTMLToPDF.pageHeight=पृष्ठ की ऊँचाई मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) HTMLToPDF.marginTop=पृष्ठ का शीर्ष बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) HTMLToPDF.marginBottom=पृष्ठ का तल बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) HTMLToPDF.marginLeft=पृष्ठ का बाएँ बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) HTMLToPDF.marginRight=पृष्ठ का डाई बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
HTMLToPDF.printBackground=Render the background of websites. HTMLToPDF.printBackground=वेबसाइट के पैनल को छद्म रूप से दिखाएं।
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) HTMLToPDF.defaultHeader=उचित उपनाम (नाम और पृष्ठ संख्या) इनकार करें।
HTMLToPDF.cssMediaType=Change the CSS media type of the page. HTMLToPDF.cssMediaType=पृष्ठ के लिए CSS मीडिया टाइप परिवर्तित करें।
HTMLToPDF.none=None HTMLToPDF.none=कोई नहीं
HTMLToPDF.print=Print HTMLToPDF.print=दबाओ और बन्दोच्स हार्डवेयर पर आउटपुट करें।
HTMLToPDF.screen=Screen HTMLToPDF.screen=दिखाएँ जैसा कि अपने ट्रिपल पर।
#AddStampRequest #AddStampRequest
AddStampRequest.header=Stamp PDF AddStampRequest.header=बिन्दुक बन्दोच्स हेडर
AddStampRequest.title=Stamp PDF AddStampRequest.title=बिन्दुक बन्दोच्स
AddStampRequest.stampType=Stamp Type AddStampRequest.stampType=बिन्दुक प्रकार
AddStampRequest.stampText=Stamp Text AddStampRequest.stampText=बिन्दुक टेक्स्ट
AddStampRequest.stampImage=Stamp Image AddStampRequest.stampImage=बिन्दुक आइमेज
AddStampRequest.alphabet=Alphabet AddStampRequest.alphabet=अक्षर
AddStampRequest.fontSize=Font/Image Size AddStampRequest.fontSize=फोन्ट/चित्र का आकार
AddStampRequest.rotation=Rotation AddStampRequest.rotation=वृद्धि
AddStampRequest.opacity=Opacity AddStampRequest.opacity=परिस्थिति
AddStampRequest.position=Position AddStampRequest.position=स्थिति
AddStampRequest.overrideX=Override X Coordinate AddStampRequest.overrideX=X निर्देशांक परिबद्ध करें
AddStampRequest.overrideY=Override Y Coordinate AddStampRequest.overrideY=Y निर्देशांक परिबद्ध करें
AddStampRequest.customMargin=Custom Margin AddStampRequest.customMargin=संवैधित मैरज
AddStampRequest.customColor=Custom Text Color AddStampRequest.customColor=संवैधित टेक्स्ट रंग
AddStampRequest.submit=Submit AddStampRequest.submit=प्रदान करें
#sanitizePDF #sanitizePDF
@@ -728,7 +733,7 @@ pageLayout.submit=प्रस्तुत क
scalePages.title=पृष्ठ-स्केल समायोजित करें scalePages.title=पृष्ठ-स्केल समायोजित करें
scalePages.header=पृष्ठ-स्केल समायोजित करें scalePages.header=पृष्ठ-स्केल समायोजित करें
scalePages.pageSize=दस्तावेज़ के पृष्ठ का आकार। scalePages.pageSize=दस्तावेज़ के पृष्ठ का आकार।
scalePages.keepPageSize=Original Size scalePages.keepPageSize=मूल आकार
scalePages.scaleFactor=पृष्ठ का ज़ूम स्तर (क्रॉप)। scalePages.scaleFactor=पृष्ठ का ज़ूम स्तर (क्रॉप)।
scalePages.submit=प्रस्तुत करें scalePages.submit=प्रस्तुत करें
@@ -737,25 +742,26 @@ scalePages.submit=प्रस्तुत करें
certSign.title=प्रमाणपत्र साइनिंग certSign.title=प्रमाणपत्र साइनिंग
certSign.header=अपने प्रमाणपत्र के साथ एक पीडीएफ़ पर हस्ताक्षर करें (काम जारी है) certSign.header=अपने प्रमाणपत्र के साथ एक पीडीएफ़ पर हस्ताक्षर करें (काम जारी है)
certSign.selectPDF=साइन करने के लिए एक पीडीएफ़ फ़ाइल का चयन करें: certSign.selectPDF=साइन करने के लिए एक पीडीएफ़ फ़ाइल का चयन करें:
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below. certSign.jksNote=नोट: यदि आपके संदेश प्रकार नीचे सूचीबद्ध नहीं है, तो कृपया keytool कमांड लाइन टूल का उपयोग कर आपका संदेश फ़ाइल (.jks) में परिवर्तित करें. फिर, नीचे .jks फ़ाइल विकल्प चुनें.
certSign.selectKey=अपनी निजी कुंजी फ़ाइल का चयन करें (PKCS#8 प्रारूप, .pem या .der हो सकता है): certSign.selectKey=अपनी निजी कुंजी फ़ाइल का चयन करें (PKCS#8 प्रारूप, .pem या .der हो सकता है):
certSign.selectCert=अपनी प्रमाणपत्र फ़ाइल का चयन करें (X.509 प्रारूप, .pem या .der हो सकता है): certSign.selectCert=अपनी प्रमाणपत्र फ़ाइल का चयन करें (X.509 प्रारूप, .pem या .der हो सकता है):
certSign.selectP12=अपनी PKCS#12 कीस्टोर फ़ाइल का चयन करें (.p12 या .pfx) (वैकल्पिक, यदि प्रदान की गई हो, तो इसमें आपकी निजी कुंजी और प्रमाणपत्र होना चाहिए): certSign.selectP12=अपनी PKCS#12 कीस्टोर फ़ाइल का चयन करें (.p12 या .pfx) (वैकल्पिक, यदि प्रदान की गई हो, तो इसमें आपकी निजी कुंजी और प्रमाणपत्र होना चाहिए):
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): certSign.selectJKS=आपका Java Keystore (.jks या .keystore) फ़ाइल को चुनें:
certSign.certType=प्रमाणपत्र प्रकार certSign.certType=प्रमाणपत्र प्रकार
certSign.password=अपनी कीस्टोर या निजी कुंजी पासवर्ड दर्ज करें (यदि कोई हो): certSign.password=अपनी कीस्टोर या निजी कुंजी पासवर्ड दर्ज करें (यदि कोई हो):
certSign.showSig=हस्ताक्षर दिखाएं certSign.showSig=हस्ताक्षर दिखाएं
certSign.reason=कारण certSign.reason=कारण
certSign.location=स्थान certSign.location=स्थान
certSign.name=नाम certSign.name=नाम
certSign.showLogo=लॉगो दिखाएं
certSign.submit=पीडीएफ़ पर हस्ताक्षर करें certSign.submit=पीडीएफ़ पर हस्ताक्षर करें
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=वितरण साइनचर्टर हटाएं
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=PDF में डिजिटल चार्टर को हटाएं
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=एक PDF फ़ाइल को चुनें:
removeCertSign.submit=Remove Signature removeCertSign.submit=साइनचर्टर हटाएं
#removeBlanks #removeBlanks
@@ -777,24 +783,27 @@ removeAnnotations.submit=हटाएं
#compare #compare
compare.title=तुलना करें compare.title=तुलना करें
compare.header=पीडीएफ़ तुलना करें compare.header=पीडीएफ़ तुलना करें
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=प्रकाशित रंग 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=प्रकाशित रंग 2:
compare.document.1=दस्तावेज़ 1 compare.document.1=दस्तावेज़ 1
compare.document.2=दस्तावेज़ 2 compare.document.2=दस्तावेज़ 2
compare.submit=तुलना करें compare.submit=तुलना करें
compare.complex.message=एक या दोनों प्रदान की गई संस्कृति महंगे हैं, अपरिमेयता की तुलना की शुरुआत हो सकती है
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=चयनित PDF में कोई भी प्रतीक नहीं है. कृपया प्रतीक वाले PDFs का चयन करें.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=बुक्स और कमिक्स को PDF में
BookToPDF.header=Book to PDF BookToPDF.header=बुक्स से पीडीएफ
BookToPDF.credit=Uses Calibre BookToPDF.credit=Calibre का उपयोग करता है
BookToPDF.submit=Convert BookToPDF.submit=संवाद करें
#PDFToBook #PDFToBook
PDFToBook.title=PDF to Book PDFToBook.title=PDF से बुक्स
PDFToBook.header=PDF to Book PDFToBook.header=PDF से बुक्स
PDFToBook.selectText.1=Format PDFToBook.selectText.1=फॉर्मट
PDFToBook.credit=Uses Calibre PDFToBook.credit=Calibre का उपयोग करता है
PDFToBook.submit=Convert PDFToBook.submit=संवाद करें
#sign #sign
sign.title=हस्ताक्षर sign.title=हस्ताक्षर
@@ -804,6 +813,11 @@ sign.draw=हस्ताक्षर बनाएँ
sign.text=पाठ इनपुट sign.text=पाठ इनपुट
sign.clear=साफ़ करें sign.clear=साफ़ करें
sign.add=जोड़ें sign.add=जोड़ें
sign.saved=जोड़े हुए प्रदर्शन
sign.save=प्रदर्शन बचाएं
sign.personalSigs=मौजूदा प्रदर्शन
sign.sharedSigs=साझेदार प्रदर्शन
sign.noSavedSigs=कोई भी संवर्तित प्रदर्शन नहीं मौजूद है
#repair #repair
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=न्यूनतम कंटोर क्ष
ScannerImageSplit.selectText.8=फोटो के लिए न्यूनतम कंटोर क्षेत्र थ्रेशोल्ड को सेट करता है। ScannerImageSplit.selectText.8=फोटो के लिए न्यूनतम कंटोर क्षेत्र थ्रेशोल्ड को सेट करता है।
ScannerImageSplit.selectText.9=बॉर्डर का आकार: ScannerImageSplit.selectText.9=बॉर्डर का आकार:
ScannerImageSplit.selectText.10=निकालने और जोड़ने के लिए जोड़ा जाने वाला बॉर्डर का आकार सेट करता है ताकि आउटपुट में सफेद बॉर्डर न आए (डिफ़ॉल्ट: 1)। ScannerImageSplit.selectText.10=निकालने और जोड़ने के लिए जोड़ा जाने वाला बॉर्डर का आकार सेट करता है ताकि आउटपुट में सफेद बॉर्डर न आए (डिफ़ॉल्ट: 1)।
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python नहीं इंस्टॉल है. यह संचालित करने के लिए आवश्यक है.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=OCR के साथ PDF प्रोसेस करें
extractImages.title=छवियां निकालें extractImages.title=छवियां निकालें
extractImages.header=छवियां निकालें extractImages.header=छवियां निकालें
extractImages.selectText=निकाली गई छवियों को कन्वर्ट करने के लिए छवि प्रारूप चुनें extractImages.selectText=निकाली गई छवियों को कन्वर्ट करने के लिए छवि प्रारूप चुनें
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=यह दबाव अनुमति दें
extractImages.submit=निकालें extractImages.submit=निकालें
@@ -865,7 +879,7 @@ extractImages.submit=निकालें
fileToPDF.title=फ़ाइल से पीडीएफ़ fileToPDF.title=फ़ाइल से पीडीएफ़
fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें
fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है। fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है।
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=समर्थित फ़ाइल प्रजातियाँ
fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें
fileToPDF.submit=पीडीएफ़ में बदलें fileToPDF.submit=पीडीएफ़ में बदलें
@@ -895,7 +909,7 @@ merge.title=मर्ज
merge.header=एक से अधिक PDF एक साथ मर्ज करें (2+) merge.header=एक से अधिक PDF एक साथ मर्ज करें (2+)
merge.sortByName=नाम से क्रमबद्ध करें merge.sortByName=नाम से क्रमबद्ध करें
merge.sortByDate=तारीख से क्रमबद्ध करें merge.sortByDate=तारीख से क्रमबद्ध करें
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=संयोजित फाइल में डिजिटल साइग्नचर को हटा दें?
merge.submit=मर्ज करें merge.submit=मर्ज करें
@@ -903,24 +917,35 @@ merge.submit=मर्ज करें
pdfOrganiser.title=पेज व्यवस्थापक pdfOrganiser.title=पेज व्यवस्थापक
pdfOrganiser.header=PDF पेज व्यवस्थापक pdfOrganiser.header=PDF पेज व्यवस्थापक
pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें
pdfOrganiser.mode=Mode pdfOrganiser.mode=रूप
pdfOrganiser.mode.1=Custom Page Order pdfOrganiser.mode.1=कस्टम पेज क्रम
pdfOrganiser.mode.2=Reverse Order pdfOrganiser.mode.2=वापसी क्रम
pdfOrganiser.mode.3=Duplex Sort pdfOrganiser.mode.3=दुबल इंस्टर क्रम
pdfOrganiser.mode.4=Booklet Sort pdfOrganiser.mode.4=बुकलत सॉर्ट
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=पारित-पीछे स्टिस्ट बुकलत सॉर्ट
pdfOrganiser.mode.6=Odd-Even Split pdfOrganiser.mode.6=अशैली-बहूनी कटा-चिह्नित करना
pdfOrganiser.mode.7=Remove First pdfOrganiser.mode.7=पहली पेज हटाना
pdfOrganiser.mode.8=Remove Last pdfOrganiser.mode.8=आखिरी पेज हटाना
pdfOrganiser.mode.9=Remove First and Last pdfOrganiser.mode.9=पहली और आखिरी पेज हटाना
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=अशैली-बहूनी मिश्रण
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(जैसे 1,3,2 या 4-8,2,10-12 या 2n-1)
#multiTool #multiTool
multiTool.title=पीडीएफ मल्टी टूल multiTool.title=पीडीएफ मल्टी टूल
multiTool.header=पीडीएफ मल्टी टूल multiTool.header=पीडीएफ मल्टी टूल
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=फाइल का नाम
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=पीडीएफ देखें viewPdf.title=पीडीएफ देखें
@@ -931,7 +956,7 @@ pageRemover.title=पेज हटाने वाला
pageRemover.header=पीडीएफ पेज हटाने वाला pageRemover.header=पीडीएफ पेज हटाने वाला
pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें): pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें):
pageRemover.submit=पेज हटाएं pageRemover.submit=पेज हटाएं
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(जैसे 1,2,6 या 1-10,15-30)
#rotate #rotate
@@ -982,7 +1007,7 @@ pdfToImage.color=रंगीन
pdfToImage.grey=ग्रे स्केल pdfToImage.grey=ग्रे स्केल
pdfToImage.blackwhite=काला और सफेद (डेटा खो सकता है!) pdfToImage.blackwhite=काला और सफेद (डेटा खो सकता है!)
pdfToImage.submit=परिवर्तित करें pdfToImage.submit=परिवर्तित करें
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=पायथन नहीं अनिस्तारित है। वेबP परिवर्तन के लिए आवश्यक है।
#addPassword #addPassword
@@ -1019,10 +1044,10 @@ watermark.selectText.6=ऊंचाई स्पेसर (प्रत्ये
watermark.selectText.7=अपारदर्शिता (0% - 100%): watermark.selectText.7=अपारदर्शिता (0% - 100%):
watermark.selectText.8=वॉटरमार्क प्रकार: watermark.selectText.8=वॉटरमार्क प्रकार:
watermark.selectText.9=वॉटरमार्क छवि: watermark.selectText.9=वॉटरमार्क छवि:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=PDF डीपीआईमज़ देखभाल करें
watermark.submit=वॉटरमार्क जोड़ें watermark.submit=वॉटरमार्क जोड़ें
watermark.type.1=Text watermark.type.1=संदेश
watermark.type.2=Image watermark.type.2=इमेज
#Change permissions #Change permissions
@@ -1074,9 +1099,9 @@ pdfToPDFA.title=PDF से PDF/A में
pdfToPDFA.header=PDF से PDF/A में pdfToPDFA.header=PDF से PDF/A में
pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए ghostscript का उपयोग किया जाता है। pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए ghostscript का उपयोग किया जाता है।
pdfToPDFA.submit=परिवर्तित करें pdfToPDFA.submit=परिवर्तित करें
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=यह सैकड़ों प्रविष्टियाँ एक ही समय में काम करते हैं
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=आउटपुट फॉर्मेट
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=यह पीडीएफ मेला हस्ताक्षर से संबद्ध है। अगले कदम में यह हटाया जाएगा。
#PDFToWord #PDFToWord
@@ -1158,14 +1183,14 @@ split-by-sections.vertical.label=लंबवत विभाजन
split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें
split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें
split-by-sections.submit=PDF को विभाजित करें split-by-sections.submit=PDF को विभाजित करें
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=एक पीडीऐ में मिलाएं
#printFile #printFile
printFile.title=Print File printFile.title=फाइल प्रिंत करें
printFile.header=Print File to Printer printFile.header=प्रिंट फाइल को प्रिंटर पर प्रिंट करें
printFile.selectText.1=Select File to Print printFile.selectText.1=Select File to Print
printFile.selectText.2=Enter Printer Name printFile.selectText.2=प्रिंटर का नाम दर्ज करें
printFile.submit=Print printFile.submit=Print
@@ -1173,52 +1198,50 @@ printFile.submit=Print
licenses.nav=Licenses licenses.nav=Licenses
licenses.title=3rd Party Licenses licenses.title=3rd Party Licenses
licenses.header=3rd Party Licenses licenses.header=3rd Party Licenses
licenses.module=Module licenses.module=मॗड्यूल
licenses.version=Version licenses.version=वेरसन
licenses.license=License licenses.license=License
#survey #survey
survey.nav=Survey survey.nav=परीक्षण
survey.title=Stirling-PDF Survey survey.title=स्टार्लिंग-पीडीएफ परीक्षण
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=अंतिम परीक्षण के बाद स्टार्लिंग-पीडीएफ में कई बदलाव हो गए! अधिक जानने के लिए यहाँ हमारे ब्लॉग पोस्ट का प्रयास करें:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=इन बदलावों से हम अपने व्यवसाय सहायता और जैकड़ की मिलान पाने की कुछ आशा रख रहे हैं
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(अपडेटों के बाद स्क्वायर पपपल अक्सर निष्क्रिय होगा, लेकिन पृष्ठ की तल उस पर उपलब्ध होगा)
survey.button=Take Survey survey.button=परीक्षण करें
survey.dontShowAgain=Don't show again survey.dontShowAgain=मुद्रण फ्लास्क से नहीं मिलाएं
#error #error
error.sorry=Sorry for the issue! error.sorry=अनुभव में विफलता के लिए खेद होता है!
error.needHelp=Need help / Found an issue? error.needHelp=मदद की जरूरत है / सहायता पानी पाया?
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord: error.contactTip=अगर आप भी समस्याओं के साथ बच रहे हैं, तो हमें मदद प्राप्त करने के लिए निष्क्रियता न करके अपनी सहायता की मुद्दों को भेज सकते हैं. आप GitHub पेज पर टिकट भेज सकते हैं या Discord ग्रुप में हमसे संपर्क कर सकते हैं:
error.404.head=404 - Page Not Found | Oops, we tripped in the code! error.404.head=404 - पृष्ठ नहीं पाया | तो, कोड में कुछ गलती हुई!
error.404.1=We can't seem to find the page you're looking for. error.404.1=मेहनदरी से, आप खोज रहे पृष्ठ नहीं पाया जा सकता.
error.404.2=Something went wrong error.404.2=कुछ गलती हुई.
error.github=Submit a ticket on GitHub error.github=GitHub पर टिकट भेजें
error.showStack=Show Stack Trace error.showStack=स्टैक ट्रेस को दिखाएं
error.copyStack=Copy Stack Trace error.copyStack=स्टैक ट्रेस कopiए
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - टिकट पहुँचाओ
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - समर्थन पोस्ट पोस्ट करें
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=इंजाइम हटाएं
removeImage.header=Remove image removeImage.header=इंजाइम हटाएं
removeImage.removeImage=Remove image removeImage.removeImage=इंजाइम हटाएं
removeImage.submit=Remove image removeImage.submit=इंजाइम हटाएं
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=पीडीएफ को अध्यायों द्वारा भागों में बाटें
splitByChapters.header=पीडीएफ को अध्यायों द्वारा भागों में बाटें
splitByChapters.bookmarkLevel=लेमैक्स स्तर
splitByChapters.includeMetadata=मीटाडेटा को शामिल करें
splitByChapters.allowDuplicates=डबल्स अनुमति दें
splitByChapters.desc.1=यह यंकल सिपटे एक पीडीएफ फाइल को अपनी अध्याय संरचना के आधार पर बहुतांश नेट्स में विभाजित करता है.
splitByChapters.desc.2=लेमैक्स स्तर: विभाजन के लिए उपयोग की गई लेमैक्स स्तर चुनें (0 टॉप-लेवल, 1 दूसरा-लेवल, इतर जैसे).
splitByChapters.desc.3=मॉडेटरेट का शामिल करें: यदि सत्यापित किया जाता है, प्रारंभिक PDF की मॉडेटरेट को प्रत्येक विभाग PDF में शामिल किया जाएगा।
splitByChapters.desc.4=यादृच्छिक पुनरावृत्ति अनुमोदित: यदि सत्यापित किया जाता है, एक ही पेज पर दोहरे मूल्यांकन पब्लिक पीड़एफ बनाने की संभावना देता है।
splitByChapters.submit=PDF विभाजित

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Veličina pisma
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Ime pisma
pdfPrompt=Odaberi PDF(ove) pdfPrompt=Odaberi PDF(ove)
multiPdfPrompt=Odaberi PDF-ove (2+) multiPdfPrompt=Odaberi PDF-ove (2+)
multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove
@@ -27,7 +27,7 @@ bored=Dosađujete se čekajući?
alphabet=Abeceda alphabet=Abeceda
downloadPdf=Preuzmi PDF downloadPdf=Preuzmi PDF
text=Tekst text=Tekst
font=Font font=Pismo
selectFillter=-- Odaberi -- selectFillter=-- Odaberi --
pageNum=Broj stranice pageNum=Broj stranice
sizes.small=Malo sizes.small=Malo
@@ -56,12 +56,12 @@ userNotFoundMessage=Korisnik nije pronađen.
incorrectPasswordMessage=Kriva zaporka. incorrectPasswordMessage=Kriva zaporka.
usernameExistsMessage=Korisničko ime već postoji usernameExistsMessage=Korisničko ime već postoji
invalidUsernameMessage=Nevažeće korisničko ime, korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte. invalidUsernameMessage=Nevažeće korisničko ime, korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Lozinka ne smije biti prazna i ne smije počinjati ni završavati sa razmakom.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Nova lozinka i potvrda nove lozinke moraju biti identične.
deleteCurrentUserMessage=Nije moguće izbrisati trenutno prijavljenog korisnika. deleteCurrentUserMessage=Nije moguće izbrisati trenutno prijavljenog korisnika.
deleteUsernameExistsMessage=Korisničko ime ne postoji i ne može se izbrisati. deleteUsernameExistsMessage=Korisničko ime ne postoji i ne može se izbrisati.
downgradeCurrentUserMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika downgradeCurrentUserMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Trenutni korisnik ne može biti onemogućen
downgradeCurrentUserLongMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika. Dakle, trenutni korisnik neće biti prikazan. downgradeCurrentUserLongMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika. Dakle, trenutni korisnik neće biti prikazan.
userAlreadyExistsOAuthMessage=Korisnik već postoji kao OAuth2 korisnik. userAlreadyExistsOAuthMessage=Korisnik već postoji kao OAuth2 korisnik.
userAlreadyExistsWebMessage=Korisnik već postoji kao web korisnik. userAlreadyExistsWebMessage=Korisnik već postoji kao web korisnik.
@@ -75,16 +75,19 @@ visitGithub=Posjeti Github Repository
donate=Doniraj donate=Doniraj
color=Boja color=Boja
sponsor=Sponzor sponsor=Sponzor
info=Info info=Informacije
pro=Pro pro=Pro
page=Page page=Stranica
pages=Pages pages=Stranice
loading=Učitavanje...
addToDoc=Dodaj u dokument
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Politika privatnosti
legal.terms=Terms and Conditions legal.terms=Uspe sodržine
legal.accessibility=Accessibility legal.accessibility=Dostupnost
legal.cookie=Cookie Policy legal.cookie=Politika kolačića
legal.impressum=Impressum legal.impressum=Vedro ishoda
############### ###############
# Pipeline # # Pipeline #
@@ -96,7 +99,7 @@ pipeline.defaultOption=Prilagođeno
pipeline.submitButton=Pošalji pipeline.submitButton=Pošalji
pipeline.help=Pipeline Pomoć pipeline.help=Pipeline Pomoć
pipeline.scanHelp=Pomoć za skeniranje mapa pipeline.scanHelp=Pomoć za skeniranje mapa
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Jeste li sigurni da želite obrisati pipeline?
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Potvrdi
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Ažurirajte na Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Ova funkcija je dostupna samo pro korisnicima.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro podrzava konfiguiracione datoteke u formati YAML i druga osobine SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Tražite još funkcija za upravljanje korisnicima? Razmotrite Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Želite li da stvarate Stirling PDF bolji?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF ima uključene analitike koje nam pomažu da proizvod poboljšamo. Niste pratili nikakva osobna informacija ni sadržaj datoteka.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Razmotrite omogućivanje analitičkih podataka kako biste stvorili Stirling-PDF veće i da bismo bolje razumeli naših korisnika.
analytics.enable=Enable analytics analytics.enable=Omogući analitike
analytics.disable=Disable analytics analytics.disable=Onemogući analitike
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Možete promijeniti postavke za analitike u datoteci config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Jezici
navbar.settings=Postavke navbar.settings=Postavke
navbar.allTools=Alati navbar.allTools=Alati
navbar.multiTool=Multi Tools (Alati) navbar.multiTool=Multi Tools (Alati)
navbar.search=Search
navbar.sections.organize=Organizirati navbar.sections.organize=Organizirati
navbar.sections.convertTo=Pretvori u PDF navbar.sections.convertTo=Pretvori u PDF
navbar.sections.convertFrom=Pretvori iz PDF navbar.sections.convertFrom=Pretvori iz PDF
navbar.sections.security=Potpis & sigurnost navbar.sections.security=Potpis & sigurnost
navbar.sections.advance=Napredno navbar.sections.advance=Napredno
navbar.sections.edit=Pregled & Uređivanje navbar.sections.edit=Pregled & Uređivanje
navbar.sections.popular=Popular navbar.sections.popular=Popularno
############# #############
# SETTINGS # # SETTINGS #
@@ -202,9 +206,9 @@ adminUserSettings.header=Postavka kontrole korisnika za administratora
adminUserSettings.admin=Administrator adminUserSettings.admin=Administrator
adminUserSettings.user=Korisnik adminUserSettings.user=Korisnik
adminUserSettings.addUser=Dodaj novog korisnika adminUserSettings.addUser=Dodaj novog korisnika
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Obriši korisnika
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Treba li obračunati ovaj korisnika?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Treba li isključiti/uključiti ovog korisnika?
adminUserSettings.usernameInfo=Korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte. adminUserSettings.usernameInfo=Korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
adminUserSettings.roles=Uloge adminUserSettings.roles=Uloge
adminUserSettings.role=Uloga adminUserSettings.role=Uloga
@@ -218,32 +222,33 @@ adminUserSettings.forceChange=Prisiliti korisnika da promijeni lozinku prilikom
adminUserSettings.submit=Spremi korisnika adminUserSettings.submit=Spremi korisnika
adminUserSettings.changeUserRole=Promijenite korisničku ulogu adminUserSettings.changeUserRole=Promijenite korisničku ulogu
adminUserSettings.authenticated=Autentificirano adminUserSettings.authenticated=Autentificirano
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Uredi vlastit profil
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=Omotljiv korisnik
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=Onemogućen korisnik
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Aktivni korisnici:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Isključeni korisnici:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Ukupan broj korisnika:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Zadnji zahtjev
database.title=Database Import/Export database.title=Database Import/Export
database.header=Database Import/Export database.header=Database Import/Export
database.fileName=File Name database.fileName=Ime datoteke
database.creationDate=Creation Date database.creationDate=Datum stvaranja
database.fileSize=File Size database.fileSize=Veličina datoteke
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Obriši zadao sažeto datoteke
database.importBackupFile=Import Backup File database.importBackupFile=Uvezi sažeto datoteku
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Preuzmi sažeto datoteku
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Kada uvažavate podatke, je ključno sigurno imati ispravan struktur. Ako niste sigurni šta uradite, tražite savjet i podršku od professionala. Greška u strukturi može uzrokovati greške u aplikaciji, do i uključujući potpunu nevjerojatnost funkcionalnosti aplikacije.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Ime datoteke nije relevantno prijevezi. Buduće bit će ponovno oznaceno za određeni format backup_user_yyyyMMddHHmm.sql, čime se osigurava konzistentna nazivnica.
database.submit=Import Backup database.submit=Uvezi sažeto
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Uvez u bazu podataka uspio
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Datoteka ne smije biti null ili prazna
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Vaš sesija je istekla. Molim vas da osvježite stranicu i pokušate ponovno.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -283,7 +288,7 @@ pdfToImage.tags=konverzija,img,jpg,slika,foto
home.pdfOrganiser.title=Organiziranje home.pdfOrganiser.title=Organiziranje
home.pdfOrganiser.desc=Uklonite/preuredite stranice bilo kojim redoslijedom home.pdfOrganiser.desc=Uklonite/preuredite stranice bilo kojim redoslijedom
pdfOrganiser.tags=duplex,even,odd,sort,move pdfOrganiser.tags=dvostrana,parne,neparni,prikupljanje,prebacivanje
home.addImage.title=Dodaj sliku home.addImage.title=Dodaj sliku
@@ -347,7 +352,7 @@ PDFToPresentation.tags=slajdovi,prikaz,office,microsoft
home.PDFToText.title=PDF u RTF (Tekst) home.PDFToText.title=PDF u RTF (Tekst)
home.PDFToText.desc=Pretvorite PDF u tekst ili RTF format home.PDFToText.desc=Pretvorite PDF u tekst ili RTF format
PDFToText.tags=richformat,richtextformat,rich text format PDFToText.tags=bojaformata,tjedentextformat,sadržanotekstformat
home.PDFToHTML.title=PDF u HTML home.PDFToHTML.title=PDF u HTML
home.PDFToHTML.desc=Pretvorite PDF u HTML format home.PDFToHTML.desc=Pretvorite PDF u HTML format
@@ -390,9 +395,9 @@ home.certSign.title=Potpišite s certifikatom
home.certSign.desc=Potpisuje PDF s certifikatom/ključem (PEM/P12) home.certSign.desc=Potpisuje PDF s certifikatom/ključem (PEM/P12)
certSign.tags=autentifikacija,PEM,P12,zvanično,šifriranje certSign.tags=autentifikacija,PEM,P12,zvanično,šifriranje
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Ukloni potpis sertifikata
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Uklonite potpis sertifikata iz PDF-a
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=autentičiranje,PEM,P12,djelomičan dešifriranje
home.pageLayout.title=Izgled s više stranica home.pageLayout.title=Izgled s više stranica
home.pageLayout.desc=Spojite više stranica PDF dokumenta u jednu stranicu home.pageLayout.desc=Spojite više stranica PDF dokumenta u jednu stranicu
@@ -498,33 +503,33 @@ home.BookToPDF.title=Book u PDF
home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre
BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Ukloni sliku
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Ukloni sliku iz PDF-a kako bi se smanjio veličina datoteke
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Ukloni sliku, Rad sa stranicama, Back end, server strana
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Podijeli PDF prema glavama
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Podijeli PDF na više datoteka prema njegovom strukturnom obliku glava.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=podjela, glave, markere, organizacija
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Zameni-inverziranje boja u PDF-u
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Zamenite boju teksta i pozadine u PDF-u te inverzirajte cijeli PDF kako bi se smanjila veličina datoteke.
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Zameni boju, Rad sa stranicama, Back end, server strana
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Optije za zamenu ili inverziranje boja
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Standardno (standarske visoko kontrastne boje)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Napčno (prilagođene boje)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Cijelo-inverzirajte (inverzirajte sve boje)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Optije visoko kontrastne boje
replace-color.selectText.6=white text on black background replace-color.selectText.6=Crna tekst na bijelu pozadini
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Bijeli tekst na crvenoj pozadini
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Žutni tekst na crnoj pozadini
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Zeleni tekst na crnoj pozadini
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Izaberite boju teksta
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Izaberite pozadinu boju
replace-color.submit=Replace replace-color.submit=Zamijeni
@@ -543,17 +548,17 @@ login.locked=Vaš račun je zaključan.
login.signinTitle=Molimo vas da se prijavite login.signinTitle=Molimo vas da se prijavite
login.ssoSignIn=Prijavite se putem jedinstvene prijave login.ssoSignIn=Prijavite se putem jedinstvene prijave
login.oauth2AutoCreateDisabled=OAUTH2 automatsko kreiranje korisnika je onemogućeno login.oauth2AutoCreateDisabled=OAUTH2 automatsko kreiranje korisnika je onemogućeno
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Registracija ili prijava nekadreguiranih korisnika trenutno su blokirane. Molimo Vas da kontaktirate administratora.
login.oauth2RequestNotFound=Zahtjev za autorizaciju nije pronađen login.oauth2RequestNotFound=Zahtjev za autorizaciju nije pronađen
login.oauth2InvalidUserInfoResponse=Nevažeće informacije o korisniku login.oauth2InvalidUserInfoResponse=Nevažeće informacije o korisniku
login.oauth2invalidRequest=Neispravan zahtjev login.oauth2invalidRequest=Neispravan zahtjev
login.oauth2AccessDenied=Pristup odbijen login.oauth2AccessDenied=Pristup odbijen
login.oauth2InvalidTokenResponse=Nevažeći odgovor tokena login.oauth2InvalidTokenResponse=Nevažeći odgovor tokena
login.oauth2InvalidIdToken=Nevažeći ID token login.oauth2InvalidIdToken=Nevažeći ID token
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=Korisnik je deaktiviran, prijava sa ovim korisničkim imenom je trenutno zakazana. Molimo Vas da kontaktirate administratorske osobe.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Već ste se prijavili na
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=ure. Odjavite se s ure i pokušajte ponovo.
login.toManySessions=You have too many active sessions login.toManySessions=Imate preko mrežne sesije aktivnih
#auto-redact #auto-redact
autoRedact.title=Automatsko uređivanje autoRedact.title=Automatsko uređivanje
@@ -728,7 +733,7 @@ pageLayout.submit=Potvrdi
scalePages.title=Podesite veličinu stranice scalePages.title=Podesite veličinu stranice
scalePages.header=Podesite veličinu stranice scalePages.header=Podesite veličinu stranice
scalePages.pageSize=Veličina stranice dokumenta. scalePages.pageSize=Veličina stranice dokumenta.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Originalna veličina
scalePages.scaleFactor=Razina zumiranja (obrezivanje) stranice. scalePages.scaleFactor=Razina zumiranja (obrezivanje) stranice.
scalePages.submit=Potvrdi scalePages.submit=Potvrdi
@@ -748,14 +753,15 @@ certSign.showSig=Prikaži potpis
certSign.reason=Razlog certSign.reason=Razlog
certSign.location=Mjesto certSign.location=Mjesto
certSign.name=Ime certSign.name=Ime
certSign.showLogo=Prikaži logo
certSign.submit=Potpiši PDF certSign.submit=Potpiši PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Ukloni digitalno potpisano dokazilo
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Uklonite digitalni potpis iz PDF-a
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Odaberite datoteku PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Ukloni potpisi
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=Ukloni
#compare #compare
compare.title=Uporedite compare.title=Uporedite
compare.header=Usporedite PDF-ove compare.header=Usporedite PDF-ove
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Boja osvetljenja 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Boja osvetljenja 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Uporedi compare.submit=Uporedi
compare.complex.message=Jedan ili oba unesena dokumenta su veliki datoteke, to može smanjiti preciznost usporedbi
compare.large.file.message=Jedan ili oba unesena dokumenta su prevelike za obradu
compare.no.text.message=Jedan ili oba odabrana PDF-a nema tekst. Odaberite PDF-ove s tekstom za usporedbu.
#BookToPDF #BookToPDF
BookToPDF.title=Knjige i stripovi u PDF BookToPDF.title=Knjige i stripovi u PDF
@@ -804,6 +813,11 @@ sign.draw=Nacrtaj potpis
sign.text=Tekstualni unos sign.text=Tekstualni unos
sign.clear=Obriši sign.clear=Obriši
sign.add=Dodaj sign.add=Dodaj
sign.saved=Sacuvane potpisne oznake
sign.save=Sačuvaj potpisnu oznaku
sign.personalSigs=Osobni potpisi
sign.sharedSigs=Dijeljeni potpisi
sign.noSavedSigs=Nema sacuvanih potpisa pronađenih
#repair #repair
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Minimalna konturna površina:
ScannerImageSplit.selectText.8=Postavlja minimalni prag površine konture za fotografiju ScannerImageSplit.selectText.8=Postavlja minimalni prag površine konture za fotografiju
ScannerImageSplit.selectText.9=Veličina obruba: ScannerImageSplit.selectText.9=Veličina obruba:
ScannerImageSplit.selectText.10=Postavlja veličinu obruba koji se dodaje i uklanja kako bi se spriječili bijeli obrubi u ispisu (zadano: 1). ScannerImageSplit.selectText.10=Postavlja veličinu obruba koji se dodaje i uklanja kako bi se spriječili bijeli obrubi u ispisu (zadano: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python nije instaliran. Treba je za izvršenje.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Obradi PDF sa OCR-om
extractImages.title=Ekstrakt slika extractImages.title=Ekstrakt slika
extractImages.header=Ekstrakt slika extractImages.header=Ekstrakt slika
extractImages.selectText=Odaberite format slike za pretvaranje izdvojenih slika extractImages.selectText=Odaberite format slike za pretvaranje izdvojenih slika
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Sačuvaj duplikate slike
extractImages.submit=Izdvajanje extractImages.submit=Izdvajanje
@@ -895,7 +909,7 @@ merge.title=Spajanje
merge.header=Spajanje više PDF-ova (2+) merge.header=Spajanje više PDF-ova (2+)
merge.sortByName=Poredaj po imenu merge.sortByName=Poredaj po imenu
merge.sortByDate=Poredaj po datumu merge.sortByDate=Poredaj po datumu
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Ukloniti digitalni potpis u kombiniranom datoteku?
merge.submit=Spajanje merge.submit=Spajanje
@@ -913,7 +927,7 @@ pdfOrganiser.mode.6=Par-Nepar Podjela
pdfOrganiser.mode.7=Ukloni Prvu pdfOrganiser.mode.7=Ukloni Prvu
pdfOrganiser.mode.8=Ukloni Zadnju pdfOrganiser.mode.8=Ukloni Zadnju
pdfOrganiser.mode.9=Ukloni Prvu i Zadnju pdfOrganiser.mode.9=Ukloni Prvu i Zadnju
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Neparno-parna kombinacija
pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1) pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1)
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1)
multiTool.title=PDF Višenamjenski alat multiTool.title=PDF Višenamjenski alat
multiTool.header=PDF Višenamjenski alat multiTool.header=PDF Višenamjenski alat
multiTool.uploadPrompts=Naziv datoteke multiTool.uploadPrompts=Naziv datoteke
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Pogledaj viewPdf.title=Pogledaj
@@ -982,7 +1007,7 @@ pdfToImage.color=Boja
pdfToImage.grey=Sivi tonovi pdfToImage.grey=Sivi tonovi
pdfToImage.blackwhite=Crno-bijelo (mogu se izgubiti podaci!) pdfToImage.blackwhite=Crno-bijelo (mogu se izgubiti podaci!)
pdfToImage.submit=Pretvori pdfToImage.submit=Pretvori
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python nije instaliran. Treba je za konverziju na WebP.
#addPassword #addPassword
@@ -1019,7 +1044,7 @@ watermark.selectText.6=Visina razmaka (Razmak između svakog vodenog žiga okomi
watermark.selectText.7=Neprozirnost (0% - 100%): watermark.selectText.7=Neprozirnost (0% - 100%):
watermark.selectText.8=Vrsta vodenog žiga: watermark.selectText.8=Vrsta vodenog žiga:
watermark.selectText.9=Slika vodenog žiga: watermark.selectText.9=Slika vodenog žiga:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Konvertiraj PDF u PDF-Sliku
watermark.submit=Dodaj vodeni žig watermark.submit=Dodaj vodeni žig
watermark.type.1=Tekst watermark.type.1=Tekst
watermark.type.2=Slika watermark.type.2=Slika
@@ -1076,7 +1101,7 @@ pdfToPDFA.credit=Ova usluga koristi ghostscript za PDF/A pretvorbu
pdfToPDFA.submit=Pretvoriti pdfToPDFA.submit=Pretvoriti
pdfToPDFA.tip=Trenutno ne radi za više unosa odjednom pdfToPDFA.tip=Trenutno ne radi za više unosa odjednom
pdfToPDFA.outputFormat=Izlazni format pdfToPDFA.outputFormat=Izlazni format
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=PDF sadrži digitalni potpis. U sledećem koraku će biti uklonjen.
#PDFToWord #PDFToWord
@@ -1178,15 +1203,15 @@ licenses.version=Verzija
licenses.license=Licenca licenses.license=Licenca
#survey #survey
survey.nav=Survey survey.nav=Upitnica
survey.title=Stirling-PDF Survey survey.title=Stirling-PDF Upitnica
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF nema praćenje pa želimo svesnost korisnika da bi poboljšali Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF je promenjen od poslednje upitnice! Za više informacija, proverite naš blog ovdje:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=S ovim promenama dobivamo platnu podršku i financiranje poslovnim aktivnostima
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(Upitnica popup će biti onemogućena u sljedećim ažuracanjima aliće se nalaziti na dnu stranice)
survey.button=Take Survey survey.button=Izvrsi upitnicu
survey.dontShowAgain=Don't show again survey.dontShowAgain=Ne prikazujući ponovo
#error #error
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - Pošalji objavu podrške
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Ukloni sliku
removeImage.header=Remove image removeImage.header=Ukloni sliku
removeImage.removeImage=Remove image removeImage.removeImage=Ukloni sliku
removeImage.submit=Remove image removeImage.submit=Izbriši sliku
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Podijeli PDF naoglazdene glave
splitByChapters.header=Podijeli PDF naoglazdene glave
splitByChapters.bookmarkLevel=Nivo oznaka
splitByChapters.includeMetadata=Uključi metapodatke
splitByChapters.allowDuplicates=Dopuštaj duplikate
splitByChapters.desc.1=Ova alatka podijeli PDF datoteku u više PDFa na teme njene strukture glava.
splitByChapters.desc.2=Nivo oznaka: Odaberite nivo oznaka koji će se koristiti za podjelu (0 za prvi nivo, 1 za drugi nivo itd.).
splitByChapters.desc.3=Uključi metapodatke: Ako je pokušano, metapodaci iz originalne PDF datoteke će biti uključeni u svaku podijeljenu PDF datoteku.
splitByChapters.desc.4=Dopuštaj duplikate: Ako je ova opcija zaštićena, dozvoljava se da se na istoj strani mogu stvoriti posebne PDF datoteke s više oznaka.
splitByChapters.submit=Podijeli PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Betűméret
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Betűtípus
pdfPrompt=Válasszon PDF-fájlokat pdfPrompt=Válasszon PDF-fájlokat
multiPdfPrompt=Válasszon PDF-fájlokat (2+) multiPdfPrompt=Válasszon PDF-fájlokat (2+)
multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt
@@ -12,17 +12,17 @@ imgPrompt=Válasszon képeket
genericSubmit=Beküldés genericSubmit=Beküldés
processTimeWarning=Figyelmeztetés: Ez a folyamat akár egy percig is eltarthat a fájlmérettől függően processTimeWarning=Figyelmeztetés: Ez a folyamat akár egy percig is eltarthat a fájlmérettől függően
pageOrderPrompt=Egyedi oldalsorrend (Adjon meg vesszővel elválasztott oldalszámokat vagy függvényeket, például 2n+1): pageOrderPrompt=Egyedi oldalsorrend (Adjon meg vesszővel elválasztott oldalszámokat vagy függvényeket, például 2n+1):
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Egyedi oldal kiválasztás (Virtuális, hússzögletes lista formátumban írja meg a választott oldalak számát, például 1,5,6 vagy függvények formában: 2n+1):
goToPage=Ugrás goToPage=Ugrás
true=Igaz true=Igaz
false=Hamis false=Hamis
unknown=Ismeretlen unknown=Ismeretlen
save=Mentés save=Mentés
saveToBrowser=Save to Browser saveToBrowser=Mentés bölcskébe
close=Bezárás close=Bezárás
filesSelected=kiválasztott fájlok filesSelected=kiválasztott fájlok
noFavourites=Nincs hozzáadva kedvenc noFavourites=Nincs hozzáadva kedvenc
downloadComplete=Download Complete downloadComplete=Letöltés befejezve
bored=Unatkozol? bored=Unatkozol?
alphabet=Ábécé alphabet=Ábécé
downloadPdf=PDF letöltése downloadPdf=PDF letöltése
@@ -46,113 +46,117 @@ red=Piros
green=Zöld green=Zöld
blue=Kék blue=Kék
custom=Egyedi... custom=Egyedi...
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems! WorkInProgess=Munka folyamatban, lehetséges hibával működhet, kérjük jelentse meg bármilyen problémát!
poweredBy=Powered by poweredBy=Hozzávalója:
yes=Yes yes=Igen
no=No no=Nem
changedCredsMessage=A hitelek megváltoztak! changedCredsMessage=A hitelek megváltoztak!
notAuthenticatedMessage=Felhasználó nincs hitelesítve. notAuthenticatedMessage=Felhasználó nincs hitelesítve.
userNotFoundMessage=A felhasználó nem található. userNotFoundMessage=A felhasználó nem található.
incorrectPasswordMessage=A jelenlegi jelszó helytelen. incorrectPasswordMessage=A jelenlegi jelszó helytelen.
usernameExistsMessage=Az új felhasználónév már létezik. usernameExistsMessage=Az új felhasználónév már létezik.
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. invalidUsernameMessage=Érvénytelen felhasználónév, a felhasználónév csak betűk, számokat és az alábbi kisebb karaktereket tartalmazhat @._+- vagy egy érvényes e-mail címnek kell lennie.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=A jelszó nem lehet üres és nem lehet teljesen tartalmazni háttérspácseket.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Új jelszó és Megerősítési új jelszó egyeztetése.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Jelenleg bejelentkezett felhasználót nem lehet törölni.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=A felhasználónév nem létezik és nem lehet törlésre került.
downgradeCurrentUserMessage=A jelenlegi felhasználó szerepkörét nem lehet visszaminősíteni downgradeCurrentUserMessage=A jelenlegi felhasználó szerepkörét nem lehet visszaminősíteni
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Jelenleg bejelentkezett felhasználó nem lehet letiltva.
downgradeCurrentUserLongMessage=Az aktuális felhasználó szerepkörét nem lehet visszaminősíteni. Ezért az aktuális felhasználó nem jelenik meg. downgradeCurrentUserLongMessage=Az aktuális felhasználó szerepkörét nem lehet visszaminősíteni. Ezért az aktuális felhasználó nem jelenik meg.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=Az ezer hitelesítő szolgáltatás felhasználó ismertetve van.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=A web felhasználó ismertetve van.
error=Error error=Hiba
oops=Oops! oops=Egy gond történt!
help=Help help=Segítség
goHomepage=Go to Homepage goHomepage=Kezdőoldal megnyitása
joinDiscord=Join our Discord server joinDiscord=Jönj hozzá a Discord-szervert
seeDockerHub=See Docker Hub seeDockerHub=Docker Hub-on látni
visitGithub=Visit Github Repository visitGithub=GitHub Repository megtekintése
donate=Donate donate=Szerzés működéséhez segítségnyújtás
color=Color color=Szín
sponsor=Sponsor sponsor=Támogatók bejegyzése
info=Info info=Információ
pro=Pro pro=Professionális
page=Page page=Oldal
pages=Pages pages=Oldalak
loading=Betöltés...
addToDoc=Hozzáadás dokumentumba
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Adatvédelmi nyilatkozat
legal.terms=Terms and Conditions legal.terms=Feltételek és feltételek
legal.accessibility=Accessibility legal.accessibility=Elérhetőség
legal.cookie=Cookie Policy legal.cookie=Cukiernyomtatványi zászló
legal.impressum=Impressum legal.impressum=Rendszerinformáció
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Pipeline Menu (Beta) pipeline.header=Pipelinenavigációs menü (betavizsgálat)
pipeline.uploadButton=Upload Custom pipeline.uploadButton=Feltöltés
pipeline.configureButton=Configure pipeline.configureButton=Konfigurálás
pipeline.defaultOption=Custom pipeline.defaultOption=Egyéni
pipeline.submitButton=Submit pipeline.submitButton=Küldés
pipeline.help=Pipeline Help pipeline.help=Útmutató a pipelínhez
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=Mappák lekérése útmutatása
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Biztosan törölni szeretné az opciókat?
###################### ######################
# Pipeline Options # # Pipeline Options #
###################### ######################
pipelineOptions.header=Pipeline Configuration pipelineOptions.header=Pipelín beállításai
pipelineOptions.pipelineNameLabel=Pipeline Name pipelineOptions.pipelineNameLabel=Pipelín neve
pipelineOptions.saveSettings=Save Operation Settings pipelineOptions.saveSettings=Beállítások mentése
pipelineOptions.pipelineNamePrompt=Enter pipeline name here pipelineOptions.pipelineNamePrompt=Írd be a pipelín nevét ide
pipelineOptions.selectOperation=Select Operation pipelineOptions.selectOperation=Művelet kiválasztása
pipelineOptions.addOperationButton=Add operation pipelineOptions.addOperationButton=Művelet hozzáadása
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Pipelín:
pipelineOptions.saveButton=Download pipelineOptions.saveButton=Mentés
pipelineOptions.validateButton=Validate pipelineOptions.validateButton=Érvényesítés
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Növelje a személyrendszert PRO-re
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Ez a funkció csak a PRO felhasználók számára érhető el.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF PRO támogatja a YAML konfigurációs fájlokat és más SSO jellemzőket.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Több felhasználókezelési funkcióra vár? Ismételje meg a figyalmazást az Stirling PDF PRO szolgáltatásaihoz.
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Szeretnéd tetszésre módosítani a Stirling PDF-t?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=A Stirling PDF szöveges adatokat jellemző integrációt teszi lehetővé, hogy javítsuk a terméket. Nem folytatjuk semmit sem a személyes információk vagy fájl tartalmakat.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Köszönjük tekintse meg az integrációt, ami segít a Stirling-PDF növekedésében és segítne megértenünk a felhasználóinkat jobban.
analytics.enable=Enable analytics analytics.enable=Engedélyezze az analitikát
analytics.disable=Disable analytics analytics.disable=Letiltja az analitikát
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=A beállítások módosítása az analitikáért a config/settings.yml fájlban
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=Kedvencek
navbar.darkmode=Sötét mód navbar.darkmode=Sötét mód
navbar.language=Languages navbar.language=Nyelvek
navbar.settings=Beállítások navbar.settings=Beállítások
navbar.allTools=Tools navbar.allTools=Eszközök
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=Összeállítás
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=Átalakítás PDF-be
navbar.sections.security=Sign & Security navbar.sections.convertFrom=PDF-ből átalakítás
navbar.sections.advance=Advanced navbar.sections.security=Hitelesítés & Biztonság
navbar.sections.edit=View & Edit navbar.sections.advance=Fogadott funkciók
navbar.sections.popular=Popular navbar.sections.edit=Nézés és szerkesztés
navbar.sections.popular=Populáris
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=Beállítások settings.title=Beállítások
settings.update=Frisítés elérhető settings.update=Frisítés elérhető
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0} az aktuális telepített verzió. Az újabb verzió ({1}) elérhető.
settings.appVersion=App Verzió: settings.appVersion=App Verzió:
settings.downloadOption.title=Válassza ki a letöltési lehetőséget (Egyetlen fájl esetén a nem tömörített letöltésekhez): settings.downloadOption.title=Válassza ki a letöltési lehetőséget (Egyetlen fájl esetén a nem tömörített letöltésekhez):
settings.downloadOption.1=Nyissa meg ugyanabban az ablakban settings.downloadOption.1=Nyissa meg ugyanabban az ablakban
@@ -161,13 +165,13 @@ settings.downloadOption.3=Töltse le a fájlt
settings.zipThreshold=Fájlok tömörítése, ha a letöltött fájlok száma meghaladja settings.zipThreshold=Fájlok tömörítése, ha a letöltött fájlok száma meghaladja
settings.signOut=Kijelentkezés settings.signOut=Kijelentkezés
settings.accountSettings=Fiókbeállítások settings.accountSettings=Fiókbeállítások
settings.bored.help=Enables easter egg game settings.bored.help=Easter Egg játék engedélyezése
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Formulálapok mentése
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=Engedélyezve a korábban használt adatok tárolása a következő futásokhoz
changeCreds.title=Hitelesítés megváltoztatása changeCreds.title=Hitelesítés megváltoztatása
changeCreds.header=Frissítse fiókadatait changeCreds.header=Frissítse fiókadatait
changeCreds.changePassword=You are using default login credentials. Please enter a new password changeCreds.changePassword=Használja a szükséges bejelentkezési adatokat. Kérjen meg egy új jelszót.
changeCreds.newUsername=Új felhasználónév changeCreds.newUsername=Új felhasználónév
changeCreds.oldPassword=Jelenlegi jelszó changeCreds.oldPassword=Jelenlegi jelszó
changeCreds.newPassword=Új jelszó changeCreds.newPassword=Új jelszó
@@ -202,48 +206,49 @@ adminUserSettings.header=Adminisztrátori Felhasználói Vezérlési Beállítá
adminUserSettings.admin=Adminisztrátor adminUserSettings.admin=Adminisztrátor
adminUserSettings.user=Felhasználó adminUserSettings.user=Felhasználó
adminUserSettings.addUser=Új felhasználó hozzáadása adminUserSettings.addUser=Új felhasználó hozzáadása
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Törlés felhasználó
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=A felhasználót töröljük?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Az állapot módosítása megfelelően?
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. adminUserSettings.usernameInfo=A felhasználónév csak betűk, számok és az alábbi speciális karakterek @._+- vagy egy érvényes e-mail-cím lehet.
adminUserSettings.roles=Szerepek adminUserSettings.roles=Szerepek
adminUserSettings.role=Szerep adminUserSettings.role=Szerep
adminUserSettings.actions=Műveletek adminUserSettings.actions=Műveletek
adminUserSettings.apiUser=Korlátozott API-felhasználó adminUserSettings.apiUser=Korlátozott API-felhasználó
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=További korlátozott API felhasználó
adminUserSettings.webOnlyUser=Csak webes felhasználó adminUserSettings.webOnlyUser=Csak webes felhasználó
adminUserSettings.demoUser=Demo User (No custom settings) adminUserSettings.demoUser=Demofelhasználó (nincs egyedi beállítás)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=Belső API felhasználó
adminUserSettings.forceChange=Kényszerítse a felhasználót a felhasználónév/jelszó megváltoztatására bejelentkezéskor adminUserSettings.forceChange=Kényszerítse a felhasználót a felhasználónév/jelszó megváltoztatására bejelentkezéskor
adminUserSettings.submit=Felhasználó mentése adminUserSettings.submit=Felhasználó mentése
adminUserSettings.changeUserRole=Felhasználó szerepkörének módosítása adminUserSettings.changeUserRole=Felhasználó szerepkörének módosítása
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=Bejelentkezett
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Saját profil szerkesztése
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=Engedélyezett felhasználó
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=Letiltott felhasználó
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Aktív Felhasználók:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Letiltott Felhasználók:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Összes Felhasználó:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Utolsó kérelem
database.title=Database Import/Export database.title=Adatbázis import/export
database.header=Database Import/Export database.header=Adatbázis import/export
database.fileName=File Name database.fileName=Fájlnév
database.creationDate=Creation Date database.creationDate=Létrehozás dátuma
database.fileSize=File Size database.fileSize=Fájlszámítás
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Visszaulasztó fájl törlése
database.importBackupFile=Import Backup File database.importBackupFile=Bemérsz visszaulastó fájl
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Bemérő fájlet letöltés
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=A bemeneti adatok bemérésekor fontos, hogy az helyes struktúrát biztosítsa. Ha nem tudja mit csinál, kérjen támogatást egy szakembertől. Az erőforrás hibája okozhat alkalmazás-ismerséleti gondokat, és viszontig, hogy az alkalmazás teljesen nem fut.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=A fájl neve nem jelent részt a feltöltés során. Később újra néven lesz átalakítva egy konzisztens nevésrendszert követve, a formátum: visszaulasztó_user_yyyyMMddHHmm.sql.
database.submit=Import Backup database.submit=Bemérsz visszaulastó fájl
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Adatbázisba importálva sikeresen
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Fájlnull vagy üres nélkül nem lehet folytatni
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=A munkamenet letelezett. Frissítse a lapot és próbálkozzon újra.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -378,9 +383,9 @@ home.removeBlanks.title=Üres lapok eltávolítása
home.removeBlanks.desc=Felismeri és eltávolítja az üres lapokat a dokumentumból home.removeBlanks.desc=Felismeri és eltávolítja az üres lapokat a dokumentumból
removeBlanks.tags=takarítás,egyszerűsítés,nem-tartalom,szervez removeBlanks.tags=takarítás,egyszerűsítés,nem-tartalom,szervez
home.removeAnnotations.title=Remove Annotations home.removeAnnotations.title=Kijelölések eltávolítása
home.removeAnnotations.desc=Removes all comments/annotations from a PDF home.removeAnnotations.desc=Egy PDF-től minden megjegyzés/mérlegelt elemét törli ki
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=megjegyzések, kiemelés, jegyzetek, módosítások, törlés
home.compare.title=Összehasonlítás home.compare.title=Összehasonlítás
home.compare.desc=Összehasonlítja és megmutatja a különbségeket két PDF dokumentum között home.compare.desc=Összehasonlítja és megmutatja a különbségeket két PDF dokumentum között
@@ -390,9 +395,9 @@ home.certSign.title=Aláírás Tanúsítvánnyal
home.certSign.desc=PDF aláírása tanúsítvánnyal/kulccsal (PEM/P12) home.certSign.desc=PDF aláírása tanúsítvánnyal/kulccsal (PEM/P12)
certSign.tags=hitelesítés,PEM,P12,hivatalos,segitít,álca certSign.tags=hitelesítés,PEM,P12,hivatalos,segitít,álca
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Tanúsítványi aláírás eltávolítása
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=A PDF-től a tanúsítványi aláíratot törli ki
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=hitelesítés, PEM, P12, szakmai, dekriptálás
home.pageLayout.title=Több oldal elrendezése home.pageLayout.title=Több oldal elrendezése
home.pageLayout.desc=Több oldal egyesítése egy PDF dokumentumban egyetlen oldallá home.pageLayout.desc=Több oldal egyesítése egy PDF dokumentumban egyetlen oldallá
@@ -418,7 +423,7 @@ home.adjust-contrast.title=Színek/Kontraszt beállítása
home.adjust-contrast.desc=PDF kontrasztjának, telítettségének és világosságának beállítása home.adjust-contrast.desc=PDF kontrasztjának, telítettségének és világosságának beállítása
adjust-contrast.tags=szín-korrekció,beállítás,módosítás,fokoz adjust-contrast.tags=szín-korrekció,beállítás,módosítás,fokoz
home.crop.title=Crop PDF home.crop.title=PDF vágása
home.crop.desc=PDF vágása a méret csökkentése érdekében (a szöveg megőrzése mellett!) home.crop.desc=PDF vágása a méret csökkentése érdekében (a szöveg megőrzése mellett!)
crop.tags=vágás,csökkentés,szerkesztés,forma crop.tags=vágás,csökkentés,szerkesztés,forma
@@ -467,7 +472,7 @@ home.autoRedact.title=Automatikus Elrejtés
home.autoRedact.desc=Automatikusan kitakar (elrejt) szöveget egy PDF-ben az input szöveg alapján home.autoRedact.desc=Automatikusan kitakar (elrejt) szöveget egy PDF-ben az input szöveg alapján
autoRedact.tags=Elrejt,Elrejtés,kitakarás,fekete,fekete,marker,elrejtett autoRedact.tags=Elrejt,Elrejtés,kitakarás,fekete,fekete,marker,elrejtett
home.tableExtraxt.title=PDF to CSV home.tableExtraxt.title=PDF-től CSV-be való átalakítás
home.tableExtraxt.desc=Táblázatok kinyerése a PDF-ből CSV formátumra konvertálva home.tableExtraxt.desc=Táblázatok kinyerése a PDF-ből CSV formátumra konvertálva
tableExtraxt.tags=CSV,Táblázat kinyerése,kinyer,konvertál tableExtraxt.tags=CSV,Táblázat kinyerése,kinyer,konvertál
@@ -485,46 +490,46 @@ home.split-by-sections.title=PDF Szakaszokra osztása
home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra
split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás
home.AddStampRequest.title=Add Stamp to PDF home.AddStampRequest.title=Stempel hozzáadása PDF-be
home.AddStampRequest.desc=Add text or add image stamps at set locations home.AddStampRequest.desc=Addja a szövegét vagy képkép stempelésekbe a megadott helyekre
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Stempel, kép hozzáadása, középső rendítés, csatorna, PDF, beágyazás, személyre szokásos
home.PDFToBook.title=PDF to Book home.PDFToBook.title=PDF to könyv
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre home.PDFToBook.desc=A calibre segítségével PDF fájlt könyvtár/szókincs formátumba alakít.
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.BookToPDF.title=Book to PDF home.BookToPDF.title=Könyv a PDF-be
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=A calibre segítségével könyvtár/szókincs fájlt PDF-be alakít.
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Kép törölése
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Törlés a képből a fájl méret csökkentéséhez
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Kép törlése, oldalszerkezet műveletek, háttér műveletek, kiszolgálói oldal
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=PDF felosztása fejezetek szerint
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Fejezetei alapján egy PDF fájl több dokumentumba osztás.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=Osztás, fejezetek, jelezes, organizálás
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Visszaalakítás-összevétel a színekkel PDF-ben
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Cserélje le a szöveg és háttér színét PDF-ben és visszaalakítja a teljes színt az eszköz méret csökkentéséhez
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Szín cseréje, oldalszerkezet műveletek, kiszolgálói oldal
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Cserélés-visszaalakítási opciók
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Alapértelmezett (Alacsony kontrastos színek)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Egyéni (Egyéni színok)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Összevétel Összesen (Mind a színeket visszaalakítja)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Alacsony kontrastos szín opciók
replace-color.selectText.6=white text on black background replace-color.selectText.6=fehér szöveg fekete háttérre
replace-color.selectText.7=Black text on white background replace-color.selectText.7=fekete szöveg fehére háttérre
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=pálva szöveg fekete háttérre
replace-color.selectText.9=Green text on black background replace-color.selectText.9=zöld szöveg fekete háttérre
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Válasszon színet a szövékre
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Válassza a háttérszínt
replace-color.submit=Replace replace-color.submit=Cseréljön le
@@ -543,17 +548,17 @@ login.locked=A fiókja zárolva lett!
login.signinTitle=Kérjük, jelentkezzen be! login.signinTitle=Kérjük, jelentkezzen be!
login.ssoSignIn=Bejelentkezés egyszeri bejelentkezéssel login.ssoSignIn=Bejelentkezés egyszeri bejelentkezéssel
login.oauth2AutoCreateDisabled=OAUTH2 Felhasználó automatikus létrehozása letiltva login.oauth2AutoCreateDisabled=OAUTH2 Felhasználó automatikus létrehozása letiltva
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=A nevű felhasználók regisztrációja vagy bejelentkezése megszakítva. Kérjen segítséget a rendszergazdától.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Hozzájárulási kérést nem találtunk
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Érvénytelen felhasználói információs válasz
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Érvénytelen kérelem
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Hozzáférés megtagadva
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Érvénytelen token-válasz
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Érvénytelen azonosító token
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=A felhasználó deaktivált, a bejelentkezés jelenleg megszakítva ezzel a felhasználónévvel. Kérjen segítséget a rendszergazdától.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Már be van jelentkezve az
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=eszközökre. Kijelentkezzen ezekből a eszközökből, majd próbálja újra bejelentkezni.
login.toManySessions=You have too many active sessions login.toManySessions=Túl sok aktív munkamenet
#auto-redact #auto-redact
autoRedact.title=Érzékeny tartalom eltávolítása autoRedact.title=Érzékeny tartalom eltávolítása
@@ -585,7 +590,7 @@ pdfToSinglePage.submit=Átalakítás egyetlen oldallá
pageExtracter.title=Oldalak kinyerése pageExtracter.title=Oldalak kinyerése
pageExtracter.header=Oldalak kinyerése pageExtracter.header=Oldalak kinyerése
pageExtracter.submit=Kinyerés pageExtracter.submit=Kinyerés
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(pl. 1,2,8 vagy 4,7,12-16 vagy 2n-1)
#getPdfInfo #getPdfInfo
@@ -617,37 +622,37 @@ HTMLToPDF.header=HTML >> PDF
HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb. HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb.
HTMLToPDF.submit=Átalakítás HTMLToPDF.submit=Átalakítás
HTMLToPDF.credit=WeasyPrint alkalmazása HTMLToPDF.credit=WeasyPrint alkalmazása
HTMLToPDF.zoom=Zoom level for displaying the website. HTMLToPDF.zoom=Oldalnéző szint a weboldal megjelenítésére.
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) HTMLToPDF.pageWidth=Oldal szélessége centiméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) HTMLToPDF.pageHeight=Oldal magassága centiméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) HTMLToPDF.marginTop=Oldal felső marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) HTMLToPDF.marginBottom=Oldal alsó marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) HTMLToPDF.marginLeft=Oldal bal oldali marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) HTMLToPDF.marginRight=Oldal jobb oldali marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
HTMLToPDF.printBackground=Render the background of websites. HTMLToPDF.printBackground=Oldalsáv háttérét nyomtatásra jelenítse meg.
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) HTMLToPDF.defaultHeader=Alapértelmezett fejléc (Nevezés és oldal szám) engedélyezése
HTMLToPDF.cssMediaType=Change the CSS media type of the page. HTMLToPDF.cssMediaType=Oldal CSS média típusának módosítása.
HTMLToPDF.none=None HTMLToPDF.none=Nincs
HTMLToPDF.print=Print HTMLToPDF.print=Nyomtatás
HTMLToPDF.screen=Screen HTMLToPDF.screen=Élő képernyő
#AddStampRequest #AddStampRequest
AddStampRequest.header=Stamp PDF AddStampRequest.header=Stempel PDF-be
AddStampRequest.title=Stamp PDF AddStampRequest.title=Stempel PDF-be
AddStampRequest.stampType=Stamp Type AddStampRequest.stampType=Stempel típusa
AddStampRequest.stampText=Stamp Text AddStampRequest.stampText=Stempel szövege
AddStampRequest.stampImage=Stamp Image AddStampRequest.stampImage=Stempel képsora
AddStampRequest.alphabet=Alphabet AddStampRequest.alphabet=Alphabet
AddStampRequest.fontSize=Font/Image Size AddStampRequest.fontSize=Betűméret/stépésnév
AddStampRequest.rotation=Rotation AddStampRequest.rotation=Fordítás
AddStampRequest.opacity=Opacity AddStampRequest.opacity=Átlátszathossz
AddStampRequest.position=Position AddStampRequest.position=Pozíció
AddStampRequest.overrideX=Override X Coordinate AddStampRequest.overrideX=Överrite X koordinátája
AddStampRequest.overrideY=Override Y Coordinate AddStampRequest.overrideY=Överrite Y koordinátája
AddStampRequest.customMargin=Custom Margin AddStampRequest.customMargin=Egyéni mezők marginalája
AddStampRequest.customColor=Custom Text Color AddStampRequest.customColor=Egyéni szövegszín
AddStampRequest.submit=Submit AddStampRequest.submit=Küldés
#sanitizePDF #sanitizePDF
@@ -693,7 +698,7 @@ adjustContrast.download=Letöltés
#crop #crop
crop.title=Körülvágás crop.title=Körülvágás
crop.header=Crop PDF crop.header=PDF kivágása
crop.submit=Elküldés crop.submit=Elküldés
@@ -728,7 +733,7 @@ pageLayout.submit=Elküldés
scalePages.title=Oldalméret beállítása scalePages.title=Oldalméret beállítása
scalePages.header=Oldalméret beállítása scalePages.header=Oldalméret beállítása
scalePages.pageSize=A dokumentum egy oldalának mérete. scalePages.pageSize=A dokumentum egy oldalának mérete.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Váltás az eredeti méretre
scalePages.scaleFactor=Az oldal nagyításának szintje (vágás). scalePages.scaleFactor=Az oldal nagyításának szintje (vágás).
scalePages.submit=Küldés scalePages.submit=Küldés
@@ -737,25 +742,26 @@ scalePages.submit=Küldés
certSign.title=Tanúsítvánnyal történő aláírás certSign.title=Tanúsítvánnyal történő aláírás
certSign.header=Aláírás PDF tanúsítvánnyal (fejlesztés alatt) certSign.header=Aláírás PDF tanúsítvánnyal (fejlesztés alatt)
certSign.selectPDF=Válasszon PDF fájlt az aláíráshoz: certSign.selectPDF=Válasszon PDF fájlt az aláíráshoz:
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below. certSign.jksNote=Megjegyzés: Ha a tanúsítvány típusa nem szerepel a fenti listában, konvertálja Java Keystore (.jks) formátumba a keytool parancssor segítségével. Válassza az alábbi .jks vagy .keystore fájl opciót.
certSign.selectKey=Válassza ki a saját kulcsfájlját (PKCS#8 formátum, lehet .pem vagy .der kiterjesztésű): certSign.selectKey=Válassza ki a saját kulcsfájlját (PKCS#8 formátum, lehet .pem vagy .der kiterjesztésű):
certSign.selectCert=Válassza ki a tanúsítványfájlját (X.509 formátum, lehet .pem vagy .der kiterjesztésű): certSign.selectCert=Válassza ki a tanúsítványfájlját (X.509 formátum, lehet .pem vagy .der kiterjesztésű):
certSign.selectP12=Válassza ki a PKCS#12 kulcstár fájlját (.p12 vagy .pfx) (Opcionális, ha rendelkezésre áll, tartalmaznia kell a privát kulcsot és a tanúsítványt.): certSign.selectP12=Válassza ki a PKCS#12 kulcstár fájlját (.p12 vagy .pfx) (Opcionális, ha rendelkezésre áll, tartalmaznia kell a privát kulcsot és a tanúsítványt.):
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): certSign.selectJKS=Java Keystore-fájl választása (.jks vagy .keystore):
certSign.certType=Tanúsítvány típusa certSign.certType=Tanúsítvány típusa
certSign.password=Adja meg a kulcstár vagy a privát kulcs jelszavát (ha van): certSign.password=Adja meg a kulcstár vagy a privát kulcs jelszavát (ha van):
certSign.showSig=Aláírás megjelenítése certSign.showSig=Aláírás megjelenítése
certSign.reason=Ok certSign.reason=Ok
certSign.location=Hely certSign.location=Hely
certSign.name=Név certSign.name=Név
certSign.showLogo=Logó megjelenítése
certSign.submit=PDF aláírása certSign.submit=PDF aláírása
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Tanúsítvány aláírás eltávolítása
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=PDF-ből törölje a digitális tanúsítványt
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=PDF fájl kiválasztása:
removeCertSign.submit=Remove Signature removeCertSign.submit=Aláírást törlés
#removeBlanks #removeBlanks
@@ -769,32 +775,35 @@ removeBlanks.submit=Üres oldalak eltávolítása
#removeAnnotations #removeAnnotations
removeAnnotations.title=Remove Annotations removeAnnotations.title=Számítógépes bejegyzések törlése
removeAnnotations.header=Remove Annotations removeAnnotations.header=Számítógépes bejegyzések törlése
removeAnnotations.submit=Remove removeAnnotations.submit=Töröl
#compare #compare
compare.title=Összehasonlítás compare.title=Összehasonlítás
compare.header=PDF-ek összehasonlítása compare.header=PDF-ek összehasonlítása
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Kötłówiteli szín 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Kijelzési szín 2:
compare.document.1=Dokumentum 1 compare.document.1=Dokumentum 1
compare.document.2=Dokumentum 2 compare.document.2=Dokumentum 2
compare.submit=Összehasonlítás compare.submit=Összehasonlítás
compare.complex.message=Egy vagy mindkét kiválasztott dokumentum nagy, az összehasonlítás precizégének csökkenhet.
compare.large.file.message=Egy vagy mindkét kiválasztott dokumentum túl nagy a feldolgozáshoz.
compare.no.text.message=Egy vagy mindkét kiválasztott PDF nincs szöveggal. Kérjük, válasszon szöveg tartalmazó PDF-t.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Könyvek és kézirattak PDF-be
BookToPDF.header=Book to PDF BookToPDF.header=Könyv to PDF
BookToPDF.credit=Uses Calibre BookToPDF.credit=Használja a Calibre-t
BookToPDF.submit=Convert BookToPDF.submit=Konvertálás
#PDFToBook #PDFToBook
PDFToBook.title=PDF to Book PDFToBook.title=PDF-ből könyv
PDFToBook.header=PDF to Book PDFToBook.header=PDF to Book
PDFToBook.selectText.1=Format PDFToBook.selectText.1=Formátum
PDFToBook.credit=Uses Calibre PDFToBook.credit=Használja a Calibre-t
PDFToBook.submit=Convert PDFToBook.submit=Konvertálás
#sign #sign
sign.title=Aláírás sign.title=Aláírás
@@ -804,6 +813,11 @@ sign.draw=Aláírás rajzolása
sign.text=Szöveg beírása sign.text=Szöveg beírása
sign.clear=Törlés sign.clear=Törlés
sign.add=Hozzáadás sign.add=Hozzáadás
sign.saved=Mentett aláírások
sign.save=Aláíráshoz mentés
sign.personalSigs=Személyi aláíráshoz
sign.sharedSigs=Megosztott aláíráshoz
sign.noSavedSigs=Nincsenek mentett aláírások találat
#repair #repair
@@ -815,7 +829,7 @@ repair.submit=Javítás
#flatten #flatten
flatten.title=Kiegyenlítés flatten.title=Kiegyenlítés
flatten.header=PDF-ek kiegyenlítése flatten.header=PDF-ek kiegyenlítése
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=Csak formákat átalakít
flatten.submit=Kiegyenlítés flatten.submit=Kiegyenlítés
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Minimális kontúr terület:
ScannerImageSplit.selectText.8=A fotók minimális kontúrterületének beállítása ScannerImageSplit.selectText.8=A fotók minimális kontúrterületének beállítása
ScannerImageSplit.selectText.9=Keret mérete: ScannerImageSplit.selectText.9=Keret mérete:
ScannerImageSplit.selectText.10=A hozzáadott és eltávolított keret méretének beállítása a fehér keretek elkerülése érdekében a kimeneten (alapértelmezett: 1). ScannerImageSplit.selectText.10=A hozzáadott és eltávolított keret méretének beállítása a fehér keretek elkerülése érdekében a kimeneten (alapértelmezett: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=A Python nincs telepítve. Összefogóként szükséges.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=PDF feldolgozása OCR-rel
extractImages.title=Képek kinyerése extractImages.title=Képek kinyerése
extractImages.header=Képek kinyerése extractImages.header=Képek kinyerése
extractImages.selectText=Válassza ki a képformátumot a kinyert képek konvertálásához extractImages.selectText=Válassza ki a képformátumot a kinyert képek konvertálásához
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Duplikált képek mentése
extractImages.submit=Kinyerés extractImages.submit=Kinyerés
@@ -865,7 +879,7 @@ extractImages.submit=Kinyerés
fileToPDF.title=Fájl PDF dokumentummá alakítása fileToPDF.title=Fájl PDF dokumentummá alakítása
fileToPDF.header=Konvertáljon bármilyen fájlt PDF dokumentummá fileToPDF.header=Konvertáljon bármilyen fájlt PDF dokumentummá
fileToPDF.credit=Ez a szolgáltatás a LibreOffice-t és az Unoconv-ot használja a fájlkonverzióhoz. fileToPDF.credit=Ez a szolgáltatás a LibreOffice-t és az Unoconv-ot használja a fájlkonverzióhoz.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Támogatott fájltípusok
fileToPDF.supportedFileTypes=A funkció az alábbi fájltípusokat támogatja, azonban a teljesen friss támogatott formátumok listájáért kérjük, tekintse meg a LibreOffice dokumentációját fileToPDF.supportedFileTypes=A funkció az alábbi fájltípusokat támogatja, azonban a teljesen friss támogatott formátumok listájáért kérjük, tekintse meg a LibreOffice dokumentációját
fileToPDF.submit=Konvertálás PDF dokumentummá fileToPDF.submit=Konvertálás PDF dokumentummá
@@ -895,7 +909,7 @@ merge.title=Összevonás
merge.header=Több PDF összevonása (2+) merge.header=Több PDF összevonása (2+)
merge.sortByName=Név szerinti rendezés merge.sortByName=Név szerinti rendezés
merge.sortByDate=Dátum szerinti rendezés merge.sortByDate=Dátum szerinti rendezés
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Eltávolítja a megyérismereteket az összefuzött fájlban?
merge.submit=Összevonás merge.submit=Összevonás
@@ -903,24 +917,35 @@ merge.submit=Összevonás
pdfOrganiser.title=Oldalszervező pdfOrganiser.title=Oldalszervező
pdfOrganiser.header=PDF Oldalszervező pdfOrganiser.header=PDF Oldalszervező
pdfOrganiser.submit=Oldalak átrendezése pdfOrganiser.submit=Oldalak átrendezése
pdfOrganiser.mode=Mode pdfOrganiser.mode=Mód
pdfOrganiser.mode.1=Custom Page Order pdfOrganiser.mode.1=Törzsbeírás szabályos sorrend
pdfOrganiser.mode.2=Reverse Order pdfOrganiser.mode.2=Fordított sorrend
pdfOrganiser.mode.3=Duplex Sort pdfOrganiser.mode.3=Dupla oldal rendezés
pdfOrganiser.mode.4=Booklet Sort pdfOrganiser.mode.4=Könyvrész letrehozása rendezés
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=Oldalsarkatásos könyvrész letrehozása rendezés
pdfOrganiser.mode.6=Odd-Even Split pdfOrganiser.mode.6=Tökéletes páratlan-páros split
pdfOrganiser.mode.7=Remove First pdfOrganiser.mode.7=Először is eltávolítanunk
pdfOrganiser.mode.8=Remove Last pdfOrganiser.mode.8=Utolsó törölése
pdfOrganiser.mode.9=Remove First and Last pdfOrganiser.mode.9=Először és utolsó törlése
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Tökéletes páratlan-páros összekeverés
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(pl.: 1,3,2 vagy 4-8,2,10-12 vagy 2n-1)
#multiTool #multiTool
multiTool.title=PDF többfunkciós eszköz multiTool.title=PDF többfunkciós eszköz
multiTool.header=PDF többfunkciós eszköz multiTool.header=PDF többfunkciós eszköz
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=Fájl neve
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDF megtekintése viewPdf.title=PDF megtekintése
@@ -931,7 +956,7 @@ pageRemover.title=Oldaltörlő
pageRemover.header=PDF oldaltörlő pageRemover.header=PDF oldaltörlő
pageRemover.pagesToDelete=Törlendő oldalak (adja meg az oldalszámok vesszővel elválasztott listáját): pageRemover.pagesToDelete=Törlendő oldalak (adja meg az oldalszámok vesszővel elválasztott listáját):
pageRemover.submit=Oldalak törlése pageRemover.submit=Oldalak törlése
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(pl.: 1,2,6 vagy 1-10,15-30)
#rotate #rotate
@@ -982,7 +1007,7 @@ pdfToImage.color=színes
pdfToImage.grey=szürkeárnyalatos pdfToImage.grey=szürkeárnyalatos
pdfToImage.blackwhite=fekete-fehér (adatvesztéssel járhat!) pdfToImage.blackwhite=fekete-fehér (adatvesztéssel járhat!)
pdfToImage.submit=Átalakítás pdfToImage.submit=Átalakítás
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Nincs telepítve a Python. Szükséges a WebP konverzióhoz.
#addPassword #addPassword
@@ -1019,10 +1044,10 @@ watermark.selectText.6=heightSpacer (Hely a vízjelek között függőlegesen):
watermark.selectText.7=Átlátszóság (0% - 100%): watermark.selectText.7=Átlátszóság (0% - 100%):
watermark.selectText.8=Vízjel típusa: watermark.selectText.8=Vízjel típusa:
watermark.selectText.9=Vízjel képe: watermark.selectText.9=Vízjel képe:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=PDF-t PDF-ra átalakítás
watermark.submit=Vízjel hozzáadása watermark.submit=Vízjel hozzáadása
watermark.type.1=Text watermark.type.1=Szöveg
watermark.type.2=Image watermark.type.2=Kép
#Change permissions #Change permissions
@@ -1074,9 +1099,9 @@ pdfToPDFA.title=PDF >> PDF/A
pdfToPDFA.header=PDF >> PDF/A pdfToPDFA.header=PDF >> PDF/A
pdfToPDFA.credit=Ez a szolgáltatás az ghostscript-t használja a PDF/A konverzióhoz pdfToPDFA.credit=Ez a szolgáltatás az ghostscript-t használja a PDF/A konverzióhoz
pdfToPDFA.submit=Konvertálás pdfToPDFA.submit=Konvertálás
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=Jelenleg egyszerre több fájl nem működik ezzel a funkcióval
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Kimeneti formátum
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=A PDF tartalmaz digitális alásszegyeztetést. Ez lesz eltávolítva az alábbi lépésben.
#PDFToWord #PDFToWord
@@ -1158,67 +1183,65 @@ split-by-sections.vertical.label=Vízszintes szakaszok
split-by-sections.horizontal.placeholder=Adja meg a vízszintes szakaszok számát split-by-sections.horizontal.placeholder=Adja meg a vízszintes szakaszok számát
split-by-sections.vertical.placeholder=Adja meg a függőleges szakaszok számát split-by-sections.vertical.placeholder=Adja meg a függőleges szakaszok számát
split-by-sections.submit=Felosztás split-by-sections.submit=Felosztás
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Egyesítsük a dokumentumokat egybe
#printFile #printFile
printFile.title=Print File printFile.title=Fájl kinyomtatása
printFile.header=Print File to Printer printFile.header=Fájlt nyomtatás a számítógépes kiíróra
printFile.selectText.1=Select File to Print printFile.selectText.1=Válasszon ki a kinyomtatandó fájlt
printFile.selectText.2=Enter Printer Name printFile.selectText.2=Add meg a kiíró nevét
printFile.submit=Print printFile.submit=Nyomtatás
#licenses #licenses
licenses.nav=Licenses licenses.nav=Licenses
licenses.title=3rd Party Licenses licenses.title=3rd Party Licenses
licenses.header=3rd Party Licenses licenses.header=3rd Party Licenses
licenses.module=Module licenses.module=Modul
licenses.version=Version licenses.version=Verzió
licenses.license=License licenses.license=License
#survey #survey
survey.nav=Survey survey.nav=Kérdőív
survey.title=Stirling-PDF Survey survey.title=Stirling-PDF Kérdőív
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=A Stirling-PDF nincs bejelentkezési adatokat tároló funkciója miatt szeretnénk a felhasználóink véleményét gyűjteni, hogy javítsuk meg a Stirling-PDF-t!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=A Stirling-PDF változásai a visszaérkező kérdőív után! További információért látogasson el az alábbi blogfelsorolást.
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Ezek a változtatások során kapunk fizetendő üzleti támogatást és finanszírozást
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(A kérdőív bejelentkezés nélküli megjelenése le lesz tilos további frissítések után, de folyamatosan elérhető a oldal tetején)
survey.button=Take Survey survey.button=Kérdőív végrehajtása
survey.dontShowAgain=Don't show again survey.dontShowAgain=Más nincs mutatni ugyanarra a képernyőre
#error #error
error.sorry=Sorry for the issue! error.sorry=Sajnáljuk, hogy probléma van!
error.needHelp=Need help / Found an issue? error.needHelp=Segítségüket kérünk! / Hiba találkoztak?
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord: error.contactTip=Ha további nehézségekkel találkozna, ne szudirmáld a segítségre kérését. A GitHub oldalán egy típusot is lehet kiküldeni, vagy a Discordban kapcsolatba lépheted veleink:
error.404.head=404 - Page Not Found | Oops, we tripped in the code! error.404.head=404 - Nincs ilyen oldal | Sajnáljuk, hogy valami meghibásodott!
error.404.1=We can't seem to find the page you're looking for. error.404.1=Nem tudom megkerülni az oldalt, amit keresed.
error.404.2=Something went wrong error.404.2=Valami meghibásodott
error.github=Submit a ticket on GitHub error.github=Típusot kiküldheted a GitHub-on
error.showStack=Show Stack Trace error.showStack=Lássuk meg a sorozatot
error.copyStack=Copy Stack Trace error.copyStack=Kövesse a sorozat másolását
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Típus kiküldése
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Jegyzettömb kijavítása
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Távolítsa el az kép
removeImage.header=Remove image removeImage.header=Távolítsa el a képet
removeImage.removeImage=Remove image removeImage.removeImage=Távolítsa el a képet
removeImage.submit=Remove image removeImage.submit=Távolítsa el a képet
splitByChapters.title=Split PDF by Chapters splitByChapters.title=PDF fájlt fejezések szerint bontson fel
splitByChapters.header=Split PDF by Chapters splitByChapters.header=PDF fájlt fejezések szerint bontson fel
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=Fejezet címkézése szintje
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=Metadata beleszerkesztése
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Duplikációk engedélyezése
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=Ez az eszköz osztja fel a PDF-fájlt szövegszerkezet alapján lévő több fájlra.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Metaadatok belefoglalása: Ha bevanítva van, az eredeti PDF fájl metaadatai megtartódnak minden osztott fájlban.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Duplikációk engedélyezése: Ha bevanítva van, lehetővé teszi a megadott oldalon lévő több kijelzőszint alapján új PDF-ek létrehozása.
splitByChapters.submit=Split PDF splitByChapters.submit=PDF osztás

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Ukuran Fonta
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Nama Fonta
pdfPrompt=Pilih PDF pdfPrompt=Pilih PDF
multiPdfPrompt=Pilih PDF (2+) multiPdfPrompt=Pilih PDF (2+)
multiPdfDropPrompt=Pilih (atau seret & letakkan)) semua PDF yang Anda butuhkan multiPdfDropPrompt=Pilih (atau seret & letakkan)) semua PDF yang Anda butuhkan
@@ -12,17 +12,17 @@ imgPrompt=Pilih Gambar
genericSubmit=Kirim genericSubmit=Kirim
processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas
pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) : pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) :
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Pemilihan Halaman Kustom (Masukkan daftar nomor halaman dipisahkan dengan koma 1,5,6 atau Fungsi seperti 2n+1) :
goToPage=Ke goToPage=Ke
true=Benar true=Benar
false=Salah false=Salah
unknown=Tidak diketahui unknown=Tidak diketahui
save=Simpan save=Simpan
saveToBrowser=Save to Browser saveToBrowser=Simpan ke Peramban
close=Tutup close=Tutup
filesSelected=berkas dipilih filesSelected=berkas dipilih
noFavourites=Tidak ada favorit yang ditambahkan noFavourites=Tidak ada favorit yang ditambahkan
downloadComplete=Download Complete downloadComplete=Unduhan Lengkap
bored=Bosan Menunggu? bored=Bosan Menunggu?
alphabet=Abjad alphabet=Abjad
downloadPdf=Unduh PDF downloadPdf=Unduh PDF
@@ -46,113 +46,117 @@ red=Merah
green=Hijau green=Hijau
blue=Biru blue=Biru
custom=Kustom... custom=Kustom...
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems! WorkInProgess=Pekerjaan sedang diproses, Mungkin tidak berfungsi atau terdapat kutu, Silakan laporkan masalah apa pun!
poweredBy=Powered by poweredBy=Ditenagai oleh
yes=Yes yes=Ya
no=No no=Tidak
changedCredsMessage=Kredensial berubah!! changedCredsMessage=Kredensial berubah!!
notAuthenticatedMessage=Pengguna tidak ter-autentikasi. notAuthenticatedMessage=Pengguna tidak ter-autentikasi.
userNotFoundMessage=Pengguna tidak ditemukan. userNotFoundMessage=Pengguna tidak ditemukan.
incorrectPasswordMessage=Kata sandi saat ini salah. incorrectPasswordMessage=Kata sandi saat ini salah.
usernameExistsMessage=Nama pengguna baru sudah ada. usernameExistsMessage=Nama pengguna baru sudah ada.
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. invalidUsernameMessage=Nama pengguna tidak valid, nama pengguna hanya boleh mengandung huruf, angka, dan karakter khusus berikut @._+- atau harus berupa alamat email yang valid.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Kata sandi tidak boleh kosong dan tidak boleh memiliki spasi di awal atau akhir.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Kata Sandi Baru dan Konfirmasi Kata Sandi Baru harus sama.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Pengguna yang sedang masuk tidak dapat dihapus.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=Nama pengguna tidak ada dan tidak dapat dihapus.
downgradeCurrentUserMessage=Tidak dapat menurunkan peran pengguna saat ini downgradeCurrentUserMessage=Tidak dapat menurunkan peran pengguna saat ini
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Pengguna saat ini tidak dapat dinonaktifkan
downgradeCurrentUserLongMessage=Tidak dapat menurunkan peran pengguna saat ini. Oleh karena itu, pengguna saat ini tidak akan ditampilkan. downgradeCurrentUserLongMessage=Tidak dapat menurunkan peran pengguna saat ini. Oleh karena itu, pengguna saat ini tidak akan ditampilkan.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=Pengguna sudah ada sebagai pengguna OAuth2.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=Pengguna sudah ada sebagai pengguna web.
error=Error error=Kesalahan
oops=Oops! oops=Ups!
help=Help help=Bantuan
goHomepage=Go to Homepage goHomepage=Kembali ke Beranda
joinDiscord=Join our Discord server joinDiscord=Bergabung dengan server Discord kami
seeDockerHub=See Docker Hub seeDockerHub=Lihat Docker Hub
visitGithub=Visit Github Repository visitGithub=Kunjungi Repositori Github
donate=Donate donate=Donasi
color=Color color=Warna
sponsor=Sponsor sponsor=Pembantu
info=Info info=Informasi
pro=Pro pro=Pro
page=Page page=Halaman
pages=Pages pages=Halaman-halaman
loading=Mengambil data...
addToDoc=Tambahkan ke Dokumen
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Kebijakan Privasi
legal.terms=Terms and Conditions legal.terms=Syarat dan Ketentuan
legal.accessibility=Accessibility legal.accessibility=Aksesibilitas
legal.cookie=Cookie Policy legal.cookie=Kebijakan Kuki
legal.impressum=Impressum legal.impressum=Impresum
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Pipeline Menu (Beta) pipeline.header=Menu Pipeline (Beta)
pipeline.uploadButton=Upload Custom pipeline.uploadButton=Unggah Kustom
pipeline.configureButton=Configure pipeline.configureButton=Konfigurasi
pipeline.defaultOption=Custom pipeline.defaultOption=Kustom
pipeline.submitButton=Submit pipeline.submitButton=Kirim
pipeline.help=Pipeline Help pipeline.help=Bantuan Pipeline
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=Bantuan Pemindaian Folder
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Apakah Anda yakin ingin menghapus pipeline
###################### ######################
# Pipeline Options # # Pipeline Options #
###################### ######################
pipelineOptions.header=Pipeline Configuration pipelineOptions.header=Konfigurasi Pipeline
pipelineOptions.pipelineNameLabel=Pipeline Name pipelineOptions.pipelineNameLabel=Nama Pipeline
pipelineOptions.saveSettings=Save Operation Settings pipelineOptions.saveSettings=Simpan Pengaturan Operasi
pipelineOptions.pipelineNamePrompt=Enter pipeline name here pipelineOptions.pipelineNamePrompt=Masukkan nama pipeline di sini
pipelineOptions.selectOperation=Select Operation pipelineOptions.selectOperation=Pilih Operasi
pipelineOptions.addOperationButton=Add operation pipelineOptions.addOperationButton=Tambah operasi
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Pipeline:
pipelineOptions.saveButton=Download pipelineOptions.saveButton=Unduh
pipelineOptions.validateButton=Validate pipelineOptions.validateButton=Validasi
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Upgrade ke Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Fitur ini hanya tersedia untuk pengguna Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro mendukung berkas konfigurasi YAML dan fitur SSO lainnya.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Mencari lebih banyak fitur manajemen pengguna? Lihat Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Apakah Anda ingin membuat Stirling PDF lebih baik?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF memiliki analitik yang dapat diaktifkan untuk membantu kami meningkatkan produk. Kami tidak melacak informasi pribadi atau konten berkas.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Silakan pertimbangkan untuk mengaktifkan analitik agar Stirling PDF dapat berkembang dan untuk memungkinkan kami memahami pengguna kami dengan lebih baik.
analytics.enable=Enable analytics analytics.enable=Aktifkan analitik
analytics.disable=Disable analytics analytics.disable=Nonaktifkan analitik
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Anda dapat mengubah pengaturan untuk analitik di berkas config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=Favorit
navbar.darkmode=Mode Gelap navbar.darkmode=Mode Gelap
navbar.language=Languages navbar.language=Bahasa
navbar.settings=Pengaturan navbar.settings=Pengaturan
navbar.allTools=Tools navbar.allTools=Alat
navbar.multiTool=Multi Tools navbar.multiTool=Alat Multi
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=Atur
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=Konversi ke PDF
navbar.sections.security=Sign & Security navbar.sections.convertFrom=Konversi dari PDF
navbar.sections.advance=Advanced navbar.sections.security=Tanda Tangan & Keamanan
navbar.sections.edit=View & Edit navbar.sections.advance=Langkah Lanjut
navbar.sections.popular=Popular navbar.sections.edit=Melihat & Mengedit
navbar.sections.popular=Populer
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=Pengaturan settings.title=Pengaturan
settings.update=Pembaruan tersedia settings.update=Pembaruan tersedia
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0} adalah versi yang terpasang saat ini. Versi baru ({1}) tersedia.
settings.appVersion=Versi Aplikasi: settings.appVersion=Versi Aplikasi:
settings.downloadOption.title=Pilih opsi unduhan (Untuk unduhan berkas tunggal non zip): settings.downloadOption.title=Pilih opsi unduhan (Untuk unduhan berkas tunggal non zip):
settings.downloadOption.1=Buka di jendela yang sama settings.downloadOption.1=Buka di jendela yang sama
@@ -161,13 +165,13 @@ settings.downloadOption.3=Unduh berkas
settings.zipThreshold=Berkas zip ketika jumlah berkas yang diunduh melebihi settings.zipThreshold=Berkas zip ketika jumlah berkas yang diunduh melebihi
settings.signOut=Keluar settings.signOut=Keluar
settings.accountSettings=Pengaturan Akun settings.accountSettings=Pengaturan Akun
settings.bored.help=Enables easter egg game settings.bored.help=Mengaktifkan permainan telur paskah
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Simpan input formulir
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=Aktifkan untuk menyimpan input yang pernah digunakan untuk menjalankan di masa depan
changeCreds.title=Ubah Kredensial changeCreds.title=Ubah Kredensial
changeCreds.header=Perbarui Detail Akun Anda changeCreds.header=Perbarui Detail Akun Anda
changeCreds.changePassword=You are using default login credentials. Please enter a new password changeCreds.changePassword=Anda menggunakan kredensial login default. Silakan masukkan kata sandi baru
changeCreds.newUsername=Nama Pengguna Baru changeCreds.newUsername=Nama Pengguna Baru
changeCreds.oldPassword=Kata Sandi Saat Ini changeCreds.oldPassword=Kata Sandi Saat Ini
changeCreds.newPassword=Kata Sandi Baru changeCreds.newPassword=Kata Sandi Baru
@@ -199,51 +203,52 @@ account.syncToAccount=Sinkronisasi Akun <- Browser
adminUserSettings.title=Pengaturan Kontrol Pengguna adminUserSettings.title=Pengaturan Kontrol Pengguna
adminUserSettings.header=Pengaturan Kontrol Admin adminUserSettings.header=Pengaturan Kontrol Admin
adminUserSettings.admin=Admin adminUserSettings.admin=Administrator
adminUserSettings.user=Pengguna adminUserSettings.user=Pengguna
adminUserSettings.addUser=Tambahkan Pengguna Baru adminUserSettings.addUser=Tambahkan Pengguna Baru
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Hapus Pengguna
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Haruskah pengguna dihapus?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Haruskah pengguna dinonaktifkan/diaktifkan?
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. adminUserSettings.usernameInfo=Nama pengguna hanya boleh mengandung huruf, angka, dan karakter khusus berikut @._+- atau harus berupa alamat email yang valid.
adminUserSettings.roles=Peran adminUserSettings.roles=Peran
adminUserSettings.role=Peran adminUserSettings.role=Peran
adminUserSettings.actions=Tindakan adminUserSettings.actions=Tindakan
adminUserSettings.apiUser=Pengguna API Terbatas adminUserSettings.apiUser=Pengguna API Terbatas
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=Pengguna API Terbatas Tambahan
adminUserSettings.webOnlyUser=Pengguna Khusus Web adminUserSettings.webOnlyUser=Pengguna Khusus Web
adminUserSettings.demoUser=Demo User (No custom settings) adminUserSettings.demoUser=Pengguna Demo (Tanpa pengaturan kustom)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=Pengguna API Internal
adminUserSettings.forceChange=Memaksa pengguna untuk mengubah nama pengguna/kata sandi saat masuk adminUserSettings.forceChange=Memaksa pengguna untuk mengubah nama pengguna/kata sandi saat masuk
adminUserSettings.submit=Simpan Pengguna adminUserSettings.submit=Simpan Pengguna
adminUserSettings.changeUserRole=Ubah Peran Pengguna adminUserSettings.changeUserRole=Ubah Peran Pengguna
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=Terautentikasi
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Edit profil sendiri
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=Pengguna diaktifkan
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=Pengguna dinonaktifkan
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Pengguna Aktif:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Pengguna Dinonaktifkan:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Total Pengguna:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Permintaan Terakhir
database.title=Database Import/Export database.title=Impor/Ekspor Database
database.header=Database Import/Export database.header=Impor/Ekspor Database
database.fileName=File Name database.fileName=Nama Berkas
database.creationDate=Creation Date database.creationDate=Tanggal Pembuatan
database.fileSize=File Size database.fileSize=Ukuran Berkas
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Hapus Berkas Cadangan
database.importBackupFile=Import Backup File database.importBackupFile=Impor Berkas Cadangan
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Unduh Berkas Cadangan
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Ketika mengimpor data, sangat penting untuk memastikan struktur yang benar. Jika Anda tidak yakin dengan apa yang Anda lakukan, cari nasihat dan dukungan dari seorang profesional. Kesalahan dalam struktur dapat menyebabkan malfungsi aplikasi, bahkan hingga tidak dapat menjalankan aplikasi sama sekali.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Nama berkas tidak menjadi masalah saat mengunggah. Nama berkas akan diubah setelahnya mengikuti format backup_user_yyyyMMddHHmm.sql, memastikan konsistensi dalam penamaan.
database.submit=Import Backup database.submit=Impor Cadangan
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Impor ke database berhasil
database.fileNotFound=File not Found database.fileNotFound=Berkas tidak Ditemukan
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Berkas tidak boleh null atau kosong
database.failedImportFile=Failed Import File database.failedImportFile=Impor Berkas Gagal
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Sesi Anda telah kedaluwarsa. Silakan muat ulang halaman dan coba lagi.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -313,7 +318,7 @@ removePassword.tags=aman,Dekripsi,keamanan,buka kata sandi,hapus kata sandi
home.compressPdfs.title=Kompres home.compressPdfs.title=Kompres
home.compressPdfs.desc=Kompres PDF untuk mengurangi ukuran berkas. home.compressPdfs.desc=Kompres PDF untuk mengurangi ukuran berkas.
compressPdfs.tags=squish, kecil, kecil compressPdfs.tags=remas, kecil, mini
home.changeMetadata.title=Ubah Metadata home.changeMetadata.title=Ubah Metadata
@@ -390,9 +395,9 @@ home.certSign.title=Tanda tangani dengan Sertifikat
home.certSign.desc=Menandatangani PDF dengan Certificate/Key (PEM/P12) home.certSign.desc=Menandatangani PDF dengan Certificate/Key (PEM/P12)
certSign.tags=mengotentikasi, PEM, P12, resmi, mengenkripsi certSign.tags=mengotentikasi, PEM, P12, resmi, mengenkripsi
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Hapus Tanda Tangan Sertifikat
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Hapus tanda tangan sertifikat dari PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=otentikasi, PEM, P12, resmi, dekripsi
home.pageLayout.title=Tata Letak Multi-Halaman home.pageLayout.title=Tata Letak Multi-Halaman
home.pageLayout.desc=Menggabungkan beberapa halaman dokumen PDF menjadi satu halaman home.pageLayout.desc=Menggabungkan beberapa halaman dokumen PDF menjadi satu halaman
@@ -479,52 +484,52 @@ autoSizeSplitPDF.tags=pdf, membagi, dokumen, organisasi
home.overlay-pdfs.title=Tumpuk PDF home.overlay-pdfs.title=Tumpuk PDF
home.overlay-pdfs.desc=Menumpuk PDF di atas PDF lain home.overlay-pdfs.desc=Menumpuk PDF di atas PDF lain
overlay-pdfs.tags=Overlay overlay-pdfs.tags=Overlays
home.split-by-sections.title=Membagi PDF berdasarkan Bagian home.split-by-sections.title=Membagi PDF berdasarkan Bagian
home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil
split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan
home.AddStampRequest.title=Add Stamp to PDF home.AddStampRequest.title=Tambahkan Tanda Tangan ke PDF
home.AddStampRequest.desc=Add text or add image stamps at set locations home.AddStampRequest.desc=Tambahkan teks atau gambar tanda tangan di lokasi yang ditentukan
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Tanda tangan, tambahkan gambar, posisikan gambar di tengah, air tinta, PDF, embedding, customisasi
home.PDFToBook.title=PDF to Book home.PDFToBook.title=PDF ke Buku
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre home.PDFToBook.desc=Mengonversi PDF ke format Buku/Komik menggunakan calibre
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle PDFToBook.tags=Buku,Komik,Calibre,Konversi,manga,amazon,kindle
home.BookToPDF.title=Book to PDF home.BookToPDF.title=Buku ke PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Mengonversi format Buku/Komik ke PDF menggunakan calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Buku,Komik,Calibre,Konversi,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Hapus Gambar
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Hapus gambar dari PDF untuk mengurangi ukuran file
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Hapus Gambar,Operasi Halaman,Backend,server side
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Pisahkan PDF berdasarkan Bab
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Memisahkan PDF menjadi beberapa file berdasarkan struktur babnya.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=pemisahan,bab,bookmark,atur
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Ganti-Inversi-Warna
replace-color.header=Replace-Invert Color PDF replace-color.header=Ganti-Inversi Warna PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Ganti dan Inversi Warna
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Ganti warna untuk teks dan latar belakang dalam PDF dan inversi seluruh warna PDF untuk mengurangi ukuran file
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Ganti Warna,Operasi Halaman,Backend,server side
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Opsi Ganti atau Inversi warna
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Default(Warna kontras tinggi default)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Kustom(Warna yang disesuaikan)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Full-Inversi(Inversi semua warna)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Opsi warna kontras tinggi
replace-color.selectText.6=white text on black background replace-color.selectText.6=teks putih di latar belakang hitam
replace-color.selectText.7=Black text on white background replace-color.selectText.7=teks hitam di latar belakang putih
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=teks kuning di latar belakang hitam
replace-color.selectText.9=Green text on black background replace-color.selectText.9=teks hijau di latar belakang hitam
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Pilih warna teks
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Pilih warna latar belakang
replace-color.submit=Replace replace-color.submit=Ganti
@@ -543,17 +548,17 @@ login.locked=Akun Anda telah dikunci.
login.signinTitle=Silakan masuk login.signinTitle=Silakan masuk
login.ssoSignIn=Masuk melalui Single Sign - on login.ssoSignIn=Masuk melalui Single Sign - on
login.oauth2AutoCreateDisabled=OAUTH2 Buat Otomatis Pengguna Dinonaktifkan login.oauth2AutoCreateDisabled=OAUTH2 Buat Otomatis Pengguna Dinonaktifkan
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Registrasi atau login pengguna yang tidak terdaftar saat ini diblokir. Silakan hubungi administrator.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Permintaan otorisasi tidak ditemukan
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Respons Info Pengguna Tidak Valid
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Permintaan Tidak Valid
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Akses Ditolak
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Respons Token Tidak Valid
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Token ID Tidak Valid
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=Pengguna dinonaktifkan, login saat ini diblokir dengan nama pengguna ini. Silakan hubungi administrator.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Anda sudah login ke
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=perangkat. Silakan keluar dari perangkat dan coba lagi.
login.toManySessions=You have too many active sessions login.toManySessions=Anda memiliki terlalu banyak sesi aktif
#auto-redact #auto-redact
autoRedact.title=Redaksional Otomatis autoRedact.title=Redaksional Otomatis
@@ -585,7 +590,7 @@ pdfToSinglePage.submit=Konversi ke Halaman Tunggal
pageExtracter.title=Ekstrak Halaman pageExtracter.title=Ekstrak Halaman
pageExtracter.header=Ekstrak Halaman pageExtracter.header=Ekstrak Halaman
pageExtracter.submit=Ekstrak pageExtracter.submit=Ekstrak
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(misalnya 1,2,8 atau 4,7,12-16 atau 2n-1)
#getPdfInfo #getPdfInfo
@@ -617,37 +622,37 @@ HTMLToPDF.header=HTML Ke PDF
HTMLToPDF.help=Menerima berkas HTML dan ZIP yang berisi html / css / gambar, dll yang diperlukan HTMLToPDF.help=Menerima berkas HTML dan ZIP yang berisi html / css / gambar, dll yang diperlukan
HTMLToPDF.submit=Konversi HTMLToPDF.submit=Konversi
HTMLToPDF.credit=Menggunakan WeasyPrint HTMLToPDF.credit=Menggunakan WeasyPrint
HTMLToPDF.zoom=Zoom level for displaying the website. HTMLToPDF.zoom=Tingkat perbersan untuk menampilkan situs web.
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) HTMLToPDF.pageWidth=Lebar halaman dalam sentimeter. (Kosong untuk default)
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) HTMLToPDF.pageHeight=Tinggi halaman dalam sentimeter. (Kosong untuk default)
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) HTMLToPDF.marginTop=Margin atas halaman dalam milimeter. (Kosong untuk default)
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) HTMLToPDF.marginBottom=Margin bawah halaman dalam milimeter. (Kosong untuk default)
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) HTMLToPDF.marginLeft=Margin kiri halaman dalam milimeter. (Kosong untuk default)
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) HTMLToPDF.marginRight=Margin kanan halaman dalam milimeter. (Kosong untuk default)
HTMLToPDF.printBackground=Render the background of websites. HTMLToPDF.printBackground=Render latar belakang situs web.
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) HTMLToPDF.defaultHeader=Aktifkan Header Default (Nama dan nomor halaman)
HTMLToPDF.cssMediaType=Change the CSS media type of the page. HTMLToPDF.cssMediaType=Ubah jenis media CSS halaman.
HTMLToPDF.none=None HTMLToPDF.none=Tidak ada
HTMLToPDF.print=Print HTMLToPDF.print=Cetak
HTMLToPDF.screen=Screen HTMLToPDF.screen=Layar
#AddStampRequest #AddStampRequest
AddStampRequest.header=Stamp PDF AddStampRequest.header=Stampel PDF
AddStampRequest.title=Stamp PDF AddStampRequest.title=Stampel PDF
AddStampRequest.stampType=Stamp Type AddStampRequest.stampType=Jenis Stampel
AddStampRequest.stampText=Stamp Text AddStampRequest.stampText=Teks Stampel
AddStampRequest.stampImage=Stamp Image AddStampRequest.stampImage=Gambar Stampel
AddStampRequest.alphabet=Alphabet AddStampRequest.alphabet=Alfabet
AddStampRequest.fontSize=Font/Image Size AddStampRequest.fontSize=Ukuran Font/Gambar
AddStampRequest.rotation=Rotation AddStampRequest.rotation=Rotasi
AddStampRequest.opacity=Opacity AddStampRequest.opacity=Transparansi
AddStampRequest.position=Position AddStampRequest.position=Posisi
AddStampRequest.overrideX=Override X Coordinate AddStampRequest.overrideX=Timpa Koordinat X
AddStampRequest.overrideY=Override Y Coordinate AddStampRequest.overrideY=Timpa Koordinat Y
AddStampRequest.customMargin=Custom Margin AddStampRequest.customMargin=Margin Kustom
AddStampRequest.customColor=Custom Text Color AddStampRequest.customColor=Warna Teks Kustom
AddStampRequest.submit=Submit AddStampRequest.submit=Kirim
#sanitizePDF #sanitizePDF
@@ -728,7 +733,7 @@ pageLayout.submit=Kirim
scalePages.title=Sesuaikan skala halaman scalePages.title=Sesuaikan skala halaman
scalePages.header=Sesuaikan skala halaman scalePages.header=Sesuaikan skala halaman
scalePages.pageSize=Ukuran halaman dokumen. scalePages.pageSize=Ukuran halaman dokumen.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Ukuran Asli
scalePages.scaleFactor=Tingkat zoom (potong) halaman. scalePages.scaleFactor=Tingkat zoom (potong) halaman.
scalePages.submit=Kirim scalePages.submit=Kirim
@@ -737,30 +742,31 @@ scalePages.submit=Kirim
certSign.title=Penandatanganan Sertifikat certSign.title=Penandatanganan Sertifikat
certSign.header=Menandatangani PDF dengan sertifikat Anda (Sedang dalam proses) certSign.header=Menandatangani PDF dengan sertifikat Anda (Sedang dalam proses)
certSign.selectPDF=Pilih Berkas PDF untuk Penandatanganan: certSign.selectPDF=Pilih Berkas PDF untuk Penandatanganan:
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below. certSign.jksNote=Catatan: Jika tipe sertifikat Anda tidak terdaftar di bawah, silakan konversi ke file Java Keystore (.jks) menggunakan alat baris perintah keytool. Kemudian, pilih opsi file .jks di bawah.
certSign.selectKey=Pilih Berkas Kunci Pribadi Anda (format PKCS # 8, bisa .pem atau .der): certSign.selectKey=Pilih Berkas Kunci Pribadi Anda (format PKCS # 8, bisa .pem atau .der):
certSign.selectCert=Pilih Berkas Sertifikat Anda (format X.509, bisa .pem atau .der): certSign.selectCert=Pilih Berkas Sertifikat Anda (format X.509, bisa .pem atau .der):
certSign.selectP12=Pilih Berkas Keystore PKCS #12 Anda (.p12 atau .pfx) (Opsional, Jika disediakan, berkas tersebut harus berisi kunci pribadi dan sertifikat Anda): certSign.selectP12=Pilih Berkas Keystore PKCS #12 Anda (.p12 atau .pfx) (Opsional, Jika disediakan, berkas tersebut harus berisi kunci pribadi dan sertifikat Anda):
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): certSign.selectJKS=Pilih Berkas Java Keystore File (.jks atau .keystore):
certSign.certType=Jenis Sertifikat certSign.certType=Jenis Sertifikat
certSign.password=Masukkan Kata Sandi Kunci atau Kunci Pribadi Anda (Jika Ada): certSign.password=Masukkan Kata Sandi Kunci atau Kunci Pribadi Anda (Jika Ada):
certSign.showSig=Tampilkan Tanda Tangan certSign.showSig=Tampilkan Tanda Tangan
certSign.reason=Alasan certSign.reason=Alasan
certSign.location=Lokasi certSign.location=Lokasi
certSign.name=Nama certSign.name=Nama
certSign.showLogo=Tampilkan Logo
certSign.submit=Tanda tangani PDF certSign.submit=Tanda tangani PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Hapus Tanda Tangan Sertifikat
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Hapus sertifikat digital dari PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Pilih file PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Hapus Tanda Tangan
#removeBlanks #removeBlanks
removeBlanks.title=Hapus Halaman Kosong removeBlanks.title=Hapus yang Kosong
removeBlanks.header=Remove Blank Pages removeBlanks.header=Hapus Halaman Kosong
removeBlanks.threshold=Ambang Batas Keputihan Piksel: removeBlanks.threshold=Ambang Batas Keputihan Piksel:
removeBlanks.thresholdDesc=Ambang batas untuk menentukan seberapa putih piksel putih yang harus diklasifikasikan sebagai 'Putih'. 0=Hitam, 255 putih murni. removeBlanks.thresholdDesc=Ambang batas untuk menentukan seberapa putih piksel putih yang harus diklasifikasikan sebagai 'Putih'. 0=Hitam, 255 putih murni.
removeBlanks.whitePercent=Persen Putih (%): removeBlanks.whitePercent=Persen Putih (%):
@@ -777,24 +783,27 @@ removeAnnotations.submit=Hapus
#compare #compare
compare.title=Bandingkan compare.title=Bandingkan
compare.header=Bandingkan PDF compare.header=Bandingkan PDF
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Warna Sorotan 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Warna Sorotan 2:
compare.document.1=Dokumen 1 compare.document.1=Dokumen 1
compare.document.2=Dokumen 2 compare.document.2=Dokumen 2
compare.submit=Bandingkan compare.submit=Bandingkan
compare.complex.message=Satu atau kedua dokumen yang disediakan adalah file besar, keakuratan perbandingan mungkin berkurang
compare.large.file.message=Satu atau Kedua dokumen yang disediakan terlalu besar untuk diproses
compare.no.text.message=Satu atau kedua PDF yang dipilih tidak memiliki konten teks. Pilih PDF dengan teks untuk perbandingan.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Buku dan Komik ke PDF
BookToPDF.header=Book to PDF BookToPDF.header=Buku ke PDF
BookToPDF.credit=Uses Calibre BookToPDF.credit=Menggunakan Calibre
BookToPDF.submit=Convert BookToPDF.submit=Konversi
#PDFToBook #PDFToBook
PDFToBook.title=PDF to Book PDFToBook.title=PDF ke Buku
PDFToBook.header=PDF to Book PDFToBook.header=PDF ke Buku
PDFToBook.selectText.1=Format PDFToBook.selectText.1=Format
PDFToBook.credit=Uses Calibre PDFToBook.credit=Menggunakan Calibre
PDFToBook.submit=Convert PDFToBook.submit=Konversi
#sign #sign
sign.title=Tanda sign.title=Tanda
@@ -804,6 +813,11 @@ sign.draw=Gambar Tanda Tangan
sign.text=Masukan Teks sign.text=Masukan Teks
sign.clear=Hapus sign.clear=Hapus
sign.add=Tambah sign.add=Tambah
sign.saved=Tanda Tangan Disimpan
sign.save=Simpan Tanda Tangan
sign.personalSigs=Tanda Tangan Pribadi
sign.sharedSigs=Tanda Tangan Berbagi
sign.noSavedSigs=Tidak ditemukan tanda tangan yang disimpan
#repair #repair
@@ -815,7 +829,7 @@ repair.submit=Perbaiki
#flatten #flatten
flatten.title=Ratakan flatten.title=Ratakan
flatten.header=Ratakan PDF flatten.header=Ratakan PDF
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=Ratakan hanya formulir
flatten.submit=Ratakan flatten.submit=Ratakan
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Area Kontur Minimum:
ScannerImageSplit.selectText.8=Menetapkan ambang batas area kontur minimum untuk foto ScannerImageSplit.selectText.8=Menetapkan ambang batas area kontur minimum untuk foto
ScannerImageSplit.selectText.9=Ukuran Batas: ScannerImageSplit.selectText.9=Ukuran Batas:
ScannerImageSplit.selectText.10=Menetapkan ukuran batas yang ditambahkan dan dihapus untuk mencegah batas putih pada output (default: 1). ScannerImageSplit.selectText.10=Menetapkan ukuran batas yang ditambahkan dan dihapus untuk mencegah batas putih pada output (default: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python tidak terinstal. Ini diperlukan untuk menjalankan.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Memproses PDF dengan OCR
extractImages.title=Ekstrak Gambar extractImages.title=Ekstrak Gambar
extractImages.header=Mengekstrak Gambar extractImages.header=Mengekstrak Gambar
extractImages.selectText=Pilih format gambar yang akan dikonversi extractImages.selectText=Pilih format gambar yang akan dikonversi
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Simpan Gambar Duplikat
extractImages.submit=Ekstrak extractImages.submit=Ekstrak
@@ -865,7 +879,7 @@ extractImages.submit=Ekstrak
fileToPDF.title=Berkas ke PDF fileToPDF.title=Berkas ke PDF
fileToPDF.header=Mengonversi berkas apa pun ke PDF fileToPDF.header=Mengonversi berkas apa pun ke PDF
fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas. fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Jenis File Dukungan
fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice
fileToPDF.submit=Konversi ke PDF fileToPDF.submit=Konversi ke PDF
@@ -895,7 +909,7 @@ merge.title=Gabungkan
merge.header=Gabungkan beberapa PDFs (2+) merge.header=Gabungkan beberapa PDFs (2+)
merge.sortByName=Sortir berdasarkan nama merge.sortByName=Sortir berdasarkan nama
merge.sortByDate=Sortir berdasrkan tanggal merge.sortByDate=Sortir berdasrkan tanggal
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Hapus tanda tangan digital dalam file yang dicampur?
merge.submit=Gabungkan merge.submit=Gabungkan
@@ -904,23 +918,34 @@ pdfOrganiser.title=Pengaturan Halaman
pdfOrganiser.header=Pengaturan Halaman PDF pdfOrganiser.header=Pengaturan Halaman PDF
pdfOrganiser.submit=Susun ulang halaman pdfOrganiser.submit=Susun ulang halaman
pdfOrganiser.mode=Mode pdfOrganiser.mode=Mode
pdfOrganiser.mode.1=Custom Page Order pdfOrganiser.mode.1=Urutan Halaman Kustom
pdfOrganiser.mode.2=Reverse Order pdfOrganiser.mode.2=Urutan Terbalik
pdfOrganiser.mode.3=Duplex Sort pdfOrganiser.mode.3=Sortir Duplex
pdfOrganiser.mode.4=Booklet Sort pdfOrganiser.mode.4=Sortir Buku
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=Sortir Buku Jahitan Samping
pdfOrganiser.mode.6=Odd-Even Split pdfOrganiser.mode.6=Pemisahan Genap-Ganjil
pdfOrganiser.mode.7=Remove First pdfOrganiser.mode.7=Hapus Pertama
pdfOrganiser.mode.8=Remove Last pdfOrganiser.mode.8=Hapus Terakhir
pdfOrganiser.mode.9=Remove First and Last pdfOrganiser.mode.9=Hapus Pertama dan Terakhir
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Penggabungan Genap-Ganjil
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(misalnya 1,3,2 atau 4-8,2,10-12 atau 2n-1)
#multiTool #multiTool
multiTool.title=Alat Multi PDF multiTool.title=Alat Multi PDF
multiTool.header=Alat Multi PDF multiTool.header=Alat Multi PDF
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=Nama Berkas
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Lihat PDF viewPdf.title=Lihat PDF
@@ -931,7 +956,7 @@ pageRemover.title=Penghapus Halaman
pageRemover.header=Penghapus Halaman PDF pageRemover.header=Penghapus Halaman PDF
pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) : pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) :
pageRemover.submit=Hapus Halaman pageRemover.submit=Hapus Halaman
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(misalnya 1,2,6 atau 1-10,15-30)
#rotate #rotate
@@ -982,7 +1007,7 @@ pdfToImage.color=Warna
pdfToImage.grey=Skala abu-abu pdfToImage.grey=Skala abu-abu
pdfToImage.blackwhite=Black and White (Bisa kehilangan data!) pdfToImage.blackwhite=Black and White (Bisa kehilangan data!)
pdfToImage.submit=Konversi pdfToImage.submit=Konversi
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python tidak terinstal. Diperlukan untuk konversi WebP.
#addPassword #addPassword
@@ -1016,13 +1041,13 @@ watermark.selectText.3=Ukuran Huruf:
watermark.selectText.4=Rotasi (0-360): watermark.selectText.4=Rotasi (0-360):
watermark.selectText.5=widthSpacer (Spasi diantara setiap watermark horisontal): watermark.selectText.5=widthSpacer (Spasi diantara setiap watermark horisontal):
watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal): watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal):
watermark.selectText.7=Opacity (0% - 100%): watermark.selectText.7=Kejernihan (0% - 100%):
watermark.selectText.8=Tipe Watermark: watermark.selectText.8=Tipe Watermark:
watermark.selectText.9=Gambar Watermark: watermark.selectText.9=Gambar Watermark:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Konversi PDF ke PDF-Image
watermark.submit=Tambahkan Watermark watermark.submit=Tambahkan Watermark
watermark.type.1=Text watermark.type.1=Teks
watermark.type.2=Image watermark.type.2=Gambar
#Change permissions #Change permissions
@@ -1060,7 +1085,7 @@ changeMetadata.author=Penulis:
changeMetadata.creationDate=Tanggal Dibuat (yyyy/MM/dd HH:mm:ss): changeMetadata.creationDate=Tanggal Dibuat (yyyy/MM/dd HH:mm:ss):
changeMetadata.creator=Pencipta: changeMetadata.creator=Pencipta:
changeMetadata.keywords=Kata kunci: changeMetadata.keywords=Kata kunci:
changeMetadata.modDate=Tangal Diupdate (yyyy/MM/dd HH:mm:ss): changeMetadata.modDate=Tangal Diperbarui (yyyy/MM/dd HH:mm:ss):
changeMetadata.producer=Produser: changeMetadata.producer=Produser:
changeMetadata.subject=Subjek: changeMetadata.subject=Subjek:
changeMetadata.trapped=Terperangkap: changeMetadata.trapped=Terperangkap:
@@ -1074,13 +1099,13 @@ pdfToPDFA.title=PDF Ke PDF/A
pdfToPDFA.header=PDF ke PDF/A pdfToPDFA.header=PDF ke PDF/A
pdfToPDFA.credit=Layanan ini menggunakan ghostscript untuk konversi PDF/A. pdfToPDFA.credit=Layanan ini menggunakan ghostscript untuk konversi PDF/A.
pdfToPDFA.submit=Konversi pdfToPDFA.submit=Konversi
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=Saat ini tidak dapat digunakan untuk beberapa input sekaligus
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Format keluaran
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=PDF ini mengandung tanda tangan digital. Ini akan dihapus pada langkah berikutnya.
#PDFToWord #PDFToWord
PDFToWord.title=PDF Ke Word PDFToWord.title=PDF ke Word
PDFToWord.header=PDF ke Word PDFToWord.header=PDF ke Word
PDFToWord.selectText.1=Hasil format berkas PDFToWord.selectText.1=Hasil format berkas
PDFToWord.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas. PDFToWord.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
@@ -1096,7 +1121,7 @@ PDFToPresentation.submit=Konversi
#PDFToText #PDFToText
PDFToText.title=PDF Ke RTF (Text) PDFToText.title=PDF ke RTF (Text)
PDFToText.header=PDF ke RTF (Text) PDFToText.header=PDF ke RTF (Text)
PDFToText.selectText.1=Hasil format berkas PDFToText.selectText.1=Hasil format berkas
PDFToText.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas. PDFToText.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
@@ -1104,20 +1129,20 @@ PDFToText.submit=Konversi
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF Ke HTML PDFToHTML.title=PDF ke HTML
PDFToHTML.header=PDF ke HTML PDFToHTML.header=PDF ke HTML
PDFToHTML.credit=Layanan ini menggunakan pdftohtml untuk konversi berkas. PDFToHTML.credit=Layanan ini menggunakan pdftohtml untuk konversi berkas.
PDFToHTML.submit=Konversi PDFToHTML.submit=Konversi
#PDFToXML #PDFToXML
PDFToXML.title=PDF Ke XML PDFToXML.title=PDF ke XML
PDFToXML.header=PDF ke XML PDFToXML.header=PDF ke XML
PDFToXML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas. PDFToXML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas.
PDFToXML.submit=Konversi PDFToXML.submit=Konversi
#PDFToCSV #PDFToCSV
PDFToCSV.title=PDF Ke CSV PDFToCSV.title=PDF ke CSV
PDFToCSV.header=PDF ke CSV PDFToCSV.header=PDF ke CSV
PDFToCSV.prompt=Pilih halaman untuk mengambil tabel PDFToCSV.prompt=Pilih halaman untuk mengambil tabel
PDFToCSV.submit=Ektraksi PDFToCSV.submit=Ektraksi
@@ -1158,67 +1183,65 @@ split-by-sections.vertical.label=Pembagian Vertikal
split-by-sections.horizontal.placeholder=Input angka untuk pembagian horizontal split-by-sections.horizontal.placeholder=Input angka untuk pembagian horizontal
split-by-sections.vertical.placeholder=Input angka untuk pembagian vertikal split-by-sections.vertical.placeholder=Input angka untuk pembagian vertikal
split-by-sections.submit=Pisahkan PDF split-by-sections.submit=Pisahkan PDF
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Gabung Menjadi Berkas PDF Tunggal
#printFile #printFile
printFile.title=Print File printFile.title=Cetak File
printFile.header=Print File to Printer printFile.header=Cetak File ke Printer
printFile.selectText.1=Select File to Print printFile.selectText.1=Pilih File untuk Dicetak
printFile.selectText.2=Enter Printer Name printFile.selectText.2=Masukkan Nama Printer
printFile.submit=Print printFile.submit=Cetak
#licenses #licenses
licenses.nav=Licenses licenses.nav=Lisensi
licenses.title=3rd Party Licenses licenses.title=Lisensi Pihak Ketiga
licenses.header=3rd Party Licenses licenses.header=Lisensi Pihak Ketiga
licenses.module=Module licenses.module=Modul
licenses.version=Version licenses.version=Versi
licenses.license=License licenses.license=Lisensi
#survey #survey
survey.nav=Survey survey.nav=Survei
survey.title=Stirling-PDF Survey survey.title=Survei Stirling-PDF
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF tidak memiliki pelacakan, jadi kami ingin mendengar dari pengguna kami untuk meningkatkan Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF telah berubah sejak survei terakhir! Untuk mengetahui lebih lanjut, silakan periksa posting blog kami di sini:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Dengan perubahan ini, kami mendapatkan dukungan bisnis yang dibayar dan pendanaan
survey.please=Please consider taking our survey! survey.please=Silakan pertimbangkan untuk mengikuti survei kami!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(Popup survei akan dinonaktifkan dalam pembaruan berikutnya tetapi tersedia di bagian bawah halaman)
survey.button=Take Survey survey.button=Ikuti Survei
survey.dontShowAgain=Don't show again survey.dontShowAgain=Jangan tampilkan lagi
#error #error
error.sorry=Sorry for the issue! error.sorry=Maaf atas masalah ini!
error.needHelp=Need help / Found an issue? error.needHelp=Butuh bantuan / Menemukan masalah?
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord: error.contactTip=Jika Anda masih mengalami kesulitan, jangan ragu untuk menghubungi kami untuk bantuan. Anda dapat mengirim tiket di halaman GitHub kami atau menghubungi kami melalui Discord:
error.404.head=404 - Page Not Found | Oops, we tripped in the code! error.404.head=404 - Halaman Tidak Ditemukan | Ups, kami tersandung dalam kode!
error.404.1=We can't seem to find the page you're looking for. error.404.1=Kami tidak dapat menemukan halaman yang Anda cari.
error.404.2=Something went wrong error.404.2=Terjadi kesalahan
error.github=Submit a ticket on GitHub error.github=Kirim tiket di GitHub
error.showStack=Show Stack Trace error.showStack=Tampilkan Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Salin Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Kirim tiket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Kirim pos dukungan
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Hapus gambar
removeImage.header=Remove image removeImage.header=Hapus gambar
removeImage.removeImage=Remove image removeImage.removeImage=Hapus gambar
removeImage.submit=Remove image removeImage.submit=Hapus gambar
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Pecah PDF berdasarkan Bab
splitByChapters.header=Pecah PDF berdasarkan Bab
splitByChapters.bookmarkLevel=Tingkatan Markah
splitByChapters.includeMetadata=Termasuk Metadata
splitByChapters.allowDuplicates=Izinkan Duplikat
splitByChapters.desc.1=Alat ini membagi file PDF menjadi beberapa PDF berdasarkan struktur babnya.
splitByChapters.desc.2=Tingkatan Markah: Pilih tingkatan markah yang digunakan untuk membagi (0 untuk tingkat atas, 1 untuk tingkat kedua, dll.).
splitByChapters.desc.3=Termasuk Metadata: Jika dicentang, metadata asli PDF akan disertakan dalam setiap PDF yang dibagi.
splitByChapters.desc.4=Izinkan Duplikat: Jika dicentang, mengizinkan beberapa markah pada halaman yang sama untuk membuat PDF terpisah.
splitByChapters.submit=Pecah PDF

View File

@@ -27,7 +27,7 @@ bored=Stanco di aspettare?
alphabet=Alfabeto alphabet=Alfabeto
downloadPdf=Scarica PDF downloadPdf=Scarica PDF
text=Testo text=Testo
font=Font font=Fonte
selectFillter=-- Seleziona -- selectFillter=-- Seleziona --
pageNum=Numero pagina pageNum=Numero pagina
sizes.small=Piccolo sizes.small=Piccolo
@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Pagina page=Pagina
pages=Pagine pages=Pagine
loading=Caricamento...
addToDoc=Aggiungi al documento
reset=Reset
legal.privacy=Informativa sulla privacy legal.privacy=Informativa sulla privacy
legal.terms=Termini e Condizioni legal.terms=Termini e Condizioni
@@ -108,7 +111,7 @@ pipelineOptions.pipelineNamePrompt=Inserisci qui il nome della pipeline
pipelineOptions.selectOperation=Seleziona operazione pipelineOptions.selectOperation=Seleziona operazione
pipelineOptions.addOperationButton=Aggiungi operazione pipelineOptions.addOperationButton=Aggiungi operazione
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Pipeline:
pipelineOptions.saveButton=Download pipelineOptions.saveButton=Salva
pipelineOptions.validateButton=Convalidare pipelineOptions.validateButton=Convalidare
######################## ########################
@@ -139,13 +142,14 @@ navbar.language=Lingue
navbar.settings=Impostazioni navbar.settings=Impostazioni
navbar.allTools=Strumenti navbar.allTools=Strumenti
navbar.multiTool=Strumenti multipli navbar.multiTool=Strumenti multipli
navbar.search=Cerca
navbar.sections.organize=Organizza navbar.sections.organize=Organizza
navbar.sections.convertTo=Converti in PDF navbar.sections.convertTo=Converti in PDF
navbar.sections.convertFrom=Converti da PDF navbar.sections.convertFrom=Converti da PDF
navbar.sections.security=Firma & Sicurezza navbar.sections.security=Firma & Sicurezza
navbar.sections.advance=Avanzate navbar.sections.advance=Avanzate
navbar.sections.edit=Visualizza & Modifica navbar.sections.edit=Visualizza & Modifica
navbar.sections.popular=Populare navbar.sections.popular=Popolare
############# #############
# SETTINGS # # SETTINGS #
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Il file non deve essere nullo o vuoto
database.failedImportFile=Importazione file non riuscita database.failedImportFile=Importazione file non riuscita
session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova. session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova.
session.refreshPage=Aggiorna pagina
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Mostra firma
certSign.reason=Motivo certSign.reason=Motivo
certSign.location=Posizione certSign.location=Posizione
certSign.name=Nome certSign.name=Nome
certSign.showLogo=Mostra Logo
certSign.submit=Firma PDF certSign.submit=Firma PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Evidenzia colore 2:
compare.document.1=Documento 1 compare.document.1=Documento 1
compare.document.2=Documento 2 compare.document.2=Documento 2
compare.submit=Compara compare.submit=Compara
compare.complex.message=Uno o entrambi i documenti forniti sono file di grandi dimensioni, l'accuratezza del confronto potrebbe risultare ridotta
compare.large.file.message=Uno o entrambi i documenti forniti sono troppo grandi per essere elaborati
compare.no.text.message=Uno o entrambi i PDF selezionati non hanno contenuto di testo. Si prega di scegliere PDF con testo per il confronto.
#BookToPDF #BookToPDF
BookToPDF.title=Libri e fumetti in PDF BookToPDF.title=Libri e fumetti in PDF
@@ -804,6 +813,11 @@ sign.draw=Disegna Firma
sign.text=Testo sign.text=Testo
sign.clear=Cancella sign.clear=Cancella
sign.add=Aggiungi sign.add=Aggiungi
sign.saved=Firme salvate
sign.save=Firma salvata
sign.personalSigs=Firme personali
sign.sharedSigs=Firme condivise
sign.noSavedSigs=Nessuna firma salvata trovata
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(ad es. 1,3,2 o 4-8,2,10-12 o 2n-1)
multiTool.title=Multifunzione PDF multiTool.title=Multifunzione PDF
multiTool.header=Multifunzione PDF multiTool.header=Multifunzione PDF
multiTool.uploadPrompts=Nome file multiTool.uploadPrompts=Nome file
multiTool.selectAll=Seleziona tutto
multiTool.deselectAll=Deseleziona tutto
multiTool.selectPages=Seleziona pagina
multiTool.selectedPages=Seleziona pagine
multiTool.page=Pagina
multiTool.deleteSelected=Elimina selezionata
multiTool.downloadAll=Esporta
multiTool.downloadSelected=Esporta selezionata
#multiTool-advert
multiTool-advert.message=Questa funzione è disponibile anche nella nostra <a href="{0}">pagina multi-strumento</a>. Scoprila per un'interfaccia utente pagina per pagina migliorata e funzionalità aggiuntive!
#view pdf #view pdf
viewPdf.title=Visualizza PDF viewPdf.title=Visualizza PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Livello segnalibro: seleziona il livello dei segnalibri d
splitByChapters.desc.3=Includi metadati: se selezionato, i metadati del PDF originale verranno inclusi in ogni PDF diviso. splitByChapters.desc.3=Includi metadati: se selezionato, i metadati del PDF originale verranno inclusi in ogni PDF diviso.
splitByChapters.desc.4=Consenti duplicati: se selezionata, consente più segnalibri sulla stessa pagina per creare PDF separati. splitByChapters.desc.4=Consenti duplicati: se selezionata, consente più segnalibri sulla stessa pagina per creare PDF separati.
splitByChapters.submit=Dividi PDF splitByChapters.submit=Dividi PDF

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=プライバシーポリシー legal.privacy=プライバシーポリシー
legal.terms=利用規約 legal.terms=利用規約
@@ -139,6 +142,7 @@ navbar.language=言語
navbar.settings=設定 navbar.settings=設定
navbar.allTools=ツール navbar.allTools=ツール
navbar.multiTool=マルチツール navbar.multiTool=マルチツール
navbar.search=Search
navbar.sections.organize=整理 navbar.sections.organize=整理
navbar.sections.convertTo=PDFへ変換 navbar.sections.convertTo=PDFへ変換
navbar.sections.convertFrom=PDFから変換 navbar.sections.convertFrom=PDFから変換
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=ファイルは null または空であってはなり
database.failedImportFile=ファイルのインポートに失敗 database.failedImportFile=ファイルのインポートに失敗
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=署名を表示
certSign.reason=理由 certSign.reason=理由
certSign.location=場所 certSign.location=場所
certSign.name=名前 certSign.name=名前
certSign.showLogo=Show Logo
certSign.submit=PDFに署名 certSign.submit=PDFに署名
@@ -782,6 +788,9 @@ compare.highlightColor.2=ハイライトカラー 2:
compare.document.1=ドキュメント 1 compare.document.1=ドキュメント 1
compare.document.2=ドキュメント 2 compare.document.2=ドキュメント 2
compare.submit=比較 compare.submit=比較
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=書籍やコミックをPDFに変換 BookToPDF.title=書籍やコミックをPDFに変換
@@ -804,6 +813,11 @@ sign.draw=署名を書く
sign.text=テキスト入力 sign.text=テキスト入力
sign.clear=クリア sign.clear=クリア
sign.add=追加 sign.add=追加
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(例:1,3,2または4-8,2,10-12または2n-1)
multiTool.title=PDFマルチツール multiTool.title=PDFマルチツール
multiTool.header=PDFマルチツール multiTool.header=PDFマルチツール
multiTool.uploadPrompts=ファイル名 multiTool.uploadPrompts=ファイル名
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDFを表示 viewPdf.title=PDFを表示
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=폰트 크기
addPageNumbers.fontName=Font Name addPageNumbers.fontName=폰트 이름
pdfPrompt=PDF 파일 선택 pdfPrompt=PDF 파일 선택
multiPdfPrompt=여러 PDF 파일 선택 multiPdfPrompt=여러 PDF 파일 선택
multiPdfDropPrompt=사용할 모든 PDF 문서를 선택(또는 드래그 앤 드롭)합니다 multiPdfDropPrompt=사용할 모든 PDF 문서를 선택(또는 드래그 앤 드롭)합니다
@@ -47,7 +47,7 @@ green=녹색
blue=파랑 blue=파랑
custom=관습... custom=관습...
WorkInProgess=작업 진행 중, 작동하지 않거나 버그가 있을 수 있음, 문제가 있으면 보고하십시오! WorkInProgess=작업 진행 중, 작동하지 않거나 버그가 있을 수 있음, 문제가 있으면 보고하십시오!
poweredBy=Powered by poweredBy=제공
yes= yes=
no=아니요 no=아니요
changedCredsMessage=계정 정보 변경 성공! changedCredsMessage=계정 정보 변경 성공!
@@ -56,15 +56,15 @@ userNotFoundMessage=사용자를 찾을 수 없습니다.
incorrectPasswordMessage=현재 비밀번호가 틀립니다. incorrectPasswordMessage=현재 비밀번호가 틀립니다.
usernameExistsMessage=새 사용자명이 이미 존재합니다. usernameExistsMessage=새 사용자명이 이미 존재합니다.
invalidUsernameMessage=잘못된 사용자 이름입니다. 사용자 이름에는 문자, 숫자 및 다음 특수 문자(@._+-)만 포함할 수 있거나 유효한 이메일 주소여야 합니다. invalidUsernameMessage=잘못된 사용자 이름입니다. 사용자 이름에는 문자, 숫자 및 다음 특수 문자(@._+-)만 포함할 수 있거나 유효한 이메일 주소여야 합니다.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=비밀번호는 빈칸일 수 없습니다. 또한 시작이나 끝에 공백을 가질 수 없습니다.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=새 비밀번호와 새 비밀번호 확인이 일치하지 않습니다.
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다. deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다. deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
downgradeCurrentUserMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다 downgradeCurrentUserMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=현재 사용자는 비활성화할 수 없습니다
downgradeCurrentUserLongMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다. 따라서 현재 사용자는 표시되지 않습니다. downgradeCurrentUserLongMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다. 따라서 현재 사용자는 표시되지 않습니다.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=이미 OAuth2 사용자로 등록되어 있습니다.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=이미 웹 사용자로 등록되어 있습니다.
error=오류 error=오류
oops=어머나! oops=어머나!
help=도움말 help=도움말
@@ -75,16 +75,19 @@ visitGithub=GitHub 저장소 방문하기
donate=기부하기 donate=기부하기
color=색상 color=색상
sponsor=스폰서 sponsor=스폰서
info=Info info=정보
pro=Pro pro=프로
page=Page page=페이지
pages=Pages pages=페이지
loading=로딩 중...
addToDoc=문서에 추가
reset=Reset
legal.privacy=Privacy Policy legal.privacy=개인 정보 정책
legal.terms=Terms and Conditions legal.terms=이용 약관
legal.accessibility=Accessibility legal.accessibility=접근성
legal.cookie=Cookie Policy legal.cookie=쿠키 정책
legal.impressum=Impressum legal.impressum=임프레스무
############### ###############
# Pipeline # # Pipeline #
@@ -96,7 +99,7 @@ pipeline.defaultOption=관습
pipeline.submitButton=전송 pipeline.submitButton=전송
pipeline.help=파이프라인 도움말 pipeline.help=파이프라인 도움말
pipeline.scanHelp=폴더 스캔 도움말 pipeline.scanHelp=폴더 스캔 도움말
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=프로젝트 파이프라인을 삭제하시겠습니까?
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -114,45 +117,46 @@ pipelineOptions.validateButton=확인
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=프로페셔널 버전으로 업그레이드
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=이 기능은 프로 버전 사용자만 이용 가능합니다.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=스털링 PDF 프로버전은 YAML 구성 파일과 기타 SSO 기능을 지원합니다.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=스털링 PDF를 더 나은 서비스로 발전시키고 싶으신가요?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=스털링 PDF는 사용자 정보 및 파일 내용을 추적하지 않는 제품 개선을 위한 옵인 애널리틱스 기능을 제공합니다.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=애널리틱스 기능을 활성화해 주셔서 스<>털링-PDF가 성장하고 우리 사용자를 더 잘 이해할 수 있도록 도와주세요.
analytics.enable=Enable analytics analytics.enable=애널리틱스 활성화
analytics.disable=Disable analytics analytics.disable=애널리틱스 비활성화
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=애널리틱스 설정은 config/settings.yml 파일에서 변경하실 수 있습니다.
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=즐겨찾기
navbar.darkmode=다크 모드 navbar.darkmode=다크 모드
navbar.language=Languages navbar.language=언어
navbar.settings=설정 navbar.settings=설정
navbar.allTools=Tools navbar.allTools=도구
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=조직
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=PDF로 변환
navbar.sections.security=Sign & Security navbar.sections.convertFrom=PDF에서 변환
navbar.sections.advance=Advanced navbar.sections.security=서명 & 보안
navbar.sections.edit=View & Edit navbar.sections.advance=고급
navbar.sections.popular=Popular navbar.sections.edit=보기 & 편집
navbar.sections.popular=인기
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=설정 settings.title=설정
settings.update=업데이트 가능 settings.update=업데이트 가능
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0}는 현재 설치된 버전입니다. 새로운 버전 ({1})이 있습니다.
settings.appVersion=앱 버전: settings.appVersion=앱 버전:
settings.downloadOption.title=다운로드 옵션 선택 (zip 파일이 아닌 단일 파일 다운로드 시): settings.downloadOption.title=다운로드 옵션 선택 (zip 파일이 아닌 단일 파일 다운로드 시):
settings.downloadOption.1=현재 창에서 열기 settings.downloadOption.1=현재 창에서 열기
@@ -161,9 +165,9 @@ settings.downloadOption.3=다운로드
settings.zipThreshold=다운로드한 파일 수가 초과된 경우 파일 압축하기 settings.zipThreshold=다운로드한 파일 수가 초과된 경우 파일 압축하기
settings.signOut=로그아웃 settings.signOut=로그아웃
settings.accountSettings=계정 설정 settings.accountSettings=계정 설정
settings.bored.help=Enables easter egg game settings.bored.help=알라딘 게임을 활성화합니다
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=입력 저장
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=사용한 입력을 다음 실행에 저장하기 위해 활성화
changeCreds.title=계정 정보 변경 changeCreds.title=계정 정보 변경
changeCreds.header=계정 정보 업데이트 changeCreds.header=계정 정보 업데이트
@@ -202,9 +206,9 @@ adminUserSettings.header=사용자 관리
adminUserSettings.admin=관리자 adminUserSettings.admin=관리자
adminUserSettings.user=사용자 adminUserSettings.user=사용자
adminUserSettings.addUser=새 사용자 추가 adminUserSettings.addUser=새 사용자 추가
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=유저 삭제
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=이 유저를 삭제하시겠습니까?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=이 유저의 상태를 변경하시겠습니까?
adminUserSettings.usernameInfo=사용자 이름은 문자, 숫자, 특수 문자 @._+-만 포함할 수 있으며 유효한 이메일 주소여야 합니다. adminUserSettings.usernameInfo=사용자 이름은 문자, 숫자, 특수 문자 @._+-만 포함할 수 있으며 유효한 이메일 주소여야 합니다.
adminUserSettings.roles=역할 adminUserSettings.roles=역할
adminUserSettings.role=역할 adminUserSettings.role=역할
@@ -217,33 +221,34 @@ adminUserSettings.internalApiUser=내부 API 사용자
adminUserSettings.forceChange=다음 로그인 때 사용자명과 비밀번호를 변경하도록 강제 adminUserSettings.forceChange=다음 로그인 때 사용자명과 비밀번호를 변경하도록 강제
adminUserSettings.submit=사용자 저장 adminUserSettings.submit=사용자 저장
adminUserSettings.changeUserRole=사용자의 역할 변경 adminUserSettings.changeUserRole=사용자의 역할 변경
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=인증됨
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=자신의 프로필 편집
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=활성화된 사용자
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=비활성화된 사용자
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=활성화된 사용자:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=비활성화된 사용자:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=총 사용자 수:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=최근 요청
database.title=Database Import/Export database.title=데이터베이스 내보내기/임포트
database.header=Database Import/Export database.header=데이터베이스 내보내기/임포트
database.fileName=File Name database.fileName=파일 이름
database.creationDate=Creation Date database.creationDate=생성 날짜
database.fileSize=File Size database.fileSize=파일 크기
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=백업 파일 삭제
database.importBackupFile=Import Backup File database.importBackupFile=백업 파일 가져오기
database.downloadBackupFile=Download Backup File database.downloadBackupFile=백업 파일 다운로드
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=데이터를 가져올 때 적절한 구조가 중요합니다. 자신이 무엇을 하는지 확실하지 않다면 전문가의 조언과 지원을 청하는 것이 좋습니다. 구조에 오류가 있으면 애플리케이션 기능 실패나 애플리케이션이 완전히 작동하지 못하게 되는 등의 문제를 초래할 수 있습니다.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=업로드 시 파일 이름은 중요하지 않습니다. 후에 backup_user_yyyyMMddHHmm.sql 형식으로 다시 지정되어 일관된 이름 규칙을 유지합니다.
database.submit=Import Backup database.submit=백업 가져오기
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=데이터베이스에 성공적으로 가져왔습니다
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=파일은 null이나 빈 상태로 될 수 없습니다
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=세션이 만료되었습니다. 페이지를 새로 고침하고 다시 시도해 주세요.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -254,7 +259,7 @@ home.searchBar=기능 검색...
home.viewPdf.title=PDF 뷰어 home.viewPdf.title=PDF 뷰어
home.viewPdf.desc=PDF 문서을 보고 주석을 달거나, 텍스트 또는 이미지를 추가합니다. home.viewPdf.desc=PDF 문서을 보고 주석을 달거나, 텍스트 또는 이미지를 추가합니다.
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=보기, 읽기, 표시, 텍스트, 이미지
home.multiTool.title=PDF 멀티 툴 home.multiTool.title=PDF 멀티 툴
home.multiTool.desc=PDF 문서의 페이지를 병합, 회전, 재배열, 제거합니다. home.multiTool.desc=PDF 문서의 페이지를 병합, 회전, 재배열, 제거합니다.
@@ -262,96 +267,96 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side
home.merge.title=병합 home.merge.title=병합
home.merge.desc=여러 개의 PDF 문서을 쉽게 하나로 합칩니다. home.merge.desc=여러 개의 PDF 문서을 쉽게 하나로 합칩니다.
merge.tags=merge,Page operations,Back end,server side merge.tags=결합, 페이지 작업, 뒷단, 서버 측
home.split.title=분할 home.split.title=분할
home.split.desc=하나의 PDF 문서을 여러 개의 PDF 문서로 분할합니다. home.split.desc=하나의 PDF 문서을 여러 개의 PDF 문서로 분할합니다.
split.tags=Page operations,divide,Multi Page,cut,server side split.tags=페이지 작업, 분할, 멀티페이지, 자르기, 서버 측
home.rotate.title=회전 home.rotate.title=회전
home.rotate.desc=PDF 페이지를 회전합니다. home.rotate.desc=PDF 페이지를 회전합니다.
rotate.tags=server side rotate.tags=서버 측
home.imageToPdf.title=이미지를 PDF로 home.imageToPdf.title=이미지를 PDF로
home.imageToPdf.desc=이미지(PNG, JPEG, GIF)를 PDF 문서로 변환합니다. home.imageToPdf.desc=이미지(PNG, JPEG, GIF)를 PDF 문서로 변환합니다.
imageToPdf.tags=conversion,img,jpg,picture,photo imageToPdf.tags=변환, 이미지, jpg, 사진, 사진
home.pdfToImage.title=PDF를 이미지로 home.pdfToImage.title=PDF를 이미지로
home.pdfToImage.desc=PDF 문서을 이미지(PNG, JPEG, GIF)로 변환합니다. home.pdfToImage.desc=PDF 문서을 이미지(PNG, JPEG, GIF)로 변환합니다.
pdfToImage.tags=conversion,img,jpg,picture,photo pdfToImage.tags=변환, 이미지, jpg, 사진, 사진
home.pdfOrganiser.title=정렬 home.pdfOrganiser.title=정렬
home.pdfOrganiser.desc=PDF 문서의 각 페이지를 원하는 순서대로 재배열하거나 제거합니다. home.pdfOrganiser.desc=PDF 문서의 각 페이지를 원하는 순서대로 재배열하거나 제거합니다.
pdfOrganiser.tags=duplex,even,odd,sort,move pdfOrganiser.tags=복사, 짝수 페이지, 홀수 페이지, 정렬, 이동
home.addImage.title=사진 추가 home.addImage.title=사진 추가
home.addImage.desc=PDF 문서의 설정된 위치에 이미지를 추가합니다. (개발 중) home.addImage.desc=PDF 문서의 설정된 위치에 이미지를 추가합니다. (개발 중)
addImage.tags=img,jpg,picture,photo addImage.tags=이미지, jpg, 사진, 사진
home.watermark.title=워터마크 추가 home.watermark.title=워터마크 추가
home.watermark.desc=PDF 문서에 사용자 지정 워터마크를 추가합니다. home.watermark.desc=PDF 문서에 사용자 지정 워터마크를 추가합니다.
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo watermark.tags=텍스트, 반복, 라벨, 소유권, 상표, 이미지, jpg, 사진, 사진
home.permissions.title=권한 변경 home.permissions.title=권한 변경
home.permissions.desc=PDF 문서의 권한을 변경합니다. home.permissions.desc=PDF 문서의 권한을 변경합니다.
permissions.tags=read,write,edit,print permissions.tags=읽기, 쓰기, 편집, 인쇄
home.removePages.title=제거 home.removePages.title=제거
home.removePages.desc=PDF 문서에서 원치 않는 페이지를 제거합니다. home.removePages.desc=PDF 문서에서 원치 않는 페이지를 제거합니다.
removePages.tags=Remove pages,delete pages removePages.tags=페이지 제거, 삭제
home.addPassword.title=암호 추가 home.addPassword.title=암호 추가
home.addPassword.desc=PDF 문서를 비밀번호로 암호화합니다. home.addPassword.desc=PDF 문서를 비밀번호로 암호화합니다.
addPassword.tags=secure,security addPassword.tags=보안, 안전
home.removePassword.title=비밀번호 제거 home.removePassword.title=비밀번호 제거
home.removePassword.desc=PDF 문서에서 비밀번호를 제거합니다. home.removePassword.desc=PDF 문서에서 비밀번호를 제거합니다.
removePassword.tags=secure,Decrypt,security,unpassword,delete password removePassword.tags=보안, 복호화, 안전, 비밀번호 해제, 비밀번호 삭제
home.compressPdfs.title=압축 home.compressPdfs.title=압축
home.compressPdfs.desc=파일 크기를 줄이기 위해 PDF 문서를 압축합니다. home.compressPdfs.desc=파일 크기를 줄이기 위해 PDF 문서를 압축합니다.
compressPdfs.tags=squish,small,tiny compressPdfs.tags=압축, 작게 만드는
home.changeMetadata.title=메타데이터 변경 home.changeMetadata.title=메타데이터 변경
home.changeMetadata.desc=PDF 문서의 메타데이터를 수정/제거/추가합니다. home.changeMetadata.desc=PDF 문서의 메타데이터를 수정/제거/추가합니다.
changeMetadata.tags=Title,author,date,creation,time,publisher,producer,stats changeMetadata.tags=제목, 저자, 날짜, 생성 시간, 출판사, 제작자, 통계
home.fileToPDF.title=파일을 PDF로 변환 home.fileToPDF.title=파일을 PDF로 변환
home.fileToPDF.desc=거의 모든 파일을 PDF로 변환합니다(DOCX, PNG, XLS, PPT, TXT 등) home.fileToPDF.desc=거의 모든 파일을 PDF로 변환합니다(DOCX, PNG, XLS, PPT, TXT 등)
fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint fileToPDF.tags=변환, 포맷, 문서, 사진, 슬라이드, 텍스트, 변환, 오피스,-docs, word, excel, powerpoint
home.ocr.title=OCR / 깔끔하게 스캔 home.ocr.title=OCR / 깔끔하게 스캔
home.ocr.desc=깔끔하게 스캔한 뒤, PDF 내의 이미지에서 텍스트를 감지하여 텍스트로 다시 추가합니다. home.ocr.desc=깔끔하게 스캔한 뒤, PDF 내의 이미지에서 텍스트를 감지하여 텍스트로 다시 추가합니다.
ocr.tags=recognition,text,image,scan,read,identify,detection,editable ocr.tags=인식, 텍스트, 이미지, 스캔, 읽기, 식별, 감지, 편집 가능한
home.extractImages.title=이미지 추출 home.extractImages.title=이미지 추출
home.extractImages.desc=PDF에서 모든 이미지를 추출하여 zip으로 저장합니다. home.extractImages.desc=PDF에서 모든 이미지를 추출하여 zip으로 저장합니다.
extractImages.tags=picture,photo,save,archive,zip,capture,grab extractImages.tags=사진, 스크린샷 저장, 압축, 캡처, 잡아두기
home.pdfToPDFA.title=PDF를 PDF/A로 변환 home.pdfToPDFA.title=PDF를 PDF/A로 변환
home.pdfToPDFA.desc=장기 보관을 위해 PDF 문서를 PDF/A 문서로 변환합니다. home.pdfToPDFA.desc=장기 보관을 위해 PDF 문서를 PDF/A 문서로 변환합니다.
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation pdfToPDFA.tags=보관, 장기 보관, 표준화, 변환, 기록 보존
home.PDFToWord.title=PDF를 Word로 home.PDFToWord.title=PDF를 Word로
home.PDFToWord.desc=PDF 문서를 Word 형식으로 변환합니다. (DOC, DOCX, ODT) home.PDFToWord.desc=PDF 문서를 Word 형식으로 변환합니다. (DOC, DOCX, ODT)
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile PDFToWord.tags=doc, docx, odt, word, 변환, 포맷, 변환, 오피스, microsoft, docfile
home.PDFToPresentation.title=PDF를 프리젠테이션으로 home.PDFToPresentation.title=PDF를 프리젠테이션으로
home.PDFToPresentation.desc=PDF 문서를 프리젠테이션 형식으로 변환합니다. (PPT, PPTX, ODP) home.PDFToPresentation.desc=PDF 문서를 프리젠테이션 형식으로 변환합니다. (PPT, PPTX, ODP)
PDFToPresentation.tags=slides,show,office,microsoft PDFToPresentation.tags=슬라이드, 강의, office, microsoft
home.PDFToText.title=PDF to 텍스트/RTF home.PDFToText.title=PDF to 텍스트/RTF
home.PDFToText.desc=PDF 문서를 텍스트 또는 RTF 형식으로 변환합니다. home.PDFToText.desc=PDF 문서를 텍스트 또는 RTF 형식으로 변환합니다.
PDFToText.tags=richformat,richtextformat,rich text format PDFToText.tags=가이득한 텍스트 형식, 풍부한 텍스트 형식, 풍부한 텍스트 포맷
home.PDFToHTML.title=PDF를 HTML로 home.PDFToHTML.title=PDF를 HTML로
home.PDFToHTML.desc=PDF 문서를 HTML 형식으로 변환합니다. home.PDFToHTML.desc=PDF 문서를 HTML 형식으로 변환합니다.
PDFToHTML.tags=web content,browser friendly PDFToHTML.tags=웹 콘텐츠, 브라우저 친화적
home.PDFToXML.title=PDF를 XML로 변환 home.PDFToXML.title=PDF를 XML로 변환
@@ -360,63 +365,63 @@ PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
home.ScannerImageSplit.title=스캔한 사진 감지/분할 home.ScannerImageSplit.title=스캔한 사진 감지/분할
home.ScannerImageSplit.desc=스캔된 PDF 문서 내에서 여러 장의 사진을 분할합니다. home.ScannerImageSplit.desc=스캔된 PDF 문서 내에서 여러 장의 사진을 분할합니다.
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize ScannerImageSplit.tags=분리, 자동 감지, 스캔, 다중 사진, 조직
home.sign.title=서명 home.sign.title=서명
home.sign.desc=PDF 문서에 그림, 텍스트, 이미지로 서명을 추가합니다. home.sign.desc=PDF 문서에 그림, 텍스트, 이미지로 서명을 추가합니다.
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature sign.tags=인증, 초기값, 손글씨 서명, 텍스트 서명, 이미지 서명
home.flatten.title=평탄화 home.flatten.title=평탄화
home.flatten.desc=PDF 문서에서 모든 상호작용 요소와 양식을 제거합니다. home.flatten.desc=PDF 문서에서 모든 상호작용 요소와 양식을 제거합니다.
flatten.tags=static,deactivate,non-interactive,streamline flatten.tags=정적화, 비활성화, 비 상호작용, 절전 모드
home.repair.title=복구 home.repair.title=복구
home.repair.desc=손상된 PDF 문서의 복구를 시도합니다. home.repair.desc=손상된 PDF 문서의 복구를 시도합니다.
repair.tags=fix,restore,correction,recover repair.tags=수리, 복원, 수정, 회복
home.removeBlanks.title=빈 페이지 제거 home.removeBlanks.title=빈 페이지 제거
home.removeBlanks.desc=PDF 문서에서 빈 페이지를 감지하고 제거합니다. home.removeBlanks.desc=PDF 문서에서 빈 페이지를 감지하고 제거합니다.
removeBlanks.tags=cleanup,streamline,non-content,organize removeBlanks.tags=정돈, 단순화, 콘텐츠 외부 내용 제거, 조직
home.removeAnnotations.title=주석 제거 home.removeAnnotations.title=주석 제거
home.removeAnnotations.desc=PDF에서 모든 주석/주석을 제거합니다. home.removeAnnotations.desc=PDF에서 모든 주석/주석을 제거합니다.
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=코멘트, 강조 표시, 주석, 마크업, 삭제
home.compare.title=비교 home.compare.title=비교
home.compare.desc=2개의 PDF 문서를 비교하고 차이를 표시합니다. home.compare.desc=2개의 PDF 문서를 비교하고 차이를 표시합니다.
compare.tags=differentiate,contrast,changes,analysis compare.tags=분별, 대조, 변화, 분석
home.certSign.title=인증서로 서명 home.certSign.title=인증서로 서명
home.certSign.desc=PDF 문서에 인증서 또는 키로 서명합니다. (PEM/P12) home.certSign.desc=PDF 문서에 인증서 또는 키로 서명합니다. (PEM/P12)
certSign.tags=authenticate,PEM,P12,official,encrypt certSign.tags=인증, PEM, P12, 공식적, 암호화
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=서명 제거
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=PDF에서 서명을 제거합니다.
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=인증, PEM, P12, 공식적, 복호화
home.pageLayout.title=다중 페이지 레이아웃 home.pageLayout.title=다중 페이지 레이아웃
home.pageLayout.desc=PDF 문서의 여러 페이지를 한 페이지로 합칩니다. home.pageLayout.desc=PDF 문서의 여러 페이지를 한 페이지로 합칩니다.
pageLayout.tags=merge,composite,single-view,organize pageLayout.tags=병합, 합성, 단일 뷰, 정리
home.scalePages.title=페이지 크기 및 배율 조정 home.scalePages.title=페이지 크기 및 배율 조정
home.scalePages.desc=페이지 및 그 페이지 내용의 크기와 배율을 조정합니다. home.scalePages.desc=페이지 및 그 페이지 내용의 크기와 배율을 조정합니다.
scalePages.tags=resize,modify,dimension,adapt scalePages.tags=크기 조정, 수정, 차원, 적응
home.pipeline.title=파이프라인 (고급 기능) home.pipeline.title=파이프라인 (고급 기능)
home.pipeline.desc=파이프라인 스크립트를 사용해서 PDF 문서에 여러 동작을 수행합니다. home.pipeline.desc=파이프라인 스크립트를 사용해서 PDF 문서에 여러 동작을 수행합니다.
pipeline.tags=automate,sequence,scripted,batch-process pipeline.tags=자동화, 시퀀스, 스크립트, 배치 처리
home.add-page-numbers.title=페이지 번호 추가 home.add-page-numbers.title=페이지 번호 추가
home.add-page-numbers.desc=PDF 문서의 페이지마다, 설정한 위치에 페이지 번호를 삽입합니다. home.add-page-numbers.desc=PDF 문서의 페이지마다, 설정한 위치에 페이지 번호를 삽입합니다.
add-page-numbers.tags=paginate,label,organize,index add-page-numbers.tags=페이지 번호 추가, 레이블링, 정리, 인덱싱
home.auto-rename.title=자동 이름 변경 home.auto-rename.title=자동 이름 변경
home.auto-rename.desc=제목을 감지하여 자동으로 PDF 문서의 파일 이름을 변경합니다. home.auto-rename.desc=제목을 감지하여 자동으로 PDF 문서의 파일 이름을 변경합니다.
auto-rename.tags=auto-detect,header-based,organize,relabel auto-rename.tags=자동 탐지, 헤더 기반, 정리, 재레이블
home.adjust-contrast.title=색상/대비 조정 home.adjust-contrast.title=색상/대비 조정
home.adjust-contrast.desc=PDF 문서의 대비, 채도, 밝기를 조정합니다. home.adjust-contrast.desc=PDF 문서의 대비, 채도, 밝기를 조정합니다.
adjust-contrast.tags=color-correction,tune,modify,enhance adjust-contrast.tags=색상 보정, 조정, 수정, 향상
home.crop.title=PDF 잘라내기 home.crop.title=PDF 잘라내기
home.crop.desc=PDF 문서를 잘라내서 크기를 줄입니다. (텍스트가 그대로 유지됩니다!) home.crop.desc=PDF 문서를 잘라내서 크기를 줄입니다. (텍스트가 그대로 유지됩니다!)
@@ -424,29 +429,29 @@ crop.tags=trim,shrink,edit,shape
home.autoSplitPDF.title=자동 문서 나누기 home.autoSplitPDF.title=자동 문서 나누기
home.autoSplitPDF.desc=구분용 QR코드가 들어있는 페이지를 경계로 하여, 스캔된 PDF 문서를 자동으로 나눕니다. home.autoSplitPDF.desc=구분용 QR코드가 들어있는 페이지를 경계로 하여, 스캔된 PDF 문서를 자동으로 나눕니다.
autoSplitPDF.tags=QR-based,separate,scan-segment,organize autoSplitPDF.tags=QR 코드 기반, 분리, 스캔 분할, 정리
home.sanitizePdf.title=정제 home.sanitizePdf.title=정제
home.sanitizePdf.desc=PDF 문서에서 스크립트와 같은 요소들을 제거합니다. home.sanitizePdf.desc=PDF 문서에서 스크립트와 같은 요소들을 제거합니다.
sanitizePdf.tags=clean,secure,safe,remove-threats sanitizePdf.tags=클린징, 보안, 안전, 위협 제거
home.URLToPDF.title=URL/웹사이트를 PDF로 home.URLToPDF.title=URL/웹사이트를 PDF로
home.URLToPDF.desc=http(s) 웹사이트를 PDF 문서로 변환합니다. home.URLToPDF.desc=http(s) 웹사이트를 PDF 문서로 변환합니다.
URLToPDF.tags=web-capture,save-page,web-to-doc,archive URLToPDF.tags=웹 캡처, 페이지 저장, 웹 문서 변환, 장기 보관
home.HTMLToPDF.title=HTML에서 PDF로 home.HTMLToPDF.title=HTML에서 PDF로
home.HTMLToPDF.desc=HTML 파일, 또는 ZIP 파일을 PDF로 변환합니다. home.HTMLToPDF.desc=HTML 파일, 또는 ZIP 파일을 PDF로 변환합니다.
HTMLToPDF.tags=markup,web-content,transformation,convert HTMLToPDF.tags=마크업, 웹 내용 변환, 변환
home.MarkdownToPDF.title=Markdown에서 PDF로 home.MarkdownToPDF.title=Markdown에서 PDF로
home.MarkdownToPDF.desc=마크다운 파일을 PDF 문서로 변환합니다. home.MarkdownToPDF.desc=마크다운 파일을 PDF 문서로 변환합니다.
MarkdownToPDF.tags=markup,web-content,transformation,convert MarkdownToPDF.tags=마크업, 웹 내용 변환, 변환
home.getPdfInfo.title=PDF 정보 읽기 home.getPdfInfo.title=PDF 정보 읽기
home.getPdfInfo.desc=PDF 문서의 가능한 모든 정보를 읽습니다. home.getPdfInfo.desc=PDF 문서의 가능한 모든 정보를 읽습니다.
getPdfInfo.tags=infomation,data,stats,statistics getPdfInfo.tags=정보 제공, 데이터, 통계, 통계
home.extractPage.title=페이지 추출 home.extractPage.title=페이지 추출
@@ -465,29 +470,29 @@ showJS.tags=JS
home.autoRedact.title=자동 검열 home.autoRedact.title=자동 검열
home.autoRedact.desc=PDF 문서에서 입력된 텍스트들을 자동으로 검열(모자이크)합니다. home.autoRedact.desc=PDF 문서에서 입력된 텍스트들을 자동으로 검열(모자이크)합니다.
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=노출 방지, 숨기기, 검은색 처리, 마커, 숨김
home.tableExtraxt.title=PDF에서 CSV로 home.tableExtraxt.title=PDF에서 CSV로
home.tableExtraxt.desc=PDF에서 표를 추출하여 CSV로 변환 home.tableExtraxt.desc=PDF에서 표를 추출하여 CSV로 변환
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV, 테이블 추출, 추출, 변환
home.autoSizeSplitPDF.title=크기/개수로 자동 분할 home.autoSizeSplitPDF.title=크기/개수로 자동 분할
home.autoSizeSplitPDF.desc=단일 PDF를 크기, 페이지 수 또는 문서 수에 따라 여러 문서로 분할 home.autoSizeSplitPDF.desc=단일 PDF를 크기, 페이지 수 또는 문서 수에 따라 여러 문서로 분할
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf 분할, 문서 분할, 조직화
home.overlay-pdfs.title=PDF 오버레이 home.overlay-pdfs.title=PDF 오버레이
home.overlay-pdfs.desc=PDF를 다른 PDF 위에 오버레이 home.overlay-pdfs.desc=PDF를 다른 PDF 위에 오버레이
overlay-pdfs.tags=Overlay overlay-pdfs.tags=오버레이
home.split-by-sections.title=섹션별로 PDF 분할 home.split-by-sections.title=섹션별로 PDF 분할
home.split-by-sections.desc=PDF의 각 페이지를 더 작은 가로와 세로 구역으로 나눕니다 home.split-by-sections.desc=PDF의 각 페이지를 더 작은 가로와 세로 구역으로 나눕니다
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=섹션 분할, 나누기, 커스텀
home.AddStampRequest.title=PDF에 스탬프 추가 home.AddStampRequest.title=PDF에 스탬프 추가
home.AddStampRequest.desc=설정된 위치에 텍스트 추가 또는 이미지 스탬프 추가 home.AddStampRequest.desc=설정된 위치에 텍스트 추가 또는 이미지 스탬프 추가
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=주석 추가, 이미지 중앙 정렬, 워터마크, PDF 임베딩, 커스텀
home.PDFToBook.title=PDF를 책으로 home.PDFToBook.title=PDF를 책으로
@@ -498,25 +503,25 @@ home.BookToPDF.title=책을 PDF로
home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환 home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=PDF에서 이미지 제거
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=PDF에서 이미지를 제거하여 파일 크기를 줄입니다.
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=이미지 제거, 페이지 작업, 서버 측 처리
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=챕터별로 PDF 분할
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=PDF를 여러 파일로 나눕니다. 각 장의 구조에 따라.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=분할, 챕터, 북마크, 조직화
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=색상 교체/반전 PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=PDF에서 텍스트와 배경 색상을 바꾸고 전체 PDF의 색상을 반전하여 파일 크기를 줄입니다.
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=색상 교체, 페이지 작업, 서버 측 처리
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=색상 교체 또는 반전 옵션
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=기본값(고 해밍도 색상)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=커스텀(커스텀 색상)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=전체 반전(모든 색상을 반전)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=High contrast color options
replace-color.selectText.6=white text on black background replace-color.selectText.6=white text on black background
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Black text on white background
@@ -748,14 +753,15 @@ certSign.showSig=서명 보기
certSign.reason=이유 certSign.reason=이유
certSign.location=위치 certSign.location=위치
certSign.name=이름 certSign.name=이름
certSign.showLogo=로고 표시
certSign.submit=PDF 서명 certSign.submit=PDF 서명
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=인증서 서명 제거
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=PDF에서 디지털 인증서를 제거합니다
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=PDF 파일 선택:
removeCertSign.submit=Remove Signature removeCertSign.submit=서명 제거
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=제거하다
#compare #compare
compare.title=비교 compare.title=비교
compare.header=PDF 문서 비교 compare.header=PDF 문서 비교
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=하이라이트 색상 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=하이라이트 색상 2:
compare.document.1=문서 1 compare.document.1=문서 1
compare.document.2=문서 2 compare.document.2=문서 2
compare.submit=비교 compare.submit=비교
compare.complex.message=제공된 한 개 이상의 문서가 큰 파일인 경우, 비교 정확도가 저하될 수 있습니다
compare.large.file.message=제공된 한 개 이상의 문서가 처리할 수 없을 정도로 큽니다
compare.no.text.message=선택한 PDF 중 하나 이상은 텍스트 내용이 없습니다. 비교를 위해 텍스트가 포함된 PDF를 선택하세요
#BookToPDF #BookToPDF
BookToPDF.title=책과 만화를 PDF로 BookToPDF.title=책과 만화를 PDF로
@@ -804,6 +813,11 @@ sign.draw=서명 그리기
sign.text=텍스트 입력 sign.text=텍스트 입력
sign.clear=초기화 sign.clear=초기화
sign.add=추가 sign.add=추가
sign.saved=저장된 서명
sign.save=서명 저장
sign.personalSigs=개인용 서명
sign.sharedSigs=공유용 서명
sign.noSavedSigs=저장된 서명이 없습니다
#repair #repair
@@ -815,7 +829,7 @@ repair.submit=복구
#flatten #flatten
flatten.title=평탄화 flatten.title=평탄화
flatten.header=PDF 문서의 레이어 평탄화 flatten.header=PDF 문서의 레이어 평탄화
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=양식만 압축
flatten.submit=평탄화 flatten.submit=평탄화
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=최소 윤곽 영역:
ScannerImageSplit.selectText.8=사진의 최소 윤곽선 영역 임계값을 설정합니다. ScannerImageSplit.selectText.8=사진의 최소 윤곽선 영역 임계값을 설정합니다.
ScannerImageSplit.selectText.9=테두리 크기: ScannerImageSplit.selectText.9=테두리 크기:
ScannerImageSplit.selectText.10=출력에서 흰색 테두리를 방지하기 위해 추가 및 제거되는 테두리의 크기를 설정합니다(기본값: 1). ScannerImageSplit.selectText.10=출력에서 흰색 테두리를 방지하기 위해 추가 및 제거되는 테두리의 크기를 설정합니다(기본값: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python이 설치되지 않았습니다. 이 기능을 실행하기 위해 필요합니다
#OCR #OCR
@@ -857,15 +871,15 @@ ocr.submit=인식
extractImages.title=이미지 추출 extractImages.title=이미지 추출
extractImages.header=이미지 추출 extractImages.header=이미지 추출
extractImages.selectText=추출된 이미지를 변환할 이미지 형식을 선택합니다. extractImages.selectText=추출된 이미지를 변환할 이미지 형식을 선택합니다.
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=중복 이미지 저장 허용
extractImages.submit=추출 extractImages.submit=추출
#File to PDF #File to PDF
fileToPDF.title=File to PDF fileToPDF.title=파일 to PDF
fileToPDF.header=다양한 파일을 PDF로 변환 fileToPDF.header=다양한 파일을 PDF로 변환
fileToPDF.credit=이 서비스는 파일 변환에 LibreOffice와 Unoconv를 사용합니다. fileToPDF.credit=이 서비스는 파일 변환에 LibreOffice와 Unoconv를 사용합니다.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=지원되는 파일 형식
fileToPDF.supportedFileTypes=지원되는 파일 형식은 아래와 같습니다. 지원되는 형식의 전체 업데이트 목록은 LibreOffice 설명서를 참조합니다. fileToPDF.supportedFileTypes=지원되는 파일 형식은 아래와 같습니다. 지원되는 형식의 전체 업데이트 목록은 LibreOffice 설명서를 참조합니다.
fileToPDF.submit=PDF로 변환 fileToPDF.submit=PDF로 변환
@@ -895,7 +909,7 @@ merge.title=병합
merge.header=여러 개의 PDF 병합 (2개 이상) merge.header=여러 개의 PDF 병합 (2개 이상)
merge.sortByName=이름순 정렬 merge.sortByName=이름순 정렬
merge.sortByDate=날짜순 정렬 merge.sortByDate=날짜순 정렬
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=병합 파일에서 디지털 서명을 제거하시겠습니까?
merge.submit=병합 merge.submit=병합
@@ -913,14 +927,25 @@ pdfOrganiser.mode.6=홀수-짝수 분할
pdfOrganiser.mode.7=첫 번째 항목 삭제 pdfOrganiser.mode.7=첫 번째 항목 삭제
pdfOrganiser.mode.8=마지막 항목 제거 pdfOrganiser.mode.8=마지막 항목 제거
pdfOrganiser.mode.9=첫 번째와 마지막 제거 pdfOrganiser.mode.9=첫 번째와 마지막 제거
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=홀 짝 번갈아가기 병합
pdfOrganiser.placeholder=(예: 1,3,2 또는 4-8,2,10-12 또는 2n-1) pdfOrganiser.placeholder=(예: 1,3,2 또는 4-8,2,10-12 또는 2n-1)
#multiTool #multiTool
multiTool.title=PDF 멀티툴 multiTool.title=PDF 멀티툴
multiTool.header=PDF 멀티툴 multiTool.header=PDF 멀티툴
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=파일 이름
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDF 뷰어 viewPdf.title=PDF 뷰어
@@ -982,7 +1007,7 @@ pdfToImage.color=컬러
pdfToImage.grey=그레이스케일 pdfToImage.grey=그레이스케일
pdfToImage.blackwhite=흑백 (데이터 손실 가능성 있음!) pdfToImage.blackwhite=흑백 (데이터 손실 가능성 있음!)
pdfToImage.submit=변환 pdfToImage.submit=변환
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python이 설치되어 있지 않습니다. WebP 변환에 필요합니다.
#addPassword #addPassword
@@ -1019,7 +1044,7 @@ watermark.selectText.6=세로 간격 (각 워터마크 사이의 세로 공간):
watermark.selectText.7=투명도 (0% - 100%): watermark.selectText.7=투명도 (0% - 100%):
watermark.selectText.8=워터마크 유형: watermark.selectText.8=워터마크 유형:
watermark.selectText.9=워터마크 이미지: watermark.selectText.9=워터마크 이미지:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=PDF를 PDF-Image로 변환
watermark.submit=워터마크 추가 watermark.submit=워터마크 추가
watermark.type.1=텍스트 watermark.type.1=텍스트
watermark.type.2=이미지 watermark.type.2=이미지
@@ -1075,8 +1100,8 @@ pdfToPDFA.header=PDF 문서를 PDF/A로 변환
pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 ghostscript 문서를 사용합니다. pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 ghostscript 문서를 사용합니다.
pdfToPDFA.submit=변환 pdfToPDFA.submit=변환
pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다. pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다.
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=출력 형식
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature= PDF에는 디지털 서명이 포함되어 있습니다. 다음 단계에서 이 서명이 제거될 것입니다.
#PDFToWord #PDFToWord
@@ -1162,11 +1187,11 @@ split-by-sections.merge=하나의 PDF로 병합
#printFile #printFile
printFile.title=Print File printFile.title=파일 인쇄
printFile.header=Print File to Printer printFile.header=프린터로 파일 인쇄
printFile.selectText.1=Select File to Print printFile.selectText.1=인쇄할 파일 선택
printFile.selectText.2=Enter Printer Name printFile.selectText.2=프린터 이름 입력
printFile.submit=Print printFile.submit=인쇄
#licenses #licenses
@@ -1178,15 +1203,15 @@ licenses.version=버전
licenses.license=라이센스 licenses.license=라이센스
#survey #survey
survey.nav=Survey survey.nav=설문조사
survey.title=Stirling-PDF Survey survey.title=스테링-PDF 설문조사
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=스테링-PDF는 추적 기능이 없으므로 사용자 의견을 듣습니다. 스테링-PDF를 개선합니다!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=최근 설문조사를 진행한 이후로 스테링-PDF가 변경되었습니다! 자세한 내용은 여기의 블로그 포스트를 확인하시기 바랍니다:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=이러한 변경 사항으로 인해 수익화된 비즈니스 지원과 펀딩을 받게 되었습니다
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(다음 업데이트에서는 설문 조사 팝업이 무단으로 끄일 수 있으나 페이지 하단에서 사용 가능)
survey.button=Take Survey survey.button=설문조사 참여
survey.dontShowAgain=Don't show again survey.dontShowAgain=이것은 다시 보지 않기
#error #error
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - 문의 게시
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=이미지 제거
removeImage.header=Remove image removeImage.header=이미지 제거
removeImage.removeImage=Remove image removeImage.removeImage=이미지 제거
removeImage.submit=Remove image removeImage.submit=제거
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
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 분할

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Lettertypegrootte
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Lettertypenaam
pdfPrompt=Selecteer PDF('s) pdfPrompt=Selecteer PDF('s)
multiPdfPrompt=Selecteer PDF's (2+) multiPdfPrompt=Selecteer PDF's (2+)
multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt
@@ -25,13 +25,13 @@ noFavourites=Geen favorieten toegevoegd
downloadComplete=Download klaar downloadComplete=Download klaar
bored=Verveeld met wachten? bored=Verveeld met wachten?
alphabet=Alfabet alphabet=Alfabet
downloadPdf=Download PDF downloadPdf=PDF downloaden
text=Tekst text=Tekst
font=Lettertype font=Lettertype
selectFillter=-- Selecteer -- selectFillter=-- Selecteer --
pageNum=Paginanummer pageNum=Paginanummer
sizes.small=Klein sizes.small=Klein
sizes.medium=Medium sizes.medium=Gemiddeld
sizes.large=Groot sizes.large=Groot
sizes.x-large=Extra groot sizes.x-large=Extra groot
error.pdfPassword=Het PDF document is beveiligd met een wachtwoord en het wachtwoord is niet ingevoerd of is onjuist error.pdfPassword=Het PDF document is beveiligd met een wachtwoord en het wachtwoord is niet ingevoerd of is onjuist
@@ -56,18 +56,18 @@ userNotFoundMessage=Gebruiker niet gevonden.
incorrectPasswordMessage=Huidige wachtwoord is onjuist. incorrectPasswordMessage=Huidige wachtwoord is onjuist.
usernameExistsMessage=Nieuwe gebruikersnaam bestaat al. usernameExistsMessage=Nieuwe gebruikersnaam bestaat al.
invalidUsernameMessage=Ongeldige gebruikersnaam, gebruikersnaam kan alleen letters, nummers en de volgende speciale tekens @._+- bevatten of moet een geldig emailadres zijn. invalidUsernameMessage=Ongeldige gebruikersnaam, gebruikersnaam kan alleen letters, nummers en de volgende speciale tekens @._+- bevatten of moet een geldig emailadres zijn.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Het wachtwoord mag geen spaties ten beginne of einde bevatten en mag niet leeg zijn.
confirmPasswordErrorMessage=Nieuw wachtwoord en bevestig wachtwoord moeten overeenkomen. confirmPasswordErrorMessage=Nieuw wachtwoord en bevestig wachtwoord moeten overeenkomen.
deleteCurrentUserMessage=Kan niet een momenteel ingelogde gebruiker verwijderen. deleteCurrentUserMessage=Kan niet een momenteel ingelogde gebruiker verwijderen.
deleteUsernameExistsMessage=De gebruikersnaam bestaat niet en kan niet verwijderd worden. deleteUsernameExistsMessage=De gebruikersnaam bestaat niet en kan niet verwijderd worden.
downgradeCurrentUserMessage=Kan de rol van de huidige gebruiker niet downgraden downgradeCurrentUserMessage=Kan de rol van de huidige gebruiker niet downgraden
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=De huidige gebruiker kan niet worden uitgeschakeld
downgradeCurrentUserLongMessage=Kan de rol van de huidige gebruiker niet downgraden. Huidige gebruiker wordt dus niet weergegeven. downgradeCurrentUserLongMessage=Kan de rol van de huidige gebruiker niet downgraden. Huidige gebruiker wordt dus niet weergegeven.
userAlreadyExistsOAuthMessage=De gebruiker bestaat al als een OAuth2 gebruiker. userAlreadyExistsOAuthMessage=De gebruiker bestaat al als een OAuth2 gebruiker.
userAlreadyExistsWebMessage=De gebruiker bestaat al als een web gebruiker. userAlreadyExistsWebMessage=De gebruiker bestaat al als een web gebruiker.
error=Error error=Fout
oops=Oeps! oops=Oeps!
help=Help help=Hulp
goHomepage=Ga naar de startpagina goHomepage=Ga naar de startpagina
joinDiscord=Word lid van onze Discord server joinDiscord=Word lid van onze Discord server
seeDockerHub=Zie Docker Hub seeDockerHub=Zie Docker Hub
@@ -75,16 +75,19 @@ visitGithub=Ga naar de Github Repository
donate=Doneer donate=Doneer
color=Kleur color=Kleur
sponsor=Sponsor sponsor=Sponsor
info=Info info=Informatie
pro=Pro pro=Pro
page=Page page=Pagina
pages=Pages pages=Pagen
loading=Laden...
addToDoc=Toevoegen aan document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacybeleid
legal.terms=Terms and Conditions legal.terms=Voorwaarden van gebruik
legal.accessibility=Accessibility legal.accessibility=Toegankelijkheid
legal.cookie=Cookie Policy legal.cookie=Cookiesbeleid
legal.impressum=Impressum legal.impressum=Imprint
############### ###############
# Pipeline # # Pipeline #
@@ -139,6 +142,7 @@ navbar.language=Talen
navbar.settings=Instellingen navbar.settings=Instellingen
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multitools navbar.multiTool=Multitools
navbar.search=Search
navbar.sections.organize=Organizeren navbar.sections.organize=Organizeren
navbar.sections.convertTo=Converteren naar PDF navbar.sections.convertTo=Converteren naar PDF
navbar.sections.convertFrom=Converteren van PDF navbar.sections.convertFrom=Converteren van PDF
@@ -224,26 +228,27 @@ adminUserSettings.disabledUser=disabled user
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Active Users:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Disabled Users:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Total Users:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Laatste aanvraag
database.title=Database Import/Export database.title=Database Importeer/Exporteer
database.header=Database Import/Export database.header=Database Importeer/Exporteer
database.fileName=File Name database.fileName=Bestandsnaam
database.creationDate=Creation Date database.creationDate=Creatiedatum
database.fileSize=File Size database.fileSize=Bestandsgrootte
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Backupbestand verwijderen
database.importBackupFile=Import Backup File database.importBackupFile=Backupbestand importeren
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Backupbestand downloaden
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Bij het importeren van gegevens is het cruciaal om de juiste structuur te zorgen voor. Als je niet zeker bent van wat je doet, raadpleeg dan advies en ondersteuning bij een professionele. Een fout in de structuur kan leiden tot toepassingsfouten, waarmee wellicht zelfs de volledige uitvoerbaarheid van de toepassing belemmerd wordt.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=De bestandsnaam maakt geen verschil bij het uploaden. Hij zal later worden herbewoond om de indeling backup_user_yyyyMMddHHmm.sql te volgen, waardoor een consistente bestandsnaamconventie waarborgd wordt.
database.submit=Import Backup database.submit=Backup importeren
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Importeer naar database succesvol
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Bestand mag niet null of leeg zijn
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Je sessie is verlopen. Voer de pagina opnieuw in en probeer het opnieuw.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -465,7 +470,7 @@ showJS.tags=JS
home.autoRedact.title=Automatisch censureren home.autoRedact.title=Automatisch censureren
home.autoRedact.desc=Automatisch censureren (onherkenbaar maken) van tekst in een PDF op basis van ingevoerde tekst home.autoRedact.desc=Automatisch censureren (onherkenbaar maken) van tekst in een PDF op basis van ingevoerde tekst
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=Verzwakken, Verbergen, Uitroepen, Gekleurd, Verborgen
home.tableExtraxt.title=PDF naar CSV home.tableExtraxt.title=PDF naar CSV
home.tableExtraxt.desc=Haalt tabellen uit een PDF en converteert ze naar CSV home.tableExtraxt.desc=Haalt tabellen uit een PDF en converteert ze naar CSV
@@ -498,33 +503,33 @@ home.BookToPDF.title=Boek naar PDF
home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre
BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Afbeelding verwijderen
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Afbeeldingen uit PDF verwijderen om het bestandsgrootte te verminderen
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Afbeelding verwijderen, Paginabewerkingen, Achterkant, Serverkant
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=PDF op hoofdstukken splitsen
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Splits een PDF op basis van zijn hoofdstukstructuur in meerdere bestanden.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=splitsen, hoofdstukken, bookmarks, organiseren
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Kleur-instellingen voor PDF's
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Vervang de kleur van tekst en achtergrond in een PDF en omverkeer de volledige kleur van het document om bestandsgrootte te verkleinen.
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Kleur vervangen, pagina-acties, achterkant, serverzijde
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Vervang of invertere kleure opties
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Standaard (hoog contrast kleuren)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Aangepast (aangepaste kleuren)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Volledig inverteren (alle kleuren omverkeren)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Opties voor hoog contrast
replace-color.selectText.6=white text on black background replace-color.selectText.6=wit tekst op een zwart grondvlak
replace-color.selectText.7=Black text on white background replace-color.selectText.7=zwarte tekst op wit grondvlak
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=gele tekst op een zwart grondvlak
replace-color.selectText.9=Green text on black background replace-color.selectText.9=groene tekst op een zwart grondvlak
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Kies de tekstkleur
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Kies het achtergrondkleur
replace-color.submit=Replace replace-color.submit=Vervang
@@ -543,17 +548,17 @@ login.locked=Je account is geblokkeerd.
login.signinTitle=Gelieve in te loggen login.signinTitle=Gelieve in te loggen
login.ssoSignIn=Inloggen via Single Sign-on login.ssoSignIn=Inloggen via Single Sign-on
login.oauth2AutoCreateDisabled=OAUTH2 Automatisch aanmaken gebruiker uitgeschakeld login.oauth2AutoCreateDisabled=OAUTH2 Automatisch aanmaken gebruiker uitgeschakeld
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Registratie of inloggen van niet-registreerde gebruikers is helaas momenteel geblokkeerd. Neem contact op met de beheerder.
login.oauth2RequestNotFound=Autorisatieverzoek niet gevonden login.oauth2RequestNotFound=Autorisatieverzoek niet gevonden
login.oauth2InvalidUserInfoResponse=Ongeldige reactie op gebruikersinfo login.oauth2InvalidUserInfoResponse=Ongeldige reactie op gebruikersinfo
login.oauth2invalidRequest=Ongeldig verzoek login.oauth2invalidRequest=Ongeldig verzoek
login.oauth2AccessDenied=Toegang geweigerd login.oauth2AccessDenied=Toegang geweigerd
login.oauth2InvalidTokenResponse=Ongeldige tokenreactie login.oauth2InvalidTokenResponse=Ongeldige tokenreactie
login.oauth2InvalidIdToken=Ongeldige ID token login.oauth2InvalidIdToken=Ongeldige ID token
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=De gebruiker is gedesactiveerd, inloggen is momenteel geblokkeerd voor deze gebruikersnaam. Neem contact op met de beheerder.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=U zit reeds ingelogd bij
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=apparaten. U moet u a.u.b. uitloggen van de apparaten en opnieuw proberen.
login.toManySessions=You have too many active sessions login.toManySessions=U heeft te veel actieve sessies
#auto-redact #auto-redact
autoRedact.title=Automatisch censureren autoRedact.title=Automatisch censureren
@@ -571,7 +576,7 @@ autoRedact.submitButton=Indienen
#showJS #showJS
showJS.title=Toon Javascript showJS.title=Toon Javascript
showJS.header=Toon Javascript showJS.header=Toon Javascript
showJS.downloadJS=Download Javascript showJS.downloadJS=Javascript downloaden
showJS.submit=Toon showJS.submit=Toon
@@ -585,14 +590,14 @@ pdfToSinglePage.submit=Converteren naar enkele pagina
pageExtracter.title=Pagina's extraheren pageExtracter.title=Pagina's extraheren
pageExtracter.header=Pagina's extraheren pageExtracter.header=Pagina's extraheren
pageExtracter.submit=Extraheren pageExtracter.submit=Extraheren
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(bijv. 1,2,8 of 4,7,12-16 of 2n-1)
#getPdfInfo #getPdfInfo
getPdfInfo.title=Informatie over PDF ophalen getPdfInfo.title=Informatie over PDF ophalen
getPdfInfo.header=Informatie over PDF ophalen getPdfInfo.header=Informatie over PDF ophalen
getPdfInfo.submit=Haal informatie op getPdfInfo.submit=Haal informatie op
getPdfInfo.downloadJson=Download JSON getPdfInfo.downloadJson=JSON downloaden
#markdown-to-pdf #markdown-to-pdf
@@ -628,7 +633,7 @@ HTMLToPDF.printBackground=De achtergrond van websites weergeven.
HTMLToPDF.defaultHeader=Standaard koptekst weergeven (naam en paginanummer) HTMLToPDF.defaultHeader=Standaard koptekst weergeven (naam en paginanummer)
HTMLToPDF.cssMediaType=Wijzig het CSS-mediatype van de pagina. HTMLToPDF.cssMediaType=Wijzig het CSS-mediatype van de pagina.
HTMLToPDF.none=Geen HTMLToPDF.none=Geen
HTMLToPDF.print=Print HTMLToPDF.print=Printen
HTMLToPDF.screen=Scherm HTMLToPDF.screen=Scherm
@@ -685,7 +690,7 @@ auto-rename.submit=Automatisch hernoemen
#adjustContrast #adjustContrast
adjustContrast.title=Contrast aanpassen adjustContrast.title=Contrast aanpassen
adjustContrast.header=Contrast aanpassen adjustContrast.header=Contrast aanpassen
adjustContrast.contrast=Contrast: adjustContrast.contrast=Kehrbrechting:
adjustContrast.brightness=Helderheid: adjustContrast.brightness=Helderheid:
adjustContrast.saturation=Verzadiging: adjustContrast.saturation=Verzadiging:
adjustContrast.download=Downloaden adjustContrast.download=Downloaden
@@ -728,7 +733,7 @@ pageLayout.submit=Indienen
scalePages.title=Pagina-schaal aanpassen scalePages.title=Pagina-schaal aanpassen
scalePages.header=Pagina-schaal aanpassen scalePages.header=Pagina-schaal aanpassen
scalePages.pageSize=Grootte van een pagina van het document. scalePages.pageSize=Grootte van een pagina van het document.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Oorspronkelijke grootte behouden
scalePages.scaleFactor=Zoomniveau (uitsnede) van een pagina. scalePages.scaleFactor=Zoomniveau (uitsnede) van een pagina.
scalePages.submit=Indienen scalePages.submit=Indienen
@@ -748,6 +753,7 @@ certSign.showSig=Toon handtekening
certSign.reason=Reden certSign.reason=Reden
certSign.location=Locatie certSign.location=Locatie
certSign.name=Naam certSign.name=Naam
certSign.showLogo=Logotype tonen
certSign.submit=PDF ondertekenen certSign.submit=PDF ondertekenen
@@ -777,11 +783,14 @@ removeAnnotations.submit=Verwijderen
#compare #compare
compare.title=Vergelijken compare.title=Vergelijken
compare.header=PDF's vergelijken compare.header=PDF's vergelijken
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Hervormingskleur 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Hervormingskleur 2:
compare.document.1=Document 1 compare.document.1=Document 1
compare.document.2=Document 2 compare.document.2=Document 2
compare.submit=Vergelijken compare.submit=Vergelijken
compare.complex.message=Eén of beide van de bijgewerkte documenten zijn grote bestanden, het vergelijken kan mogelijk minder nauwkeurig zijn.
compare.large.file.message=Eén of beiden van de bijgewerkte documenten zijn te groot om verwerkt te worden.
compare.no.text.message=Een of beide geselecteerde PDF-bestanden bevatten geen tekstinhoud. Kies a.u.b. PDF-bestanden met tekst voor vergelijking.
#BookToPDF #BookToPDF
BookToPDF.title=Boeken en strips naar PDF BookToPDF.title=Boeken en strips naar PDF
@@ -804,6 +813,11 @@ sign.draw=Handtekening tekenen
sign.text=Tekstinvoer sign.text=Tekstinvoer
sign.clear=Wissen sign.clear=Wissen
sign.add=Toevoegen sign.add=Toevoegen
sign.saved=Gesleutelde handtekeningen opgeslagen
sign.save=Opslaan Signatuur
sign.personalSigs=Persoonlijke Signatuuren
sign.sharedSigs=Gedeelde Signatuuren
sign.noSavedSigs=Geen opgeslagen signatuuren gevonden
#repair #repair
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Minimum contour oppervlakte:
ScannerImageSplit.selectText.8=Stelt de minimale contour oppervlakte drempel in voor een foto ScannerImageSplit.selectText.8=Stelt de minimale contour oppervlakte drempel in voor een foto
ScannerImageSplit.selectText.9=Randgrootte: ScannerImageSplit.selectText.9=Randgrootte:
ScannerImageSplit.selectText.10=Stelt de grootte van de toegevoegde en verwijderde rand in om witte randen in de uitvoer te voorkomen (standaard: 1). ScannerImageSplit.selectText.10=Stelt de grootte van de toegevoegde en verwijderde rand in om witte randen in de uitvoer te voorkomen (standaard: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python is niet geïnstalleerd. Het wordt vereist om te worden uitgevoerd.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Verwerk PDF met OCR
extractImages.title=Afbeeldingen extraheren extractImages.title=Afbeeldingen extraheren
extractImages.header=Afbeeldingen extraheren extractImages.header=Afbeeldingen extraheren
extractImages.selectText=Selecteer het beeldformaat voor geëxtraheerde afbeeldingen extractImages.selectText=Selecteer het beeldformaat voor geëxtraheerde afbeeldingen
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Dubbele afbeeldingen opslaan
extractImages.submit=Extraheer extractImages.submit=Extraheer
@@ -865,7 +879,7 @@ extractImages.submit=Extraheer
fileToPDF.title=Bestand naar PDF fileToPDF.title=Bestand naar PDF
fileToPDF.header=Zet elk bestand om naar PDF fileToPDF.header=Zet elk bestand om naar PDF
fileToPDF.credit=Deze service gebruikt LibreOffice en Unoconv voor bestandsconversie. fileToPDF.credit=Deze service gebruikt LibreOffice en Unoconv voor bestandsconversie.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Gestandaardiseerde Bestandstypen
fileToPDF.supportedFileTypes=Ondersteunde bestandstypen zijn hieronder opgenomen, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie fileToPDF.supportedFileTypes=Ondersteunde bestandstypen zijn hieronder opgenomen, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie
fileToPDF.submit=Omzetten naar PDF fileToPDF.submit=Omzetten naar PDF
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(bijv. 1,3,2 of 4-8,2,10-12 of 2n-1)
multiTool.title=PDF Multitool multiTool.title=PDF Multitool
multiTool.header=PDF Multitool multiTool.header=PDF Multitool
multiTool.uploadPrompts=Bestandsnaam multiTool.uploadPrompts=Bestandsnaam
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDF bekijken viewPdf.title=PDF bekijken
@@ -982,7 +1007,7 @@ pdfToImage.color=Kleur
pdfToImage.grey=Grijstinten pdfToImage.grey=Grijstinten
pdfToImage.blackwhite=Zwart en wit (kan data verliezen!) pdfToImage.blackwhite=Zwart en wit (kan data verliezen!)
pdfToImage.submit=Omzetten pdfToImage.submit=Omzetten
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python is niet geïnstalleerd. Vereist voor WebP-conversie.
#addPassword #addPassword
@@ -1019,10 +1044,10 @@ watermark.selectText.6=hoogteSpacer (Ruimte tussen elk watermerk verticaal):
watermark.selectText.7=Transparantie (0% - 100%): watermark.selectText.7=Transparantie (0% - 100%):
watermark.selectText.8=Type watermerk: watermark.selectText.8=Type watermerk:
watermark.selectText.9=Watermerk afbeelding: watermark.selectText.9=Watermerk afbeelding:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=PDF omzetten naar PDF-Afbeelding
watermark.submit=Watermerk toevoegen watermark.submit=Watermerk toevoegen
watermark.type.1=Text watermark.type.1=Tekst
watermark.type.2=Image watermark.type.2=Afbeelding
#Change permissions #Change permissions
@@ -1075,7 +1100,7 @@ pdfToPDFA.header=PDF naar PDF/A
pdfToPDFA.credit=Deze service gebruikt ghostscript voor PDF/A-conversie pdfToPDFA.credit=Deze service gebruikt ghostscript voor PDF/A-conversie
pdfToPDFA.submit=Converteren pdfToPDFA.submit=Converteren
pdfToPDFA.tip=Werkt momenteel niet voor meerdere inputs tegelijkertijd. pdfToPDFA.tip=Werkt momenteel niet voor meerdere inputs tegelijkertijd.
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Uitvoerindeling
pdfToPDFA.pdfWithDigitalSignature=Dit PDF bestand bevat een digitale handtekening. Deze wordt in de volgende stap verwijderd. pdfToPDFA.pdfWithDigitalSignature=Dit PDF bestand bevat een digitale handtekening. Deze wordt in de volgende stap verwijderd.
@@ -1166,7 +1191,7 @@ printFile.title=Print bestand
printFile.header=Print bestand naar printer printFile.header=Print bestand naar printer
printFile.selectText.1=Selecteer bestand om te printen printFile.selectText.1=Selecteer bestand om te printen
printFile.selectText.2=Voer printernaam in printFile.selectText.2=Voer printernaam in
printFile.submit=Print printFile.submit=Druk af
#licenses #licenses
@@ -1181,8 +1206,8 @@ licenses.license=Licentie
survey.nav=Enquête survey.nav=Enquête
survey.title=Stirling-PDF Enquête survey.title=Stirling-PDF Enquête
survey.description=Stirling-PDF heeft geen tracking, dus we willen van onze gebruikers horen om Stirling-PDF te verbeteren. survey.description=Stirling-PDF heeft geen tracking, dus we willen van onze gebruikers horen om Stirling-PDF te verbeteren.
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF is sinds de laatste enquête veranderd! Zie hier onze blogpost voor meer informatie:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Met deze veranderingen krijgen we betaalde bedrijfsondersteuning en financiering
survey.please=Overweeg alstublieft om onze enquête in te vullen! survey.please=Overweeg alstublieft om onze enquête in te vullen!
survey.disabled=(Enquête popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.) survey.disabled=(Enquête popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.)
survey.button=Vul enquête in. survey.button=Vul enquête in.
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - Maak een support post
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Afbeelding verwijderen
removeImage.header=Remove image removeImage.header=Afbeelding verwijderen
removeImage.removeImage=Remove image removeImage.removeImage=Afbeelding verwijderen
removeImage.submit=Remove image removeImage.submit=Verwijder afbeelding
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=PDF splits op hoofdstukken
splitByChapters.header=PDF splitsen per hoofdstuk
splitByChapters.bookmarkLevel=Boekmarkeer niveau
splitByChapters.includeMetadata=Metadata inclusief
splitByChapters.allowDuplicates=Dubbele items toestaan
splitByChapters.desc.1=Dit hulpmiddel splits een PDF-bestand op in meerdere PDF's gebaseerd op zijn hoofdstukstructuur.
splitByChapters.desc.2=Boekmarkeer niveau: Kies het boekmarkeer niveau om te gebruiken voor delen (0 voor topniveau, 1 voor tweedelvou, etc.).
splitByChapters.desc.3=Metadata inclusief: Als gecijfeld, de originele PDF's metadata wordt ingevoegd in elk gesplitst PDF-bestand.
splitByChapters.desc.4=Dubbele items toestaan: Als gecijfeld, zorgen multiple boekmarkeersymboolen op dezelfde pagina voor het maken van aparte PDF-bestanden.
splitByChapters.submit=PDF splitsen

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Språk
navbar.settings=Innstillinger navbar.settings=Innstillinger
navbar.allTools=Verktøy navbar.allTools=Verktøy
navbar.multiTool=Multi Verktøy navbar.multiTool=Multi Verktøy
navbar.search=Search
navbar.sections.organize=Organisere navbar.sections.organize=Organisere
navbar.sections.convertTo=Konverter til PDF navbar.sections.convertTo=Konverter til PDF
navbar.sections.convertFrom=Konverter fra PDF navbar.sections.convertFrom=Konverter fra PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Fil må ikke være tom eller null
database.failedImportFile=Import av fil mislyktes database.failedImportFile=Import av fil mislyktes
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Vis signatur
certSign.reason=Årsak certSign.reason=Årsak
certSign.location=Sted certSign.location=Sted
certSign.name=Navn certSign.name=Navn
certSign.showLogo=Show Logo
certSign.submit=Signer PDF certSign.submit=Signer PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Uthevingsfarge 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Sammenlign compare.submit=Sammenlign
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Bøker og Tegneserier til PDF BookToPDF.title=Bøker og Tegneserier til PDF
@@ -804,6 +813,11 @@ sign.draw=Tegn signatur
sign.text=Tekstinput sign.text=Tekstinput
sign.clear=Slett sign.clear=Slett
sign.add=Legg til sign.add=Legg til
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(f.eks. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
multiTool.title=PDF-multiverktøy multiTool.title=PDF-multiverktøy
multiTool.header=PDF-multiverktøy multiTool.header=PDF-multiverktøy
multiTool.uploadPrompts=Filnavn multiTool.uploadPrompts=Filnavn
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Vis PDF viewPdf.title=Vis PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=informacje
pro=Pro pro=Pro
page=Strona page=Strona
pages=Strony pages=Strony
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Polityka Prywatności legal.privacy=Polityka Prywatności
legal.terms=Zasady i Postanowienia legal.terms=Zasady i Postanowienia
@@ -139,6 +142,7 @@ navbar.language=Języki
navbar.settings=Ustawienia navbar.settings=Ustawienia
navbar.allTools=Narzędzia navbar.allTools=Narzędzia
navbar.multiTool=Narzędzie Wielofunkcyjne navbar.multiTool=Narzędzie Wielofunkcyjne
navbar.search=Search
navbar.sections.organize=Organizuj navbar.sections.organize=Organizuj
navbar.sections.convertTo=Przetwórz na PDF navbar.sections.convertTo=Przetwórz na PDF
navbar.sections.convertFrom=Przetwórz z PDF navbar.sections.convertFrom=Przetwórz z PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Plik nie może być pusty
database.failedImportFile=Nie udało się zaimportować pliku database.failedImportFile=Nie udało się zaimportować pliku
session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie. session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Wyświetl podpis
certSign.reason=Organizacja certSign.reason=Organizacja
certSign.location=Lokalizacja certSign.location=Lokalizacja
certSign.name=Nazwa certSign.name=Nazwa
certSign.showLogo=Show Logo
certSign.submit=Podpisz PDF certSign.submit=Podpisz PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Kolor Podświetlenia 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Porównaj compare.submit=Porównaj
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=eBooki do PDF BookToPDF.title=eBooki do PDF
@@ -804,6 +813,11 @@ sign.draw=Narysuj podpis
sign.text=Wprowadź tekst sign.text=Wprowadź tekst
sign.clear=Wyczyść sign.clear=Wyczyść
sign.add=Dodaj sign.add=Dodaj
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(przykład 1,3,2 lub 4-8,2,10-12 lub 2n-1)
multiTool.title=Narzędzie Wielofunkcyjne PDF multiTool.title=Narzędzie Wielofunkcyjne PDF
multiTool.header=Narzędzie Wielofunkcyjne PDF multiTool.header=Narzędzie Wielofunkcyjne PDF
multiTool.uploadPrompts=Nazwa pliku multiTool.uploadPrompts=Nazwa pliku
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Podejrzyj PDF viewPdf.title=Podejrzyj PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Poziom Zakładek: Wybierz poziom zakładek, który ma zos
splitByChapters.desc.3=Dołącz Metadane: Jeśli opcja ta jest zaznaczona, metadane oryginalnego pliku PDF zostaną uwzględnione w każdym rozdzielonych plików PDF. splitByChapters.desc.3=Dołącz Metadane: Jeśli opcja ta jest zaznaczona, metadane oryginalnego pliku PDF zostaną uwzględnione w każdym rozdzielonych plików PDF.
splitByChapters.desc.4=Zezwól na Duplikaty: Jeśli ta opcja jest zaznaczona, pozwala na tworzenie oddzielnych plików PDF przez wiele zakładek na tej samej stronie. splitByChapters.desc.4=Zezwól na Duplikaty: Jeśli ta opcja jest zaznaczona, pozwala na tworzenie oddzielnych plików PDF przez wiele zakładek na tej samej stronie.
splitByChapters.submit=Podziel PDF splitByChapters.submit=Podziel PDF

View File

@@ -76,9 +76,12 @@ donate=Doar
color=Cor color=Cor
sponsor=Patrocinador sponsor=Patrocinador
info=Informações info=Informações
pro=Pro pro=Profissional
page=Página page=Página
pages=Páginas pages=Páginas
loading=Carregando...
addToDoc=Adicionar ao Documento
reset=Reset
legal.privacy=Política de Privacidade legal.privacy=Política de Privacidade
legal.terms=Termos e Condições legal.terms=Termos e Condições
@@ -139,13 +142,14 @@ navbar.language=Idiomas
navbar.settings=Configurações navbar.settings=Configurações
navbar.allTools=Ferramentas navbar.allTools=Ferramentas
navbar.multiTool=Multiferramentas navbar.multiTool=Multiferramentas
navbar.search=Search
navbar.sections.organize=Organizar navbar.sections.organize=Organizar
navbar.sections.convertTo=Converter para PDF navbar.sections.convertTo=Converter para PDF
navbar.sections.convertFrom=Converter de PDF navbar.sections.convertFrom=Converter de PDF
navbar.sections.security=Assinatura & Segurança navbar.sections.security=Assinatura & Segurança
navbar.sections.advance=Avançado navbar.sections.advance=Avançado
navbar.sections.edit=Visualizar & editar navbar.sections.edit=Visualizar & editar
navbar.sections.popular=Popular navbar.sections.popular=Populares
############# #############
# SETTINGS # # SETTINGS #
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=O arquivo não pode estar nulo ou vazio
database.failedImportFile=Falha ao importar arquivo database.failedImportFile=Falha ao importar arquivo
session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente. session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Mostrar Assinatura
certSign.reason=Razão certSign.reason=Razão
certSign.location=Localização certSign.location=Localização
certSign.name=Nome certSign.name=Nome
certSign.showLogo=Mostrar Logotipo
certSign.submit=Assinar PDF certSign.submit=Assinar PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Cor de destaque 2:
compare.document.1=Documento 1 compare.document.1=Documento 1
compare.document.2=Documento 2 compare.document.2=Documento 2
compare.submit=Comparar compare.submit=Comparar
compare.complex.message=Um ou ambos os documentos fornecidos são arquivos grandes, a precisão da comparação pode ser reduzida
compare.large.file.message=Um ou ambos os documentos fornecidos são muito grandes para processar
compare.no.text.message=Um ou ambos os PDFs selecionados não possuem conteúdo de texto. Por favor, escolha PDFs com texto para comparação.
#BookToPDF #BookToPDF
BookToPDF.title=Livros e Quadrinhos para PDF BookToPDF.title=Livros e Quadrinhos para PDF
@@ -804,6 +813,11 @@ sign.draw=Desenhar Assinatura
sign.text=Inserir texto sign.text=Inserir texto
sign.clear=Limpar sign.clear=Limpar
sign.add=Adicionar sign.add=Adicionar
sign.saved=Assinaturas Salvas
sign.save=Salvar Assinatura
sign.personalSigs=Assinaturas Pessoais
sign.sharedSigs=Assinaturas Compartilhadas
sign.noSavedSigs=Nenhuma assinatura salva encontrada
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(por exemplo 1,3,2 ou 4-8,2,10-12 ou 2n-1)
multiTool.title=Multiferramenta de PDF multiTool.title=Multiferramenta de PDF
multiTool.header=Multiferramenta de PDF multiTool.header=Multiferramenta de PDF
multiTool.uploadPrompts=Nome do arquivo multiTool.uploadPrompts=Nome do arquivo
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Visualizar PDF viewPdf.title=Visualizar PDF
@@ -1063,7 +1088,7 @@ changeMetadata.keywords=Palavras-chave:
changeMetadata.modDate=Data de modificação (aaaa/MM/dd HH:mm:ss): changeMetadata.modDate=Data de modificação (aaaa/MM/dd HH:mm:ss):
changeMetadata.producer=Produtor: changeMetadata.producer=Produtor:
changeMetadata.subject=Assunto: changeMetadata.subject=Assunto:
changeMetadata.trapped=Trapped: changeMetadata.trapped=Atrapado:
changeMetadata.selectText.4=Outros metadados: changeMetadata.selectText.4=Outros metadados:
changeMetadata.selectText.5=Adicionar entrada de metadados personalizada changeMetadata.selectText.5=Adicionar entrada de metadados personalizada
changeMetadata.submit=Alterar changeMetadata.submit=Alterar
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Nível de Marcador: Escolha o nível de marcador a ser us
splitByChapters.desc.3=Incluir Metadados: Se marcado, os metadados do PDF original serão incluidos em cada divisão do PDF. splitByChapters.desc.3=Incluir Metadados: Se marcado, os metadados do PDF original serão incluidos em cada divisão do PDF.
splitByChapters.desc.4=Permitir Cópias: Se marcado, habilita vários marcadores na mesma página para criar PDFs separados. splitByChapters.desc.4=Permitir Cópias: Se marcado, habilita vários marcadores na mesma página para criar PDFs separados.
splitByChapters.submit=Dividir PDF splitByChapters.submit=Dividir PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Tamanho da Fonte
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Nome da Fonte
pdfPrompt=Selecione PDF(s) pdfPrompt=Selecione PDF(s)
multiPdfPrompt=Selecione PDFs (2+) multiPdfPrompt=Selecione PDFs (2+)
multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários
@@ -18,11 +18,11 @@ true=Verdadeiro
false=Falso false=Falso
unknown=Desconhecido unknown=Desconhecido
save=Salvar save=Salvar
saveToBrowser=Save to Browser saveToBrowser=Guardar no Navegador
close=Fechar close=Fechar
filesSelected=Ficheiros Selecionados filesSelected=Ficheiros Selecionados
noFavourites=Nenhum favorito adicionado noFavourites=Nenhum favorito adicionado
downloadComplete=Download Complete downloadComplete=Download Completo
bored=Entediado esperando? bored=Entediado esperando?
alphabet=Alfabeto alphabet=Alfabeto
downloadPdf=Descarregar PDF downloadPdf=Descarregar PDF
@@ -55,36 +55,39 @@ notAuthenticatedMessage=Utilizador não autenticado.
userNotFoundMessage=Utilizador inexistente. userNotFoundMessage=Utilizador inexistente.
incorrectPasswordMessage=Senha incorreta. incorrectPasswordMessage=Senha incorreta.
usernameExistsMessage=Esse utilizador já existe. usernameExistsMessage=Esse utilizador já existe.
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. invalidUsernameMessage=Nome de utilizador inválido, o nome de utilizador pode conter apenas letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=A senha não pode estar vazia e não deve ter espaços no início ou final.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Nova Senha e Confirmação de Nova Senha devem corresponder.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Não pode apagar o utilizador atualmente logado.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=O nome de utilizador não existe e não pode ser apagado.
downgradeCurrentUserMessage=Não é possível fazer downgrade da função do utilizador atual downgradeCurrentUserMessage=Não é possível fazer downgrade da função do utilizador atual
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=O utilizador actual não pode ser desactivado
downgradeCurrentUserLongMessage=Não é possível fazer downgrade da função do utilizador atual. Portanto, o utilizador atual não será mostrado. downgradeCurrentUserLongMessage=Não é possível fazer downgrade da função do utilizador atual. Portanto, o utilizador atual não será mostrado.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=O utilizador já existe como um utilizador OAuth2.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=O utilizador já existe como um utilizador da web.
error=Error error=Erro
oops=Oops! oops=Oops!
help=Help help=Ajuda
goHomepage=Go to Homepage goHomepage=Ir para a Página Inicial
joinDiscord=Join our Discord server joinDiscord=Junte-se ao nosso servidor Discord
seeDockerHub=See Docker Hub seeDockerHub=Ver o Docker Hub
visitGithub=Visit Github Repository visitGithub=Visitar Repositório do Github
donate=Donate donate=Doar
color=Color color=Cor
sponsor=Sponsor sponsor=Patrocinar
info=Info info=Informação
pro=Pro pro=Pro
page=Page page=Página
pages=Pages pages=Páginas
loading=A carregar...
addToDoc=Adicionar ao Documento
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Política de Privacidade
legal.terms=Terms and Conditions legal.terms=Termos e Condições
legal.accessibility=Accessibility legal.accessibility=Acessibilidade
legal.cookie=Cookie Policy legal.cookie=Política de Cookies
legal.impressum=Impressum legal.impressum=Impressão
############### ###############
# Pipeline # # Pipeline #
@@ -95,8 +98,8 @@ pipeline.configureButton=Configurar
pipeline.defaultOption=Personalizar pipeline.defaultOption=Personalizar
pipeline.submitButton=Submeter pipeline.submitButton=Submeter
pipeline.help=Pipeline Help pipeline.help=Pipeline Help
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=Ajuda ao Escaneamento de Pastas
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Tem a certeza que quer eliminar o pipeline?
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -114,45 +117,46 @@ pipelineOptions.validateButton=Validar
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Atualizar para Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Esta funcionalidade está disponível apenas para os utilizadores Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro suporta ficheiros de configuração YAML e outras funcionalidades SSO.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Procuras mais funcionalidades de gestão de utilizadores? Verifica Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Queres tornar o Stirling PDF melhor?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=O Stirling PDF tem análises de entrada voluntária para nos ajudar a melhorar o produto. Não registamos qualquer informação pessoal ou conteúdo dos ficheiros.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Considera ativar as análises para nos auxiliar no crescimento do Stirling-PDF e na compreensão dos nossos utilizadores melhor.
analytics.enable=Enable analytics analytics.enable=Ativar analítico
analytics.disable=Disable analytics analytics.disable=Desativar analítico
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Podes mudar as configurações de análises no ficheiro config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=Favoritos
navbar.darkmode=Modo Escuro navbar.darkmode=Modo Escuro
navbar.language=Languages navbar.language=Idiomas
navbar.settings=Configurações navbar.settings=Configurações
navbar.allTools=Tools navbar.allTools=Ferramentas
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=Organizar
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=Converter para PDF
navbar.sections.security=Sign & Security navbar.sections.convertFrom=Converter de PDF
navbar.sections.advance=Advanced navbar.sections.security=Assinar & Segurança
navbar.sections.edit=View & Edit navbar.sections.advance=Avançado
navbar.sections.popular=Popular navbar.sections.edit=Visualizar & Editar
navbar.sections.popular=Populares
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=Configurações settings.title=Configurações
settings.update=Atualização disponível settings.update=Atualização disponível
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0} é a versão atual instalada. Uma nova versão ({1}) está disponível.
settings.appVersion=Versão da aplicação: settings.appVersion=Versão da aplicação:
settings.downloadOption.title=Escolha a opção de download (para downloads não compactados de ficheiro único): settings.downloadOption.title=Escolha a opção de download (para downloads não compactados de ficheiro único):
settings.downloadOption.1=Abrir na mesma janela settings.downloadOption.1=Abrir na mesma janela
@@ -161,13 +165,13 @@ settings.downloadOption.3=⇬ Fazer download do ficheiro
settings.zipThreshold=Compactar ficheiros quando o número de ficheiros baixados exceder settings.zipThreshold=Compactar ficheiros quando o número de ficheiros baixados exceder
settings.signOut=Terminar Sessão settings.signOut=Terminar Sessão
settings.accountSettings=Configuração de Conta settings.accountSettings=Configuração de Conta
settings.bored.help=Enables easter egg game settings.bored.help=Ativa o jogo da páscoa
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Guardar entradas do formulário
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=Ativar para armazenar entradas anteriores do formulário para futuras sessões
changeCreds.title=Alterar senha changeCreds.title=Alterar senha
changeCreds.header=Alterar dados da sua conta changeCreds.header=Alterar dados da sua conta
changeCreds.changePassword=You are using default login credentials. Please enter a new password changeCreds.changePassword=Está a usar as credenciais de login predefinidas. Por favor, introduza uma nova senha
changeCreds.newUsername=Novo Utilizador changeCreds.newUsername=Novo Utilizador
changeCreds.oldPassword=Senha Atual changeCreds.oldPassword=Senha Atual
changeCreds.newPassword=Nova Senha changeCreds.newPassword=Nova Senha
@@ -176,74 +180,75 @@ changeCreds.submit=Submeter Alterações
account.title=Account Settings account.title=Definições da Conta
account.accountSettings=Account Settings account.accountSettings=Definições da Conta
account.adminSettings=Admin Settings - View and Add Users account.adminSettings=Definições de Administrador - Visualizar e Adicionar Utilizadores
account.userControlSettings=User Control Settings account.userControlSettings=Definições de Controlo do Utilizador
account.changeUsername=Change Username account.changeUsername=Alterar Nome de Utilizador
account.newUsername=New Username account.newUsername=Novo Nome de Utilizador
account.password=Confirmation Password account.password=Confirmação da Senha
account.oldPassword=Old password account.oldPassword=Antiga senha
account.newPassword=New Password account.newPassword=Nova senha
account.changePassword=Change Password account.changePassword=Alterar a Senha
account.confirmNewPassword=Confirm New Password account.confirmNewPassword=Confirmar Nova Senha
account.signOut=Sign Out account.signOut=Sair do Sistema
account.yourApiKey=Your API Key account.yourApiKey=Sua Chave API
account.syncTitle=Sync browser settings with Account account.syncTitle=sincronizar definições do navegador com a conta
account.settingsCompare=Settings Comparison: account.settingsCompare=Comparação das Definições:
account.property=Property account.property=Propriedade
account.webBrowserSettings=Web Browser Setting account.webBrowserSettings=Configurações do Navegador Web
account.syncToBrowser=Sync Account -> Browser account.syncToBrowser=Sincronizar Conta -> Navegador
account.syncToAccount=Sync Account <- Browser account.syncToAccount=Sincronizar Conta <- Navegador
adminUserSettings.title=User Control Settings adminUserSettings.title=Definições de Controlo do Utilizador
adminUserSettings.header=Admin User Control Settings adminUserSettings.header=Definições de Controlo do Utilizador (Admin)
adminUserSettings.admin=Admin adminUserSettings.admin=Administrador
adminUserSettings.user=User adminUserSettings.user=Utilizador
adminUserSettings.addUser=Add New User adminUserSettings.addUser=Adicionar Novo Utilizador
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Apagar Utilizador
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Deverá o utilizador ser apagado?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Deverá a situação do utilizador ser alterada (desativar/ativar)?
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address. adminUserSettings.usernameInfo=O nome de utilizador só pode conter letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido.
adminUserSettings.roles=Roles adminUserSettings.roles=Papeis
adminUserSettings.role=Role adminUserSettings.role=Papel
adminUserSettings.actions=Actions adminUserSettings.actions=Ações
adminUserSettings.apiUser=Limited API User adminUserSettings.apiUser=Utilizador API Limitado
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=Utilizador ADicional API Limitado
adminUserSettings.webOnlyUser=Web Only User adminUserSettings.webOnlyUser=Utilizador Apenas Web
adminUserSettings.demoUser=Demo User (No custom settings) adminUserSettings.demoUser=Utilizador Demo (Sem Configurações Personalizadas)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=Utilizador API Interno
adminUserSettings.forceChange=Force user to change password on login adminUserSettings.forceChange=Forçar utilizador a mudar a senha ao fazer login
adminUserSettings.submit=Save User adminUserSettings.submit=Guardar Utilizador
adminUserSettings.changeUserRole=Alterar usuário adminUserSettings.changeUserRole=Alterar usuário
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=Autenticado
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Editar perfil próprio
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=utilizador habilitado
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=utilizador desabilitado
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Utilizadores Activos:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Utilizadores Desactivados:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Total de Utilizadores:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Última Requisição
database.title=Database Import/Export database.title=Importação/Exportação de Base de Dados
database.header=Database Import/Export database.header=Importação/Exportação de Base de Dados
database.fileName=File Name database.fileName=Nome do Ficheiro
database.creationDate=Creation Date database.creationDate=Data de Criação
database.fileSize=File Size database.fileSize=Tamanho do Ficheiro
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Apagar Ficheiro de Backup
database.importBackupFile=Import Backup File database.importBackupFile=Importar Ficheiro de Backup
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Baixar Ficheiro de Backup
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=Ao importar dados, é crucial assegurar a estrutura correta. Se não estiver seguro do que está a fazer, busque conselhos e apoio de um profissional. Um erro na estrutura pode causar mal funcionamento da aplicação, até mesmo o impossibilitar de executá-la.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=O nome do ficheiro não importa ao carregar. Será renomeado posteriormente para seguir o formato backup_user_yyyyMMddHHmm.sql, garantindo uma convenção de nomenclatura consistente.
database.submit=Import Backup database.submit=Importar Backup
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Importação no banco de dados concluída com sucesso
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=O ficheiro não pode ser nulo ou vazio
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=A sessão expirou. Por favor, recarregue a página e tente novamente.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -380,7 +385,7 @@ removeBlanks.tags=limpeza,otimização,sem-conteúdo,organizar
home.removeAnnotations.title=Removee Notas home.removeAnnotations.title=Removee Notas
home.removeAnnotations.desc=Remove todas as notas ou comentário de um PDF. home.removeAnnotations.desc=Remove todas as notas ou comentário de um PDF.
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=comentários,destaque,notas,marcação,remover
home.compare.title=Comparar home.compare.title=Comparar
home.compare.desc=Comparar e mostrar as diferenças entre 2 documentos PDF home.compare.desc=Comparar e mostrar as diferenças entre 2 documentos PDF
@@ -390,9 +395,9 @@ home.certSign.title=Assinar com Certificado
home.certSign.desc=Assinar um PDF com um Certificado/Chave (PEM/P12) home.certSign.desc=Assinar um PDF com um Certificado/Chave (PEM/P12)
certSign.tags=autenticar,PEM,P12,oficial,criptografar certSign.tags=autenticar,PEM,P12,oficial,criptografar
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Remover Assinatura Certificado
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Remova a assinatura do certificado do PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=autenticar,PEM,P12,oficial,desencriptar
home.pageLayout.title=Layout de Múltiplas Páginas home.pageLayout.title=Layout de Múltiplas Páginas
home.pageLayout.desc=Juntar várias páginas de um documento PDF em uma única página home.pageLayout.desc=Juntar várias páginas de um documento PDF em uma única página
@@ -465,7 +470,7 @@ showJS.tags=JavaScript
home.autoRedact.title=Edição automática home.autoRedact.title=Edição automática
home.autoRedact.desc=Edição automática (marca a preto) baseada numa expressão indicada de um PDF. home.autoRedact.desc=Edição automática (marca a preto) baseada numa expressão indicada de um PDF.
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=Esconder,censurar,marcador,tampado,máscara,oculto
home.tableExtraxt.title=PDF para CSV home.tableExtraxt.title=PDF para CSV
home.tableExtraxt.desc=Extrai tabelas de um PDF convertendo em um CSV home.tableExtraxt.desc=Extrai tabelas de um PDF convertendo em um CSV
@@ -490,41 +495,41 @@ home.AddStampRequest.desc=Adicionar um carimbo de texto ou imagem
AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca d'água, PDF, Embebido, Personalizado AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca d'água, PDF, Embebido, Personalizado
home.PDFToBook.title=PDF to Book home.PDFToBook.title=PDF para Livro
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre home.PDFToBook.desc=Converte PDF em formatos de livro/comic utilizando o Calibre
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.BookToPDF.title=Book to PDF home.BookToPDF.title=Livro para PDF
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=Converte formatos de livros/comics em PDF utilizando o Calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Remover imagem
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Remova imagem do PDF para reduzir o tamanho do ficheiro
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Remover Imagem,operações de página,lado de servidor
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Dividir PDF por Capítulos
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Divida um PDF em vários arquivos com base na estrutura dos capítulos.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=dividir,capítulos,marcadores,organizar
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Substituir-Inverter Cor do PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Substituir cor pelo texto e fundo em PDF e inverter toda a cor do PDF para reduzir o tamanho do ficheiro
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Substituição de Cor, Operações de Página, Back End, lado do servidor
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Opções de Substituição ou Inversão de Cor
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Padrão (Cor de contraste alto padrão)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Personalizado ( cores personalizadas)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Inversão Total (inverter todas as cores)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Opções de cor de contraste alto
replace-color.selectText.6=white text on black background replace-color.selectText.6=Texto branco sobre fundo preto
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Texto preto sobre fundo branco
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Texto amarelo sobre fundo preto
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Texto verde sobre fundo preto
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Escolher cor do texto
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Escolher cor de fundo
replace-color.submit=Replace replace-color.submit=Substituir
@@ -543,17 +548,17 @@ login.locked=A sua conta foi bloqueada.
login.signinTitle=Introduza os seus dados de acesso login.signinTitle=Introduza os seus dados de acesso
login.ssoSignIn=Iniciar sessão através de início de sessão único login.ssoSignIn=Iniciar sessão através de início de sessão único
login.oauth2AutoCreateDisabled=OAUTH2 Criação Automática de Utilizador Desativada login.oauth2AutoCreateDisabled=OAUTH2 Criação Automática de Utilizador Desativada
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=A registo ou login de utilizadores não-registados está atualmente bloqueado. Por favor, contacte o administrador.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Solicitação de autorização não encontrada
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Resposta de informações do utilizador inválida
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Requisito inválido
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Acesso negado
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Resposta de token inválida
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Token de identificação inválido
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=O utilizador foi desativado, o login está atualmente bloqueado com esta conta. Por favor, contacte o administrador.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Já está logado em
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=dispositivos. Por favor, faça logout nos dispositivos e tente novamente.
login.toManySessions=You have too many active sessions login.toManySessions=Tem sessões ativas demais
#auto-redact #auto-redact
autoRedact.title=Edição Automática autoRedact.title=Edição Automática
@@ -585,7 +590,7 @@ pdfToSinglePage.submit=Converter para Página Única
pageExtracter.title=Extrair Páginas pageExtracter.title=Extrair Páginas
pageExtracter.header=Extrair Páginas pageExtracter.header=Extrair Páginas
pageExtracter.submit=Extrair pageExtracter.submit=Extrair
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(ex: 1,2,8 ou 4,7,12-16 ou 2n-1)
#getPdfInfo #getPdfInfo
@@ -728,7 +733,7 @@ pageLayout.submit=Enviar
scalePages.title=Ajustar Tamanho/Escala da Página scalePages.title=Ajustar Tamanho/Escala da Página
scalePages.header=Ajustar Tamanho/Escala da Página scalePages.header=Ajustar Tamanho/Escala da Página
scalePages.pageSize=Tamanho de uma página do documento. scalePages.pageSize=Tamanho de uma página do documento.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Tamanho original
scalePages.scaleFactor=Fator de zoom (corte) de uma página. scalePages.scaleFactor=Fator de zoom (corte) de uma página.
scalePages.submit=Enviar scalePages.submit=Enviar
@@ -741,21 +746,22 @@ certSign.jksNote=Nota: Se o seu tipo de certificado não estiver listado abaixo,
certSign.selectKey=Selecione o seu ficheiro de chave privada (formato PKCS#8, pode ser .pem ou .der): certSign.selectKey=Selecione o seu ficheiro de chave privada (formato PKCS#8, pode ser .pem ou .der):
certSign.selectCert=Selecione o seu ficheiro de certificado (formato X.509, pode ser .pem ou .der): certSign.selectCert=Selecione o seu ficheiro de certificado (formato X.509, pode ser .pem ou .der):
certSign.selectP12=Selecione o seu ficheiro de armazenamento de chave PKCS#12 (.p12 ou .pfx) (opcional, se fornecido, deve conter a sua chave privada e certificado): certSign.selectP12=Selecione o seu ficheiro de armazenamento de chave PKCS#12 (.p12 ou .pfx) (opcional, se fornecido, deve conter a sua chave privada e certificado):
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): certSign.selectJKS=Selecione o seu Arquivo de Java Keystore (.jks ou .keystore):
certSign.certType=Tipo de Certificado certSign.certType=Tipo de Certificado
certSign.password=Digite a senha do seu armazenamento de chave ou chave privada (se aplicável): certSign.password=Digite a senha do seu armazenamento de chave ou chave privada (se aplicável):
certSign.showSig=Mostrar Assinatura certSign.showSig=Mostrar Assinatura
certSign.reason=Razão certSign.reason=Razão
certSign.location=Localização certSign.location=Localização
certSign.name=Nome certSign.name=Nome
certSign.showLogo=Mostrar Logotipo
certSign.submit=Assinar PDF certSign.submit=Assinar PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Remover Assinatura Digital
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Remova a assinatura digital do PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Selecione um ficheiro PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Remover Assinatura
#removeBlanks #removeBlanks
@@ -777,24 +783,27 @@ removeAnnotations.submit=Remover
#compare #compare
compare.title=Comparar compare.title=Comparar
compare.header=Comparar PDFs compare.header=Comparar PDFs
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Cor de Destaque 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Cor de Destaque 2:
compare.document.1=Documento 1 compare.document.1=Documento 1
compare.document.2=Documento 2 compare.document.2=Documento 2
compare.submit=Comparar compare.submit=Comparar
compare.complex.message=Um ou ambos os documentos fornecidos são arquivos grandes, a precisão da comparação pode ser reduzida
compare.large.file.message=Um ou ambos os documentos fornecidos são muito grandes para processar
compare.no.text.message=Um ou ambos os PDFs seleccionados não têm conteúdo textual. Por favor, seleccione PDFs com texto para comparação.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Livros e Quadrinhos para PDF
BookToPDF.header=Book to PDF BookToPDF.header=Livro para PDF
BookToPDF.credit=Uses Calibre BookToPDF.credit=Utiliza Calibre
BookToPDF.submit=Convert BookToPDF.submit=Converter
#PDFToBook #PDFToBook
PDFToBook.title=PDF to Book PDFToBook.title=PDF para Livro
PDFToBook.header=PDF to Book PDFToBook.header=PDF para Livro
PDFToBook.selectText.1=Format PDFToBook.selectText.1=Formatação
PDFToBook.credit=Uses Calibre PDFToBook.credit=Utiliza Calibre
PDFToBook.submit=Convert PDFToBook.submit=Converter
#sign #sign
sign.title=Assinar sign.title=Assinar
@@ -804,6 +813,11 @@ sign.draw=Desenhar Assinatura
sign.text=Inserir Texto sign.text=Inserir Texto
sign.clear=Limpar sign.clear=Limpar
sign.add=Adicionar sign.add=Adicionar
sign.saved=Assinaturas Guardadas
sign.save=Guardar Assinatura
sign.personalSigs=Assinaturas Pessoais
sign.sharedSigs=Assinaturas Compartilhadas
sign.noSavedSigs=Nenhuma assinatura guardada encontrada
#repair #repair
@@ -815,7 +829,7 @@ repair.submit=Reparar
#flatten #flatten
flatten.title=Achatar flatten.title=Achatar
flatten.header=Achatar PDFs flatten.header=Achatar PDFs
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=Apenas formularios aplanados
flatten.submit=Achatar flatten.submit=Achatar
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Área mínima de contorno:
ScannerImageSplit.selectText.8=Define o limite mínimo da área de contorno para uma foto ScannerImageSplit.selectText.8=Define o limite mínimo da área de contorno para uma foto
ScannerImageSplit.selectText.9=Tamanho do contorno: ScannerImageSplit.selectText.9=Tamanho do contorno:
ScannerImageSplit.selectText.10=Define o tamanho do contorno adicionado e removido para evitar contornos brancos na saída (padrão: 1). ScannerImageSplit.selectText.10=Define o tamanho do contorno adicionado e removido para evitar contornos brancos na saída (padrão: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=O Python não está instalado. É necessário para execução.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Processar PDF com OCR
extractImages.title=Extrair Imagens extractImages.title=Extrair Imagens
extractImages.header=Extrair Imagens extractImages.header=Extrair Imagens
extractImages.selectText=Selecione o formato de imagem para converter as imagens extraídas extractImages.selectText=Selecione o formato de imagem para converter as imagens extraídas
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Guardar imagens duplicadas
extractImages.submit=Extrair extractImages.submit=Extrair
@@ -865,7 +879,7 @@ extractImages.submit=Extrair
fileToPDF.title=Ficheiro para PDF fileToPDF.title=Ficheiro para PDF
fileToPDF.header=Converter Qualquer ficheiro para PDF fileToPDF.header=Converter Qualquer ficheiro para PDF
fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros. fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Tipos de ficheiros suportados
fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice. fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice.
fileToPDF.submit=Converter para PDF fileToPDF.submit=Converter para PDF
@@ -895,7 +909,7 @@ merge.title=Juntar
merge.header=Juntar Vários PDFs (2+) merge.header=Juntar Vários PDFs (2+)
merge.sortByName=Ordenar por nome merge.sortByName=Ordenar por nome
merge.sortByDate=Ordenar por data merge.sortByDate=Ordenar por data
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Remover assinatura digital no ficheiro combinado?
merge.submit=Juntar merge.submit=Juntar
@@ -903,35 +917,46 @@ merge.submit=Juntar
pdfOrganiser.title=Organizador de Páginas pdfOrganiser.title=Organizador de Páginas
pdfOrganiser.header=Organizador de Páginas PDF pdfOrganiser.header=Organizador de Páginas PDF
pdfOrganiser.submit=Reorganizar Páginas pdfOrganiser.submit=Reorganizar Páginas
pdfOrganiser.mode=Mode pdfOrganiser.mode=Modo
pdfOrganiser.mode.1=Custom Page Order pdfOrganiser.mode.1=Ordenação Personalizada de Páginas
pdfOrganiser.mode.2=Reverse Order pdfOrganiser.mode.2=Ordem Inversa
pdfOrganiser.mode.3=Duplex Sort pdfOrganiser.mode.3=Ordenação Duplex
pdfOrganiser.mode.4=Booklet Sort pdfOrganiser.mode.4=Ordernação em Panfleto
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=Ordenação em Panfleto com Costura de Lateral
pdfOrganiser.mode.6=Odd-Even Split pdfOrganiser.mode.6=Divisão Ímpar-Par
pdfOrganiser.mode.7=Remove First pdfOrganiser.mode.7=Remover Primeira Página
pdfOrganiser.mode.8=Remove Last pdfOrganiser.mode.8=Remover última Página
pdfOrganiser.mode.9=Remove First and Last pdfOrganiser.mode.9=Remover Primeira e Última Página
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Mergulho Ímpar-Par
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(ex: 1,3,2 ou 4-8,2,10-12 ou 2n-1)
#multiTool #multiTool
multiTool.title=Multiferramenta de PDF multiTool.title=Multiferramenta de PDF
multiTool.header=Multiferramenta de PDF multiTool.header=Multiferramenta de PDF
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=Nome do Arquivo
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=View PDF viewPdf.title=Visualizar PDF
viewPdf.header=View PDF viewPdf.header=Visualizar PDF
#pageRemover #pageRemover
pageRemover.title=Remover Página pageRemover.title=Remover Página
pageRemover.header=Remover Páginas do PDF pageRemover.header=Remover Páginas do PDF
pageRemover.pagesToDelete=Páginas a serem excluídas (insira uma lista separada por vírgulas de números de página): pageRemover.pagesToDelete=Páginas a serem excluídas (insira uma lista separada por vírgulas de números de página):
pageRemover.submit=Excluir Páginas pageRemover.submit=Excluir Páginas
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(ex: 1,2,6 ou 1-10,15-30)
#rotate #rotate
@@ -982,7 +1007,7 @@ pdfToImage.color=Colorida
pdfToImage.grey=Escala de Cinza pdfToImage.grey=Escala de Cinza
pdfToImage.blackwhite=Preto e Branco (pode resultar em perda de dados!) pdfToImage.blackwhite=Preto e Branco (pode resultar em perda de dados!)
pdfToImage.submit=Converter pdfToImage.submit=Converter
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=O Python não está instalado. Necessário para a conversão de WebP.
#addPassword #addPassword
@@ -1019,10 +1044,10 @@ watermark.selectText.6=Espaçamento Vertical (heightSpacer)
watermark.selectText.7=Opacidade (0% - 100%) watermark.selectText.7=Opacidade (0% - 100%)
watermark.selectText.8=Tipo de Marca d'Água watermark.selectText.8=Tipo de Marca d'Água
watermark.selectText.9=Imagem da Marca d'Água watermark.selectText.9=Imagem da Marca d'Água
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Converter PDF em Imagem
watermark.submit=Adicionar Marca d'Água watermark.submit=Adicionar Marca d'Água
watermark.type.1=Text watermark.type.1=Texto
watermark.type.2=Image watermark.type.2=Imagem
#Change permissions #Change permissions
@@ -1063,7 +1088,7 @@ changeMetadata.keywords=Palavras-chave:
changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss): changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss):
changeMetadata.producer=Produtor: changeMetadata.producer=Produtor:
changeMetadata.subject=Assunto: changeMetadata.subject=Assunto:
changeMetadata.trapped=Trapped: changeMetadata.trapped=Encalhado:
changeMetadata.selectText.4=Outros Metadados changeMetadata.selectText.4=Outros Metadados
changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados
changeMetadata.submit=Mudar changeMetadata.submit=Mudar
@@ -1074,9 +1099,9 @@ pdfToPDFA.title=PDF para PDF/A
pdfToPDFA.header=PDF para PDF/A pdfToPDFA.header=PDF para PDF/A
pdfToPDFA.credit=Este serviço usa ghostscript para Conversão de PDF/A pdfToPDFA.credit=Este serviço usa ghostscript para Conversão de PDF/A
pdfToPDFA.submit=Converter pdfToPDFA.submit=Converter
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=Actualmente não funciona para múltiplos inputs de uma só vez
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Formato de saída
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=O PDF contém um selo digital. Isto será removido no próximo passo.
#PDFToWord #PDFToWord
@@ -1158,15 +1183,15 @@ split-by-sections.vertical.label=Divisões Verticais
split-by-sections.horizontal.placeholder=Introduza o número de divisões horizontais split-by-sections.horizontal.placeholder=Introduza o número de divisões horizontais
split-by-sections.vertical.placeholder=Introduza o número de divisões verticais split-by-sections.vertical.placeholder=Introduza o número de divisões verticais
split-by-sections.submit=Dividir PDF split-by-sections.submit=Dividir PDF
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Fundir em Um único PDF
#printFile #printFile
printFile.title=Print File printFile.title=Imprimir Ficheiro
printFile.header=Print File to Printer printFile.header=Imprimir ficheiro na impressora
printFile.selectText.1=Select File to Print printFile.selectText.1=Selecione o ficheiro a imprimir
printFile.selectText.2=Enter Printer Name printFile.selectText.2=Introduza o nome da impressora
printFile.submit=Print printFile.submit=Imprimir
#licenses #licenses
@@ -1178,47 +1203,45 @@ licenses.version=Versão
licenses.license=Licença licenses.license=Licença
#survey #survey
survey.nav=Survey survey.nav=Inquérito
survey.title=Stirling-PDF Survey survey.title=Inquérito ao Stirling-PDF
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=O Stirling-PDF não tem rastreio, por isso queremos ouvir os nossos utilizadores para melhorar o Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=O Stirling-PDF mudou desde a última avaliação! Para mais informações, verifique o nosso post no blog aqui:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Com estas mudanças estamos a obter suporte comercial pago e financiamento
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(A caixa de inquérito será desativada nas próximas actualizações mas estará disponível na parte inferior da página)
survey.button=Take Survey survey.button=Levar o Inquérito
survey.dontShowAgain=Don't show again survey.dontShowAgain=Não mostrar novamente
#error #error
error.sorry=Sorry for the issue! error.sorry=Desculpe pelo inconveniente!
error.needHelp=Need help / Found an issue? error.needHelp=Precisa de ajuda / Encontrou um problema?
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord: error.contactTip=Se ainda estiver a ter problemas, não hesite em entrar em contacto connosco para obter ajuda. Pode submeter um ticket na nossa página do GitHub ou contactar-nos através do Discord:
error.404.head=404 - Page Not Found | Oops, we tripped in the code! error.404.head=404 - Página Não Encontrada | Oops, tropeçámos no código!
error.404.1=We can't seem to find the page you're looking for. error.404.1=Não podemos parecer encontrar a página que está a procurar.
error.404.2=Something went wrong error.404.2=Ocorreu um erro
error.github=Submit a ticket on GitHub error.github=Submeta um ticket na GitHub
error.showStack=Show Stack Trace error.showStack=Mostrar Stack Trace
error.copyStack=Copy Stack Trace error.copyStack=Copiar Stack Trace
error.githubSubmit=GitHub - Submit a ticket error.githubSubmit=GitHub - Submeter um Ticket
error.discordSubmit=Discord - Submit Support post error.discordSubmit=Discord - Submeter um Post de Suporte
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Remover imagem
removeImage.header=Remove image removeImage.header=Remover imagem
removeImage.removeImage=Remove image removeImage.removeImage=Remover imagem
removeImage.submit=Remove image removeImage.submit=Remover imagem
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
splitByChapters.title=Dividir o PDF por Capítulos
splitByChapters.header=Dividir o PDF por Capítulos
splitByChapters.bookmarkLevel=Nível de Anotações
splitByChapters.includeMetadata=Incluir Metadados
splitByChapters.allowDuplicates=Permitir Duplicações
splitByChapters.desc.1=Esta ferramenta divide um ficheiro PDF em vários PDFs com base na estrutura dos seus capítulos.
splitByChapters.desc.2=Nível de Anotações: Escolha o nível das anotações a usar para a divisão (0 para topo, 1 para segundo nível, etc.).
splitByChapters.desc.3=Inclua Metadados: Se marcado, os metadados originais do PDF serão incluídos em cada PDF dividido.
splitByChapters.desc.4=Permitir Duplicatas: Se marcado, permite a criação de vários bookmarks na mesma página para criar separadamente vários PDFs.
splitByChapters.submit=Dividir o PDF

View File

@@ -79,6 +79,9 @@ info=Informații
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Limbi
navbar.settings=Setări navbar.settings=Setări
navbar.allTools=Instrumente navbar.allTools=Instrumente
navbar.multiTool=Instrumente Multiple navbar.multiTool=Instrumente Multiple
navbar.search=Search
navbar.sections.organize=Organizează navbar.sections.organize=Organizează
navbar.sections.convertTo=Convertește în PDF navbar.sections.convertTo=Convertește în PDF
navbar.sections.convertFrom=Convertește din PDF navbar.sections.convertFrom=Convertește din PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Fișierul nu trebuie să fie nul sau gol
database.failedImportFile=Importul Fișierului a Eșuat database.failedImportFile=Importul Fișierului a Eșuat
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Afișează semnătura
certSign.reason=Motivul certSign.reason=Motivul
certSign.location=Locația certSign.location=Locația
certSign.name=Numele certSign.name=Numele
certSign.showLogo=Show Logo
certSign.submit=Semnează PDF certSign.submit=Semnează PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Culoare Evidențiere 2:
compare.document.1=Documentul 1 compare.document.1=Documentul 1
compare.document.2=Documentul 2 compare.document.2=Documentul 2
compare.submit=Compară compare.submit=Compară
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Cărți și Benzi Desenate în PDF BookToPDF.title=Cărți și Benzi Desenate în PDF
@@ -804,6 +813,11 @@ sign.draw=Desenează Semnătura
sign.text=Introdu Textul sign.text=Introdu Textul
sign.clear=Curăță sign.clear=Curăță
sign.add=Adaugă sign.add=Adaugă
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(ex. 1,3,2 sau 4-8,2,10-12 sau 2n-1)
multiTool.title=Instrument PDF multiplu multiTool.title=Instrument PDF multiplu
multiTool.header=Instrument PDF multiplu multiTool.header=Instrument PDF multiplu
multiTool.uploadPrompts=Nume Fișier multiTool.uploadPrompts=Nume Fișier
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Vizualizează PDF viewPdf.title=Vizualizează PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=Размер шрифта
addPageNumbers.fontName=Font Name addPageNumbers.fontName=Название шрифта
pdfPrompt=Выберите PDF(ы) pdfPrompt=Выберите PDF(ы)
multiPdfPrompt=Выберите PDFы (2+) multiPdfPrompt=Выберите PDFы (2+)
multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDFы multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDFы
@@ -47,7 +47,7 @@ green=Зеленый
blue=Синий blue=Синий
custom=Обычай... custom=Обычай...
WorkInProgess=Работа продолжается, может не работать или глючить, пожалуйста, сообщайте о любых проблемах! WorkInProgess=Работа продолжается, может не работать или глючить, пожалуйста, сообщайте о любых проблемах!
poweredBy=Powered by poweredBy=Поддерживается...
yes=Да yes=Да
no=Нет no=Нет
changedCredsMessage=Учетные данные изменены! changedCredsMessage=Учетные данные изменены!
@@ -56,15 +56,15 @@ userNotFoundMessage=Пользователь не найден.
incorrectPasswordMessage=Текущий пароль неверен. incorrectPasswordMessage=Текущий пароль неверен.
usernameExistsMessage=Новое имя пользователя уже существует. usernameExistsMessage=Новое имя пользователя уже существует.
invalidUsernameMessage=Неверное имя пользователя. Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты. invalidUsernameMessage=Неверное имя пользователя. Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=Пароль не должен быть пустым и не должен содержать пробелов в начале или конце.
confirmPasswordErrorMessage=New Password and Confirm New Password must match. confirmPasswordErrorMessage=Новый пароль и подтверждение нового пароля должны совпадать.
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему. deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено. deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
downgradeCurrentUserMessage=Невозможно понизить роль текущего пользователя downgradeCurrentUserMessage=Невозможно понизить роль текущего пользователя
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=Текущий пользователь не может быть отключен
downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться. downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться.
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. userAlreadyExistsOAuthMessage=Пользователь уже существует как OAuth2 пользователь.
userAlreadyExistsWebMessage=The user already exists as an web user. userAlreadyExistsWebMessage=Пользователь уже существует как веб-пользователь.
error=Ошибка error=Ошибка
oops=Ой! oops=Ой!
help=Помощь help=Помощь
@@ -75,16 +75,19 @@ visitGithub=Посетить репозиторий на GitHub
donate=Пожертвовать donate=Пожертвовать
color=Цвет color=Цвет
sponsor=Спонсор sponsor=Спонсор
info=Info info=Информация
pro=Pro pro=Про
page=Page page=Страница
pages=Pages pages=Страницы
loading=Загрузка...
addToDoc=Добавить в документ
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Политика конфиденциальности
legal.terms=Terms and Conditions legal.terms=Условия использования
legal.accessibility=Accessibility legal.accessibility=Доступность
legal.cookie=Cookie Policy legal.cookie=Политика кукисов
legal.impressum=Impressum legal.impressum=Организация
############### ###############
# Pipeline # # Pipeline #
@@ -96,7 +99,7 @@ pipeline.defaultOption=Пользовательский
pipeline.submitButton=Отправить pipeline.submitButton=Отправить
pipeline.help=Справка по конвейерной обработке pipeline.help=Справка по конвейерной обработке
pipeline.scanHelp=Справка по сканированию папок pipeline.scanHelp=Справка по сканированию папок
pipeline.deletePrompt=Are you sure you want to delete pipeline pipeline.deletePrompt=Вы уверены, что хотите удалить пайплайн
###################### ######################
# Pipeline Options # # Pipeline Options #
@@ -114,45 +117,46 @@ pipelineOptions.validateButton=Проверить
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Переход к Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Этот функционал доступен только пользователям Pro.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro поддерживает файлы конфигурации YAML и другие функции единой системы аутентификации (SSO).
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Ищете больше возможностей управления пользователями? Проверьте Stirling PDF Pro
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Хотите улучшить Stirling PDF?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF использует опциональные данные аналитики для улучшения продукта. Мы не отслеживаем никакую личную информацию или содержимое файлов.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Пожалуйста, рассмотрите возможность включения аналитики, чтобы помочь Stirling-PDF расти и дать нам возможность лучше понять наших пользователей.
analytics.enable=Enable analytics analytics.enable=Включить аналитику
analytics.disable=Disable analytics analytics.disable=Отключить аналитику
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Вы можете изменить настройки аналитики в файле config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
############# #############
navbar.favorite=Favorites navbar.favorite=Избранное
navbar.darkmode=Темный режим navbar.darkmode=Темный режим
navbar.language=Languages navbar.language=Языки
navbar.settings=Настройки navbar.settings=Настройки
navbar.allTools=Tools navbar.allTools=Конвейеры
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.sections.organize=Organize navbar.search=Search
navbar.sections.convertTo=Convert to PDF navbar.sections.organize=Организация
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertTo=Перевести в PDF
navbar.sections.security=Sign & Security navbar.sections.convertFrom=Перевести из PDF
navbar.sections.advance=Advanced navbar.sections.security=Подписи и Безопасность
navbar.sections.edit=View & Edit navbar.sections.advance=Продвинутые
navbar.sections.popular=Popular navbar.sections.edit=Просмотр и Редактирование
navbar.sections.popular=Популярное
############# #############
# SETTINGS # # SETTINGS #
############# #############
settings.title=Настройки settings.title=Настройки
settings.update=Доступно обновление settings.update=Доступно обновление
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. settings.updateAvailable={0} - текущая установленная версия. Доступна новая версия ({1}).
settings.appVersion=Версия приложения: settings.appVersion=Версия приложения:
settings.downloadOption.title=Выберите вариант загрузки (для загрузки одного файла без zip): settings.downloadOption.title=Выберите вариант загрузки (для загрузки одного файла без zip):
settings.downloadOption.1=Открыть в том же окне settings.downloadOption.1=Открыть в том же окне
@@ -161,9 +165,9 @@ settings.downloadOption.3=Загрузить файл
settings.zipThreshold=Zip-файлы, когда количество загруженных файлов превышает settings.zipThreshold=Zip-файлы, когда количество загруженных файлов превышает
settings.signOut=Выйти settings.signOut=Выйти
settings.accountSettings=Настройки аккаунта settings.accountSettings=Настройки аккаунта
settings.bored.help=Enables easter egg game settings.bored.help=Включает игру на яйцо
settings.cacheInputs.name=Save form inputs settings.cacheInputs.name=Сохранение введенных данных формы
settings.cacheInputs.help=Enable to store previously used inputs for future runs settings.cacheInputs.help=Включить для хранения ранее использованных значений для будущих запусков
changeCreds.title=Изменить учетные данные changeCreds.title=Изменить учетные данные
changeCreds.header=Обновите данные вашей учетной записи changeCreds.header=Обновите данные вашей учетной записи
@@ -202,9 +206,9 @@ adminUserSettings.header=Настройки контроля пользоват
adminUserSettings.admin=Администратор adminUserSettings.admin=Администратор
adminUserSettings.user=Пользователь adminUserSettings.user=Пользователь
adminUserSettings.addUser=Добавить нового пользователя adminUserSettings.addUser=Добавить нового пользователя
adminUserSettings.deleteUser=Delete User adminUserSettings.deleteUser=Удалить пользователя
adminUserSettings.confirmDeleteUser=Should the user be deleted? adminUserSettings.confirmDeleteUser=Должен быть удален этот пользователь?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=Должен быть отключен/включен этот пользователь?
adminUserSettings.usernameInfo=Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты. adminUserSettings.usernameInfo=Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
adminUserSettings.roles=Роли adminUserSettings.roles=Роли
adminUserSettings.role=Роль adminUserSettings.role=Роль
@@ -217,33 +221,34 @@ adminUserSettings.internalApiUser=Внутренний пользователь
adminUserSettings.forceChange=Просить пользователя изменить пароль при входе в систему adminUserSettings.forceChange=Просить пользователя изменить пароль при входе в систему
adminUserSettings.submit=Сохранить пользователя adminUserSettings.submit=Сохранить пользователя
adminUserSettings.changeUserRole=Изменить роль пользователя adminUserSettings.changeUserRole=Изменить роль пользователя
adminUserSettings.authenticated=Authenticated adminUserSettings.authenticated=Авторизованный
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=Изменить свой профиль
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=активный пользователь
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=отключенный пользователь
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=Активные пользователи:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=Отключенные пользователи:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=Общее количество пользователей:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=Последний запрос
database.title=Database Import/Export database.title=Импорт/экспорт базы данных
database.header=Database Import/Export database.header=Импорт/экспорт базы данных
database.fileName=File Name database.fileName=Название файла
database.creationDate=Creation Date database.creationDate=Дата создания
database.fileSize=File Size database.fileSize=Размер файла
database.deleteBackupFile=Delete Backup File database.deleteBackupFile=Удалить резервную копию файла
database.importBackupFile=Import Backup File database.importBackupFile=Импортировать резервную копию файла
database.downloadBackupFile=Download Backup File database.downloadBackupFile=Скачать резервную копию файла
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application. database.info_1=При импорте данных важно убедиться в правильной структуре. Если вы не уверены, что делаете, обратитесь за профессиональной помощью и поддержкой. Ошибка в структуре может привести к сбоям приложений, вплоть до полного их отказа от работы.
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention. database.info_2=Имя файла не имеет значения при загрузке. Оно будет переименовано позже в формат backup_user_yyyyMMddHHmm.sql для обеспечения единообразия названий.
database.submit=Import Backup database.submit=Импортировать резервную копию
database.importIntoDatabaseSuccessed=Import into database successed database.importIntoDatabaseSuccessed=Импорт в базу данных выполнен успешно
database.fileNotFound=File not Found database.fileNotFound=File not Found
database.fileNullOrEmpty=File must not be null or empty database.fileNullOrEmpty=Файл не должен быть пустым или NULL
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Ваша сессия истекла. Пожалуйста, обновите страницу и попробуйте снова.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -254,7 +259,7 @@ home.searchBar=Поиск функций...
home.viewPdf.title=Просмотр PDF home.viewPdf.title=Просмотр PDF
home.viewPdf.desc=Просмотр, аннотация, добавление текста или изображений home.viewPdf.desc=Просмотр, аннотация, добавление текста или изображений
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=просмотр, чтение, аннотирование, текст, изображение
home.multiTool.title=Мультиинструмент PDF home.multiTool.title=Мультиинструмент PDF
home.multiTool.desc=Объединение, поворот, изменение порядка и удаление страниц home.multiTool.desc=Объединение, поворот, изменение порядка и удаление страниц
@@ -262,15 +267,15 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side
home.merge.title=Объединить home.merge.title=Объединить
home.merge.desc=Легко объединяйте несколько PDF-файлов в один. home.merge.desc=Легко объединяйте несколько PDF-файлов в один.
merge.tags=merge,Page operations,Back end,server side merge.tags=слияние, операции со страницами, backend, серверная сторона
home.split.title=Разделить home.split.title=Разделить
home.split.desc=Разделить PDF-файлы на несколько документов home.split.desc=Разделить PDF-файлы на несколько документов
split.tags=Page operations,divide,Multi Page,cut,server side split.tags=операции со страницами, разделение, многостраничный, вырезание, серверная сторона
home.rotate.title=Повернуть home.rotate.title=Повернуть
home.rotate.desc=Легко поворачивайте свои PDF-файлы. home.rotate.desc=Легко поворачивайте свои PDF-файлы.
rotate.tags=server side rotate.tags=серверная сторона
home.imageToPdf.title=Изображение в PDF home.imageToPdf.title=Изображение в PDF
@@ -283,7 +288,7 @@ pdfToImage.tags=conversion,img,jpg,picture,photo
home.pdfOrganiser.title=Реорганизация home.pdfOrganiser.title=Реорганизация
home.pdfOrganiser.desc=Удалить/переставить страницы в любом порядке home.pdfOrganiser.desc=Удалить/переставить страницы в любом порядке
pdfOrganiser.tags=duplex,even,odd,sort,move pdfOrganiser.tags=дуплексный режим, чётные страницы, нечётные страницы, сортировка, перемещение
home.addImage.title=Добавить изображение home.addImage.title=Добавить изображение
@@ -292,33 +297,33 @@ addImage.tags=img,jpg,picture,photo
home.watermark.title=Добавить водяной знак home.watermark.title=Добавить водяной знак
home.watermark.desc=Добавьте собственный водяной знак в документ PDF. home.watermark.desc=Добавьте собственный водяной знак в документ PDF.
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo watermark.tags=текст, повторяющийся, метка, собственное право, товарный знак, img, jpg, picture, фото
home.permissions.title=Изменить разрешения home.permissions.title=Изменить разрешения
home.permissions.desc=Измените разрешения вашего PDF-документа home.permissions.desc=Измените разрешения вашего PDF-документа
permissions.tags=read,write,edit,print permissions.tags=просмотр, запись, редактирование, печать
home.removePages.title=Удаление home.removePages.title=Удаление
home.removePages.desc=Удалите ненужные страницы из документа PDF. home.removePages.desc=Удалите ненужные страницы из документа PDF.
removePages.tags=Remove pages,delete pages removePages.tags=Удалить страницы,удаление страниц
home.addPassword.title=Добавить пароль home.addPassword.title=Добавить пароль
home.addPassword.desc=Зашифруйте PDF-документ паролем. home.addPassword.desc=Зашифруйте PDF-документ паролем.
addPassword.tags=secure,security addPassword.tags=безопасность,защита
home.removePassword.title=Удалить пароль home.removePassword.title=Удалить пароль
home.removePassword.desc=Снимите защиту паролем с вашего PDF-документа. home.removePassword.desc=Снимите защиту паролем с вашего PDF-документа.
removePassword.tags=secure,Decrypt,security,unpassword,delete password removePassword.tags=безопасность,дешифровать,удаление пароля
home.compressPdfs.title=Сжать home.compressPdfs.title=Сжать
home.compressPdfs.desc=Сжимайте PDF-файлы, чтобы уменьшить их размер. home.compressPdfs.desc=Сжимайте PDF-файлы, чтобы уменьшить их размер.
compressPdfs.tags=squish,small,tiny compressPdfs.tags=сжатие,компрессия,узкое
home.changeMetadata.title=Изменить метаданные home.changeMetadata.title=Изменить метаданные
home.changeMetadata.desc=Изменить/удалить/добавить метаданные из документа PDF home.changeMetadata.desc=Изменить/удалить/добавить метаданные из документа PDF
changeMetadata.tags=Title,author,date,creation,time,publisher,producer,stats changeMetadata.tags=заголовок,автор,дата,время создания,время,издатель,производитель,статистика
home.fileToPDF.title=Конвертировать файл в PDF home.fileToPDF.title=Конвертировать файл в PDF
home.fileToPDF.desc=Конвертируйте практически любой файл в PDF (DOCX, PNG, XLS, PPT, TXT и другие) home.fileToPDF.desc=Конвертируйте практически любой файл в PDF (DOCX, PNG, XLS, PPT, TXT и другие)
@@ -326,12 +331,12 @@ fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,offi
home.ocr.title=OCR / Очистка сканирования home.ocr.title=OCR / Очистка сканирования
home.ocr.desc=Очистка сканирования и обнаружение текста на изображениях в PDF-файле и повторно добавляет его как текст. home.ocr.desc=Очистка сканирования и обнаружение текста на изображениях в PDF-файле и повторно добавляет его как текст.
ocr.tags=recognition,text,image,scan,read,identify,detection,editable ocr.tags=распознавание,текст,изображение,сканирование,читаемость,идентификация, detektsiya,редактируемое
home.extractImages.title=Извлечь изображения home.extractImages.title=Извлечь изображения
home.extractImages.desc=Извлекает все изображения из PDF и сохраняет их в zip home.extractImages.desc=Извлекает все изображения из PDF и сохраняет их в zip
extractImages.tags=picture,photo,save,archive,zip,capture,grab extractImages.tags=картинка,фото,сохранение,архивация,zip,захват,вытаскивание
home.pdfToPDFA.title=PDF в PDF/A home.pdfToPDFA.title=PDF в PDF/A
home.pdfToPDFA.desc=Преобразование PDF в PDF/A для длительного хранения home.pdfToPDFA.desc=Преобразование PDF в PDF/A для длительного хранения
@@ -356,55 +361,55 @@ PDFToHTML.tags=web content,browser friendly
home.PDFToXML.title=PDF в XML home.PDFToXML.title=PDF в XML
home.PDFToXML.desc=Преобразование PDF в формат XML home.PDFToXML.desc=Преобразование PDF в формат XML
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert PDFToXML.tags=extraksi data,структурированный контент,interop,преобразование,конвертация
home.ScannerImageSplit.title=Обнаружение/разделение отсканированных фотографий home.ScannerImageSplit.title=Обнаружение/разделение отсканированных фотографий
home.ScannerImageSplit.desc=Разделяет несколько фотографий из фото/PDF home.ScannerImageSplit.desc=Разделяет несколько фотографий из фото/PDF
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize ScannerImageSplit.tags=разделение,автоматическое обнаружение,сканы,многофотографии,организация
home.sign.title=Подпись home.sign.title=Подпись
home.sign.desc=Добавляет подпись в PDF с помощью рисунка, текста или изображения home.sign.desc=Добавляет подпись в PDF с помощью рисунка, текста или изображения
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature sign.tags=авторизация,широкополье,подпись,текстовая подпись,изображенная подпись
home.flatten.title=Сглаживание home.flatten.title=Сглаживание
home.flatten.desc=Удалить все интерактивные элементы и формы из PDF home.flatten.desc=Удалить все интерактивные элементы и формы из PDF
flatten.tags=static,deactivate,non-interactive,streamline flatten.tags=статичная,деактивировать,непривязанное к интерактиву,простота
home.repair.title=Ремонт home.repair.title=Ремонт
home.repair.desc=Пытается восстановить поврежденный/сломанный PDF home.repair.desc=Пытается восстановить поврежденный/сломанный PDF
repair.tags=fix,restore,correction,recover repair.tags=исправление,восстановление,корректировка,восстановление
home.removeBlanks.title=Удалить пустые страницы home.removeBlanks.title=Удалить пустые страницы
home.removeBlanks.desc=Обнаруживает и удаляет пустые страницы из документа home.removeBlanks.desc=Обнаруживает и удаляет пустые страницы из документа
removeBlanks.tags=cleanup,streamline,non-content,organize removeBlanks.tags=очистка,простота,без содержания,организация
home.removeAnnotations.title=Remove Annotations home.removeAnnotations.title=Удалить аннотации
home.removeAnnotations.desc=Removes all comments/annotations from a PDF home.removeAnnotations.desc=Удаляет все комментарии/аннотации из PDF
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=комментарии, выделение, заметки, обозначения, удаление
home.compare.title=Сравнение home.compare.title=Сравнение
home.compare.desc=Сравнивает и показывает различия между двумя PDF-документами home.compare.desc=Сравнивает и показывает различия между двумя PDF-документами
compare.tags=differentiate,contrast,changes,analysis compare.tags=дифференцировать, контрастировать, изменения, анализ
home.certSign.title=Подписать сертификатом home.certSign.title=Подписать сертификатом
home.certSign.desc=Подписать PDF сертификатом/ключом (PEM/P12) home.certSign.desc=Подписать PDF сертификатом/ключом (PEM/P12)
certSign.tags=authenticate,PEM,P12,official,encrypt certSign.tags=авторизация, PEM, P12, официальное, шифрование
home.removeCertSign.title=Remove Certificate Sign home.removeCertSign.title=Remove Certificate Sign
home.removeCertSign.desc=Remove certificate signature from PDF home.removeCertSign.desc=Удаляет цифровую подпись из PDF
removeCertSign.tags=authenticate,PEM,P12,official,decrypt removeCertSign.tags=авторизация, PEM, P12, официальное, дешифрование
home.pageLayout.title=Объединить страницы home.pageLayout.title=Объединить страницы
home.pageLayout.desc=Объединение нескольких страниц документа PDF в одну страницу home.pageLayout.desc=Объединение нескольких страниц документа PDF в одну страницу
pageLayout.tags=merge,composite,single-view,organize pageLayout.tags=слияние, составление, просмотр, организация
home.scalePages.title=Изменить размер/масштаб страницы home.scalePages.title=Изменить размер/масштаб страницы
home.scalePages.desc=Изменить размер/масштаб страницы и/или ее содержимого. home.scalePages.desc=Изменить размер/масштаб страницы и/или ее содержимого.
scalePages.tags=resize,modify,dimension,adapt scalePages.tags=изменение размера, редактирование, размеры, адаптация
home.pipeline.title=Конвейер (расширенный) home.pipeline.title=Конвейер (расширенный)
home.pipeline.desc=Выполняйте несколько действий с PDF-файлами, определяя конвейерные сценарии. home.pipeline.desc=Выполняйте несколько действий с PDF-файлами, определяя конвейерные сценарии.
pipeline.tags=automate,sequence,scripted,batch-process pipeline.tags=автоматизация, последовательность, скриптовый процесс, линейный обработчик
home.add-page-numbers.title=Добавить номера страниц home.add-page-numbers.title=Добавить номера страниц
home.add-page-numbers.desc=Добавляйте номера страниц по всему документу в заданном месте home.add-page-numbers.desc=Добавляйте номера страниц по всему документу в заданном месте
@@ -412,51 +417,51 @@ add-page-numbers.tags=paginate,label,organize,index
home.auto-rename.title=Автоматическое переименование PDF-файла home.auto-rename.title=Автоматическое переименование PDF-файла
home.auto-rename.desc=Автоматическое переименование файла PDF на основе его обнаруженного заголовка home.auto-rename.desc=Автоматическое переименование файла PDF на основе его обнаруженного заголовка
auto-rename.tags=auto-detect,header-based,organize,relabel auto-rename.tags=автоматическое определение, основанные на заголовках, организация, переименование
home.adjust-contrast.title=Настройка цветов/контрастности home.adjust-contrast.title=Настройка цветов/контрастности
home.adjust-contrast.desc=Настройка контрастность, насыщенность и яркость PDF-файла home.adjust-contrast.desc=Настройка контрастность, насыщенность и яркость PDF-файла
adjust-contrast.tags=color-correction,tune,modify,enhance adjust-contrast.tags=коррекция цвета, настройка, редактирование, улучшение
home.crop.title=Обрезать PDF-файл home.crop.title=Обрезать PDF-файл
home.crop.desc=Обрезать PDF-файл, чтобы уменьшить его размер (текст сохраняется!) home.crop.desc=Обрезать PDF-файл, чтобы уменьшить его размер (текст сохраняется!)
crop.tags=trim,shrink,edit,shape crop.tags=обрезать, сократить, редактировать, форму
home.autoSplitPDF.title=Автоматическое разделение страниц home.autoSplitPDF.title=Автоматическое разделение страниц
home.autoSplitPDF.desc=Автоматическое разделение отсканированного PDF-файла с помощью физического разделителя отсканированных страниц QR-кода home.autoSplitPDF.desc=Автоматическое разделение отсканированного PDF-файла с помощью физического разделителя отсканированных страниц QR-кода
autoSplitPDF.tags=QR-based,separate,scan-segment,organize autoSplitPDF.tags=QR-коды, разделение, сканирование, обработка
home.sanitizePdf.title=Дезинфицировать home.sanitizePdf.title=Дезинфицировать
home.sanitizePdf.desc=Удаление скриптов и других элементов из PDF-файлов home.sanitizePdf.desc=Удаление скриптов и других элементов из PDF-файлов
sanitizePdf.tags=clean,secure,safe,remove-threats sanitizePdf.tags=очистка, безопасность, безопасный, удаление угроз
home.URLToPDF.title=URL/сайт в PDF home.URLToPDF.title=URL/сайт в PDF
home.URLToPDF.desc=Конвертирует любой http(s)URL в PDF home.URLToPDF.desc=Конвертирует любой http(s)URL в PDF
URLToPDF.tags=web-capture,save-page,web-to-doc,archive URLToPDF.tags=веб-съёмка, сохранение страницы, веб к документу, архивация
home.HTMLToPDF.title=HTML в PDF home.HTMLToPDF.title=HTML в PDF
home.HTMLToPDF.desc=Конвертирует любой HTML-файл или zip-файл в PDF. home.HTMLToPDF.desc=Конвертирует любой HTML-файл или zip-файл в PDF.
HTMLToPDF.tags=markup,web-content,transformation,convert HTMLToPDF.tags=макетирование, веб-контент, трансформация, конвертация
home.MarkdownToPDF.title=Markdown в PDF home.MarkdownToPDF.title=Markdown в PDF
home.MarkdownToPDF.desc=Конвертирует любой файл Markdown в PDF home.MarkdownToPDF.desc=Конвертирует любой файл Markdown в PDF
MarkdownToPDF.tags=markup,web-content,transformation,convert MarkdownToPDF.tags=макетирование, веб-контент, трансформация, конвертация
home.getPdfInfo.title=Получите ВСЮ информацию в формате PDF home.getPdfInfo.title=Получите ВСЮ информацию в формате PDF
home.getPdfInfo.desc=Собирает любую возможную информацию в PDF-файлах. home.getPdfInfo.desc=Собирает любую возможную информацию в PDF-файлах.
getPdfInfo.tags=infomation,data,stats,statistics getPdfInfo.tags=информация, данные, статистика, статистика
home.extractPage.title=Извлечь страницу(ы) home.extractPage.title=Извлечь страницу(ы)
home.extractPage.desc=Извлекает выбранные страницы из PDF home.extractPage.desc=Извлекает выбранные страницы из PDF
extractPage.tags=extract extractPage.tags=вытащить
home.PdfToSinglePage.title=PDF в одну большую страницу home.PdfToSinglePage.title=PDF в одну большую страницу
home.PdfToSinglePage.desc=Объединяет все страницы PDF в одну большую страницу. home.PdfToSinglePage.desc=Объединяет все страницы PDF в одну большую страницу.
PdfToSinglePage.tags=single page PdfToSinglePage.tags=одна страница
home.showJS.title=Показать Javascript home.showJS.title=Показать Javascript
@@ -465,29 +470,29 @@ showJS.tags=JS
home.autoRedact.title=Автоматическое редактирование home.autoRedact.title=Автоматическое редактирование
home.autoRedact.desc=Автоматическое затемнение (чернение) текста в PDF на основе входного текста home.autoRedact.desc=Автоматическое затемнение (чернение) текста в PDF на основе входного текста
autoRedact.tags=Redact,Hide,black out,black,marker,hidden autoRedact.tags=Скрыть, Закрыть, закрасить, блокировать, маркер, скрыто
home.tableExtraxt.title=PDF в CSV home.tableExtraxt.title=PDF в CSV
home.tableExtraxt.desc=Извлекает таблицы из PDF и преобразует их в CSV home.tableExtraxt.desc=Извлекает таблицы из PDF и преобразует их в CSV
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV, извлечение таблицы, вытащить, конвертировать
home.autoSizeSplitPDF.title=Автоматическое разделение по размеру/количеству home.autoSizeSplitPDF.title=Автоматическое разделение по размеру/количеству
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf, разделение, документ, организация
home.overlay-pdfs.title=Наложение PDF home.overlay-pdfs.title=Наложение PDF
home.overlay-pdfs.desc=Наложение одного PDF поверх другого PDF home.overlay-pdfs.desc=Наложение одного PDF поверх другого PDF
overlay-pdfs.tags=Overlay overlay-pdfs.tags=Перекрытие
home.split-by-sections.title=Разделение PDF по секциям home.split-by-sections.title=Разделение PDF по секциям
home.split-by-sections.desc=Разделение каждой страницы PDF на более мелкие горизонтальные и вертикальные секции home.split-by-sections.desc=Разделение каждой страницы PDF на более мелкие горизонтальные и вертикальные секции
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=Разделение на разделы, Разделить, Настроить
home.AddStampRequest.title=Добавить печать на PDF home.AddStampRequest.title=Добавить печать на PDF
home.AddStampRequest.desc=Добавление текстовой или изображенческой печати в заданные места home.AddStampRequest.desc=Добавление текстовой или изображенческой печати в заданные места
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Штамп, добавить изображение, центрировать изображение, Водяной знак, PDF, вставить, Настроить
home.PDFToBook.title=PDF в книгу/комикс home.PDFToBook.title=PDF в книгу/комикс
@@ -498,33 +503,33 @@ home.BookToPDF.title=Книга в PDF
home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=Удалить изображение
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=Удалите изображение из PDF для сокращения размера файла
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Удалить изображение, операции со страницами, Back end, серверная сторона
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Разделить PDF по разделам
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Разделите PDF на несколько файлов на основе структуры его разделов
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=разделение, разделы, закладки, организация
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Заменить-Обратное изменение цвета PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Замените цвет текста и фона в PDF и инвертируйте весь цвет PDF для сокращения размера файла
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Заменить цвет, операции со страницами, Back end, серверная сторона
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Опции замены или обратного изменения цвета
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=По умолчанию (высокий контрастный цвет)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Пользовательский выбор (персонализированные цвета)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Цветная инверсия (инвертировать все цвета)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Высококонтрастные цвета
replace-color.selectText.6=white text on black background replace-color.selectText.6=белый текст на черном фоне
replace-color.selectText.7=Black text on white background replace-color.selectText.7=черный текст на белом фоне
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=желтый текст на черном фоне
replace-color.selectText.9=Green text on black background replace-color.selectText.9=зеленый текст на черном фоне
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Выбрать цвет текста
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Выбрать цвет фона
replace-color.submit=Replace replace-color.submit=Заменить
@@ -543,17 +548,17 @@ login.locked=Ваша учетная запись заблокирована.
login.signinTitle=Пожалуйста, войдите login.signinTitle=Пожалуйста, войдите
login.ssoSignIn=Вход через единый вход login.ssoSignIn=Вход через единый вход
login.oauth2AutoCreateDisabled=OAUTH2 Автоматическое создание пользователя отключено login.oauth2AutoCreateDisabled=OAUTH2 Автоматическое создание пользователя отключено
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator. login.oauth2AdminBlockedUser=Регистрация или вход нерегистрированных пользователей временно заблокированы. Пожалуйста, обратитесь к администратору.
login.oauth2RequestNotFound=Authorization request not found login.oauth2RequestNotFound=Запрос на авторизацию не найден
login.oauth2InvalidUserInfoResponse=Invalid User Info Response login.oauth2InvalidUserInfoResponse=Недействительный ответ с информацией о пользователе
login.oauth2invalidRequest=Invalid Request login.oauth2invalidRequest=Неверный запрос
login.oauth2AccessDenied=Access Denied login.oauth2AccessDenied=Доступ запрещен
login.oauth2InvalidTokenResponse=Invalid Token Response login.oauth2InvalidTokenResponse=Недействительный ответ токена
login.oauth2InvalidIdToken=Invalid Id Token login.oauth2InvalidIdToken=Недействительный идентификационный токен
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=Пользователь деактивирован, вход с данным именем пользователя заблокирован. Пожалуйста, обратитесь к администратору.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Вы уже вошли в
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=устройства. Выполните выход из устройств и попробуйте снова.
login.toManySessions=You have too many active sessions login.toManySessions=У вас слишком много активных сессий
#auto-redact #auto-redact
autoRedact.title=Автоматическое редактирование autoRedact.title=Автоматическое редактирование
@@ -728,7 +733,7 @@ pageLayout.submit=Отправить
scalePages.title=Отрегулировать масштаб страницы scalePages.title=Отрегулировать масштаб страницы
scalePages.header=Отрегулировать масштаб страницы scalePages.header=Отрегулировать масштаб страницы
scalePages.pageSize=Размер страницы документа. scalePages.pageSize=Размер страницы документа.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Исходный размер
scalePages.scaleFactor=Уровень масштабирования (обрезки) страницы. scalePages.scaleFactor=Уровень масштабирования (обрезки) страницы.
scalePages.submit=Отправить scalePages.submit=Отправить
@@ -748,14 +753,15 @@ certSign.showSig=Показать подпись
certSign.reason=Причина certSign.reason=Причина
certSign.location=Местоположение certSign.location=Местоположение
certSign.name=Имя certSign.name=Имя
certSign.showLogo=Показать логотип
certSign.submit=Подписать PDF certSign.submit=Подписать PDF
#removeCertSign #removeCertSign
removeCertSign.title=Remove Certificate Signature removeCertSign.title=Удалить цифровую подпись сертификата
removeCertSign.header=Remove the digital certificate from the PDF removeCertSign.header=Удалите цифровой сертификат из PDF
removeCertSign.selectPDF=Select a PDF file: removeCertSign.selectPDF=Выберите файл PDF:
removeCertSign.submit=Remove Signature removeCertSign.submit=Удалить подпись
#removeBlanks #removeBlanks
@@ -777,11 +783,14 @@ removeAnnotations.submit=Удалить
#compare #compare
compare.title=Сравнение compare.title=Сравнение
compare.header=Сравнение PDFы compare.header=Сравнение PDFы
compare.highlightColor.1=Highlight Color 1: compare.highlightColor.1=Цвет подсветки 1:
compare.highlightColor.2=Highlight Color 2: compare.highlightColor.2=Цвет подсветки 2:
compare.document.1=Документ 1 compare.document.1=Документ 1
compare.document.2=Документ 2 compare.document.2=Документ 2
compare.submit=Сравнить compare.submit=Сравнить
compare.complex.message=Один или оба предоставленных документа являются большими файлами, что может снизить точность сравнения
compare.large.file.message=Один или оба предоставленных документа слишком большие для обработки
compare.no.text.message=Выбранные PDF файлы не содержат текстовую информацию. Пожалуйста, выберите PDF файлы с текстом для сравнения.
#BookToPDF #BookToPDF
BookToPDF.title=Книги и комиксы в PDF BookToPDF.title=Книги и комиксы в PDF
@@ -804,6 +813,11 @@ sign.draw=Нарисовать подпись
sign.text=Ввод текста sign.text=Ввод текста
sign.clear=Очистить sign.clear=Очистить
sign.add=Добавить sign.add=Добавить
sign.saved=Сохраненные подписи
sign.save=Сохранить подпись
sign.personalSigs=Личные подписи
sign.sharedSigs=Общие подписи
sign.noSavedSigs=Найдено ни одной сохраненной подписи
#repair #repair
@@ -815,7 +829,7 @@ repair.submit=Ремонт
#flatten #flatten
flatten.title=Сглаживание flatten.title=Сглаживание
flatten.header=Сглаживание PDF ов flatten.header=Сглаживание PDF ов
flatten.flattenOnlyForms=Flatten only forms flatten.flattenOnlyForms=Плоское представление только форм
flatten.submit=Сгладить flatten.submit=Сгладить
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=Минимальная площадь конту
ScannerImageSplit.selectText.8=Устанавливает минимальный порог области контура для фотографии ScannerImageSplit.selectText.8=Устанавливает минимальный порог области контура для фотографии
ScannerImageSplit.selectText.9=Размер границы: ScannerImageSplit.selectText.9=Размер границы:
ScannerImageSplit.selectText.10=Устанавливает размер добавляемой и удаляемой границы, чтобы предотвратить появление белых границ на выходе (по умолчанию: 1). ScannerImageSplit.selectText.10=Устанавливает размер добавляемой и удаляемой границы, чтобы предотвратить появление белых границ на выходе (по умолчанию: 1).
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Установка Python необходима для выполнения.
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=Обработка PDF с OCR
extractImages.title=Извлечь изображения extractImages.title=Извлечь изображения
extractImages.header=Извлечь изображения extractImages.header=Извлечь изображения
extractImages.selectText=Выберите формат изображения для преобразования извлеченных изображений в extractImages.selectText=Выберите формат изображения для преобразования извлеченных изображений в
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=Сохранить дублирующиеся изображения
extractImages.submit=Извлечь extractImages.submit=Извлечь
@@ -865,7 +879,7 @@ extractImages.submit=Извлечь
fileToPDF.title=Файл в PDF fileToPDF.title=Файл в PDF
fileToPDF.header=Конвертировать любой файл в PDF fileToPDF.header=Конвертировать любой файл в PDF
fileToPDF.credit=Этот сервис использует LibreOffice и Unoconv для преобразования файлов. fileToPDF.credit=Этот сервис использует LibreOffice и Unoconv для преобразования файлов.
fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypesInfo=Поддерживаемые файловые типы
fileToPDF.supportedFileTypes=Поддерживаемые типы файлов должны включать приведенные ниже, однако полный обновленный список поддерживаемых форматов см. в документации LibreOffice. fileToPDF.supportedFileTypes=Поддерживаемые типы файлов должны включать приведенные ниже, однако полный обновленный список поддерживаемых форматов см. в документации LibreOffice.
fileToPDF.submit=Преобразовать в PDF fileToPDF.submit=Преобразовать в PDF
@@ -895,7 +909,7 @@ merge.title=Объединить
merge.header=Объединение нескольких PDF-файлов (2+) merge.header=Объединение нескольких PDF-файлов (2+)
merge.sortByName=Сортировка по имени merge.sortByName=Сортировка по имени
merge.sortByDate=Сортировка по дате merge.sortByDate=Сортировка по дате
merge.removeCertSign=Remove digital signature in the merged file? merge.removeCertSign=Удалить цифровую подпись в объединенном файле?
merge.submit=Объединить merge.submit=Объединить
@@ -913,14 +927,25 @@ pdfOrganiser.mode.6=Разделение на чётные и нечётные
pdfOrganiser.mode.7=Удалить первую pdfOrganiser.mode.7=Удалить первую
pdfOrganiser.mode.8=Удалить последнюю pdfOrganiser.mode.8=Удалить последнюю
pdfOrganiser.mode.9=Удалить первую и последнюю pdfOrganiser.mode.9=Удалить первую и последнюю
pdfOrganiser.mode.10=Odd-Even Merge pdfOrganiser.mode.10=Нечетное-четное объединение
pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1) pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1)
#multiTool #multiTool
multiTool.title=Мультиинструмент PDF multiTool.title=Мультиинструмент PDF
multiTool.header=Мультиинструмент PDF multiTool.header=Мультиинструмент PDF
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=Имя файла
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Просмотреть PDF viewPdf.title=Просмотреть PDF
@@ -982,7 +1007,7 @@ pdfToImage.color=Цвет
pdfToImage.grey=Оттенки серого pdfToImage.grey=Оттенки серого
pdfToImage.blackwhite=Черно-белый (может потерять данные!) pdfToImage.blackwhite=Черно-белый (может потерять данные!)
pdfToImage.submit=Конвертировать pdfToImage.submit=Конвертировать
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Питон не установлен. Необходим для конвертации в WebP.
#addPassword #addPassword
@@ -1019,7 +1044,7 @@ watermark.selectText.6=heightSpacer (пробел между каждым вод
watermark.selectText.7=Непрозрачность (0% - 100%): watermark.selectText.7=Непрозрачность (0% - 100%):
watermark.selectText.8=Тип водяного знака: watermark.selectText.8=Тип водяного знака:
watermark.selectText.9=Изображение водяного знака: watermark.selectText.9=Изображение водяного знака:
watermark.selectText.10=Convert PDF to PDF-Image watermark.selectText.10=Конвертировать PDF в PDF-изображение
watermark.submit=Добавить водяной знак watermark.submit=Добавить водяной знак
watermark.type.1=Текст watermark.type.1=Текст
watermark.type.2=Изображение watermark.type.2=Изображение
@@ -1063,7 +1088,7 @@ changeMetadata.keywords=Ключевые слова:
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss): changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
changeMetadata.producer=Изготовитель: changeMetadata.producer=Изготовитель:
changeMetadata.subject=Тема: changeMetadata.subject=Тема:
changeMetadata.trapped=Trapped: changeMetadata.trapped=Закреплено:
changeMetadata.selectText.4=Другие метаданные: changeMetadata.selectText.4=Другие метаданные:
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
changeMetadata.submit=Изменить changeMetadata.submit=Изменить
@@ -1074,9 +1099,9 @@ pdfToPDFA.title=PDF в PDF/A
pdfToPDFA.header=PDF в PDF/A pdfToPDFA.header=PDF в PDF/A
pdfToPDFA.credit=Этот сервис использует ghostscript для преобразования PDF/A pdfToPDFA.credit=Этот сервис использует ghostscript для преобразования PDF/A
pdfToPDFA.submit=Конвертировать pdfToPDFA.submit=Конвертировать
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=В настоящее время не поддерживается при нескольких входных данных одновременно
pdfToPDFA.outputFormat=Output format pdfToPDFA.outputFormat=Формат вывода
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step. pdfToPDFA.pdfWithDigitalSignature=Этот PDF содержит цифровую подпись. Она будет удалена в следующем шаге.
#PDFToWord #PDFToWord
@@ -1162,11 +1187,11 @@ split-by-sections.merge=Объединить в один PDF
#printFile #printFile
printFile.title=Print File printFile.title=Печать файла
printFile.header=Print File to Printer printFile.header=Печать файла на принтер
printFile.selectText.1=Select File to Print printFile.selectText.1=Выберите файл для печати
printFile.selectText.2=Enter Printer Name printFile.selectText.2=Введите имя принтера
printFile.submit=Print printFile.submit=Печать
#licenses #licenses
@@ -1178,15 +1203,15 @@ licenses.version=Версия
licenses.license=Лицензия licenses.license=Лицензия
#survey #survey
survey.nav=Survey survey.nav=Опрос
survey.title=Stirling-PDF Survey survey.title=Опрос Stirling-PDF
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF! survey.description=Stirling-PDF не имеет трекинга, поэтому мы хотим услышать от пользователей для улучшения Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF изменился с прошлого опроса! Чтобы узнать больше, пожалуйста, проверьте наш пост на блоге здесь:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=С этими изменениями мы получили коммерческую поддержку и финансирование
survey.please=Please consider taking our survey! survey.please=Please consider taking our survey!
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page) survey.disabled=(Попап опроса будет отключен в следующих обновлениях, но останется доступен внизу страницы)
survey.button=Take Survey survey.button=Пройти опрос
survey.dontShowAgain=Don't show again survey.dontShowAgain=Не показывать снова
#error #error
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - Отправить запрос в поддерж
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=Удалить изображение
removeImage.header=Remove image removeImage.header=Удалить изображение
removeImage.removeImage=Remove image removeImage.removeImage=Удалить изображение
removeImage.submit=Remove image removeImage.submit=Удалить
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
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

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Languages
navbar.settings=Nastavenia navbar.settings=Nastavenia
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.search=Search
navbar.sections.organize=Organize navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertFrom=Convert from PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Zobraziť podpis
certSign.reason=Dôvod certSign.reason=Dôvod
certSign.location=Miesto certSign.location=Miesto
certSign.name=Meno certSign.name=Meno
certSign.showLogo=Show Logo
certSign.submit=Podpísať PDF certSign.submit=Podpísať PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Porovnať compare.submit=Porovnať
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Knihy a komiksy do PDF BookToPDF.title=Knihy a komiksy do PDF
@@ -804,6 +813,11 @@ sign.draw=Kresliť podpis
sign.text=Textový vstup sign.text=Textový vstup
sign.clear=Vymazať sign.clear=Vymazať
sign.add=Pridať sign.add=Pridať
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(napr. 1,3,2 alebo 4-8,2,10-12 alebo 2n-1)
multiTool.title=PDF Multi Nástroj multiTool.title=PDF Multi Nástroj
multiTool.header=PDF Multi Nástroj multiTool.header=PDF Multi Nástroj
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=File Name
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Zobraziť PDF viewPdf.title=Zobraziť PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=Info
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Languages
navbar.settings=Podešavanja navbar.settings=Podešavanja
navbar.allTools=Tools navbar.allTools=Tools
navbar.multiTool=Multi Tools navbar.multiTool=Multi Tools
navbar.search=Search
navbar.sections.organize=Organize navbar.sections.organize=Organize
navbar.sections.convertTo=Convert to PDF navbar.sections.convertTo=Convert to PDF
navbar.sections.convertFrom=Convert from PDF navbar.sections.convertFrom=Convert from PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Prikaži potpis
certSign.reason=Razlog certSign.reason=Razlog
certSign.location=Lokacija certSign.location=Lokacija
certSign.name=Ime certSign.name=Ime
certSign.showLogo=Show Logo
certSign.submit=Potpiši PDF certSign.submit=Potpiši PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Uporedi compare.submit=Uporedi
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Books and Comics to PDF
@@ -804,6 +813,11 @@ sign.draw=Nacrtaj potpis
sign.text=Tekstualni unos sign.text=Tekstualni unos
sign.clear=Obriši sign.clear=Obriši
sign.add=Dodaj sign.add=Dodaj
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
multiTool.title=PDF Multi Alatka multiTool.title=PDF Multi Alatka
multiTool.header=PDF Multi Alatka multiTool.header=PDF Multi Alatka
multiTool.uploadPrompts=File Name multiTool.uploadPrompts=File Name
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Prikaz viewPdf.title=Prikaz
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -31,7 +31,7 @@ font=Teckensnitt
selectFillter=-- Välj -- selectFillter=-- Välj --
pageNum=Sidnummer pageNum=Sidnummer
sizes.small=Liten sizes.small=Liten
sizes.medium=Medium sizes.medium=Mellanvärd
sizes.large=Stor sizes.large=Stor
sizes.x-large=Extra stor sizes.x-large=Extra stor
error.pdfPassword=PDF-dokumentet är lösenordsskyddat och antingen har lösenordet inte angetts eller är felaktigt error.pdfPassword=PDF-dokumentet är lösenordsskyddat och antingen har lösenordet inte angetts eller är felaktigt
@@ -74,17 +74,20 @@ seeDockerHub=Se Docker Hub
visitGithub=Besök GitHub-repositoriet visitGithub=Besök GitHub-repositoriet
donate=Donera donate=Donera
color=Färg color=Färg
sponsor=Sponsor sponsor=Sponsör
info=Info info=Info
pro=Pro pro=Pro
page=Page page=Sidan
pages=Pages pages=Sidor
loading=Laddar...
addToDoc=Lägg till i dokument
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Dataprotektionspolicy
legal.terms=Terms and Conditions legal.terms=Villkor och betingelser
legal.accessibility=Accessibility legal.accessibility=Gängeshållbarhet
legal.cookie=Cookie Policy legal.cookie=Cockiropfer
legal.impressum=Impressum legal.impressum=Riksdagens utskott för teknikfrihet
############### ###############
# Pipeline # # Pipeline #
@@ -114,21 +117,21 @@ pipelineOptions.validateButton=Validera
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=Uppgradera till Pro
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=Den här funktionen är endast tillgänglig för Pro-användare.
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro stöder YAML-konfigurationsfiler och andra SSO funktioner.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Söker du fler funktioner för användarhantering? Spana in Stirling PDF Pro.
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=Vill du göra Stirling PDF bättre?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF har inaktiverad analys för att hjälpa oss förbättra produkten. Vi spårar ingen personlig information eller filinnehåll.
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=Var god aktivera analyser för att hjälpa Stirling-PDF att växa och tillåta oss att förstå våra användare bättre.
analytics.enable=Enable analytics analytics.enable=Aktivera analys
analytics.disable=Disable analytics analytics.disable=Avaktivera analys
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=Du kan ändra analysinställningarna i config/settings.yml-filen
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=Språk
navbar.settings=Inställningar navbar.settings=Inställningar
navbar.allTools=Verktyg navbar.allTools=Verktyg
navbar.multiTool=Multiverktyg navbar.multiTool=Multiverktyg
navbar.search=Search
navbar.sections.organize=Organisera navbar.sections.organize=Organisera
navbar.sections.convertTo=Konvertera till PDF navbar.sections.convertTo=Konvertera till PDF
navbar.sections.convertFrom=Konvertera från PDF navbar.sections.convertFrom=Konvertera från PDF
navbar.sections.security=Signera & Säkerhet navbar.sections.security=Signera & Säkerhet
navbar.sections.advance=Avancerat navbar.sections.advance=Avancerat
navbar.sections.edit=Visa & Redigera navbar.sections.edit=Visa & Redigera
navbar.sections.popular=Popular navbar.sections.popular=Populära
############# #############
# SETTINGS # # SETTINGS #
@@ -243,7 +247,8 @@ database.fileNotFound=Filen hittades inte
database.fileNullOrEmpty=Filen får inte vara null eller tom database.fileNullOrEmpty=Filen får inte vara null eller tom
database.failedImportFile=Misslyckades med att importera fil database.failedImportFile=Misslyckades med att importera fil
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Din session har löpt ut. Uppdatera sidan och försök igen.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -503,28 +508,28 @@ home.removeImagePdf.desc=Ta bort bild från PDF för att minska filstorlek
removeImagePdf.tags=Ta bort bild,Sidoperationer,Backend,serversida removeImagePdf.tags=Ta bort bild,Sidoperationer,Backend,serversida
home.splitPdfByChapters.title=Split PDF by Chapters home.splitPdfByChapters.title=Dela upp PDF efter kapitel
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure. home.splitPdfByChapters.desc=Dela upp en PDF till flera filer baserat på dess kapitelstruktur.
splitPdfByChapters.tags=split,chapters,bookmarks,organize splitPdfByChapters.tags=dela,kapitel,bokmärken,organisera
#replace-invert-color #replace-invert-color
replace-color.title=Replace-Invert-Color replace-color.title=Replace-Invert-Color
replace-color.header=Replace-Invert Color PDF replace-color.header=Ersätt-Invertera färg på PDF
home.replaceColorPdf.title=Replace and Invert Color home.replaceColorPdf.title=Replace and Invert Color
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size home.replaceColorPdf.desc=Ersätt färg för text och bakgrund i PDF och invertera hela färgen på PDF för att minska filstorlek
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side replaceColorPdf.tags=Ersätt Färg, Sidåtgärder, Bakomliggande, Serversid
replace-color.selectText.1=Replace or Invert color Options replace-color.selectText.1=Ersätt eller Invertera färgalternativ
replace-color.selectText.2=Default(Default high contrast colors) replace-color.selectText.2=Standard (standard höghastighetsfärg)
replace-color.selectText.3=Custom(Customized colors) replace-color.selectText.3=Anpassad (anpassade färger)
replace-color.selectText.4=Full-Invert(Invert all colors) replace-color.selectText.4=Full-Invertera (invertera alla färger)
replace-color.selectText.5=High contrast color options replace-color.selectText.5=Höghastighetsfärgalternativ
replace-color.selectText.6=white text on black background replace-color.selectText.6=Vit text på svart bakgrund
replace-color.selectText.7=Black text on white background replace-color.selectText.7=Svart text på vit bakgrund
replace-color.selectText.8=Yellow text on black background replace-color.selectText.8=Gul text på svart bakgrund
replace-color.selectText.9=Green text on black background replace-color.selectText.9=Grön text på svart bakgrund
replace-color.selectText.10=Choose text Color replace-color.selectText.10=Välj textfärg
replace-color.selectText.11=Choose background Color replace-color.selectText.11=Välj bakgrundsfärg
replace-color.submit=Replace replace-color.submit=Ersätt
@@ -551,9 +556,9 @@ login.oauth2AccessDenied=Åtkomst nekad
login.oauth2InvalidTokenResponse=Ogiltigt token-svar login.oauth2InvalidTokenResponse=Ogiltigt token-svar
login.oauth2InvalidIdToken=Ogiltigt Id-token login.oauth2InvalidIdToken=Ogiltigt Id-token
login.userIsDisabled=Användaren är inaktiverad, inloggning är för närvarande blockerad med detta användarnamn. Kontakta administratören. login.userIsDisabled=Användaren är inaktiverad, inloggning är för närvarande blockerad med detta användarnamn. Kontakta administratören.
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=Du är redan inloggad
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=enheter. Logga ut från enheterna och försök igen.
login.toManySessions=You have too many active sessions login.toManySessions=Du har för många aktiva sessioner
#auto-redact #auto-redact
autoRedact.title=Auto-redigera autoRedact.title=Auto-redigera
@@ -728,7 +733,7 @@ pageLayout.submit=Skicka
scalePages.title=Justera sidskala scalePages.title=Justera sidskala
scalePages.header=Justera sidskala scalePages.header=Justera sidskala
scalePages.pageSize=Storlek på en sida i dokumentet. scalePages.pageSize=Storlek på en sida i dokumentet.
scalePages.keepPageSize=Original Size scalePages.keepPageSize=Originalstorlek
scalePages.scaleFactor=Zoomnivå (beskärning) för en sida. scalePages.scaleFactor=Zoomnivå (beskärning) för en sida.
scalePages.submit=Skicka scalePages.submit=Skicka
@@ -748,6 +753,7 @@ certSign.showSig=Visa signatur
certSign.reason=Anledning certSign.reason=Anledning
certSign.location=Plats certSign.location=Plats
certSign.name=Namn certSign.name=Namn
certSign.showLogo=Visa logo
certSign.submit=Signera PDF certSign.submit=Signera PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Markeringsfärg 2:
compare.document.1=Dokument 1 compare.document.1=Dokument 1
compare.document.2=Dokument 2 compare.document.2=Dokument 2
compare.submit=Jämför compare.submit=Jämför
compare.complex.message=En eller båda de angivna dokumenten är stora filer, jämförelsepräzissen kan minska.
compare.large.file.message=En eller båda de angivna dokumenten är för stora att bearbeta
compare.no.text.message=En eller båda de valda PDF:erna innehåller ingen textinnehåll. Välj PDF:er med text för jämförelse.
#BookToPDF #BookToPDF
BookToPDF.title=Böcker och serier till PDF BookToPDF.title=Böcker och serier till PDF
@@ -804,6 +813,11 @@ sign.draw=Rita signatur
sign.text=Textinmatning sign.text=Textinmatning
sign.clear=Rensa sign.clear=Rensa
sign.add=Lägg till sign.add=Lägg till
sign.saved=Sparade signaturer
sign.save=Spara signatur
sign.personalSigs=Personliga signaturer
sign.sharedSigs=Delade signaturer
sign.noSavedSigs=Inga sparade signaturer hittades
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(t.ex. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
multiTool.title=PDF-multiverktyg multiTool.title=PDF-multiverktyg
multiTool.header=PDF Multi-verktyg multiTool.header=PDF Multi-verktyg
multiTool.uploadPrompts=Filnamn multiTool.uploadPrompts=Filnamn
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Visa PDF viewPdf.title=Visa PDF
@@ -1013,7 +1038,7 @@ watermark.header=Lägg till vattenstämpel
watermark.selectText.1=Välj PDF för att lägga till vattenstämpel till: watermark.selectText.1=Välj PDF för att lägga till vattenstämpel till:
watermark.selectText.2=Vattenmärkestext: watermark.selectText.2=Vattenmärkestext:
watermark.selectText.3=Teckenstorlek: watermark.selectText.3=Teckenstorlek:
watermark.selectText.4=Rotation (0-360): watermark.selectText.4=Vändning (0-360):
watermark.selectText.5=widthSpacer (mellanrum mellan varje vattenstämpel horisontellt): watermark.selectText.5=widthSpacer (mellanrum mellan varje vattenstämpel horisontellt):
watermark.selectText.6=heightSpacer (mellanrum mellan varje vattenstämpel vertikalt): watermark.selectText.6=heightSpacer (mellanrum mellan varje vattenstämpel vertikalt):
watermark.selectText.7=Opacitet (0% - 100%): watermark.selectText.7=Opacitet (0% - 100%):
@@ -1181,8 +1206,8 @@ licenses.license=Licens
survey.nav=Undersökning survey.nav=Undersökning
survey.title=Stirling-PDF-undersökning survey.title=Stirling-PDF-undersökning
survey.description=Stirling-PDF har ingen spårning så vi vill höra från våra användare för att förbättra Stirling-PDF! survey.description=Stirling-PDF har ingen spårning så vi vill höra från våra användare för att förbättra Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF har ändrats sedan den senaste undersökningen. Lär dig mer på vår blogg här:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=Med dessa ändringar fås betalat företagsstöd och finansiering
survey.please=Vänligen överväg att delta i vår undersökning! survey.please=Vänligen överväg att delta i vår undersökning!
survey.disabled=(Undersökningspopup kommer att inaktiveras i kommande uppdateringar men finns tillgänglig längst ner på sidan) survey.disabled=(Undersökningspopup kommer att inaktiveras i kommande uppdateringar men finns tillgänglig längst ner på sidan)
survey.button=Delta i undersökningen survey.button=Delta i undersökningen
@@ -1210,15 +1235,13 @@ removeImage.removeImage=Ta bort bild
removeImage.submit=Ta bort bild removeImage.submit=Ta bort bild
splitByChapters.title=Split PDF by Chapters splitByChapters.title=Dela upp PDF efter kapitel
splitByChapters.header=Split PDF by Chapters splitByChapters.header=Dela upp PDF efter kapitel
splitByChapters.bookmarkLevel=Bookmark Level splitByChapters.bookmarkLevel=Bokmärkesnivå
splitByChapters.includeMetadata=Include Metadata splitByChapters.includeMetadata=Inkludera Metadata
splitByChapters.allowDuplicates=Allow Duplicates splitByChapters.allowDuplicates=Tillåt Dubletter
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure. splitByChapters.desc.1=Detta verktyg delar upp en PDF till flera PDFer baserat på dess kapitelstruktur.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.). splitByChapters.desc.2=Bokmärkesnivå: Välj nivån av bokmärken att använda för delning (0 för toppnivå, 1 för andra nivå, m.m.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Tillåt duplicieringar: Om kryssrutan är markerad tillåts flera bokmärken på samma sida skapa individuella PDF:er.
splitByChapters.submit=Split PDF splitByChapters.submit=Dela upp PDF

View File

@@ -3,8 +3,8 @@
########### ###########
# the direction that the language is written (ltr = left to right, rtl = right to left) # the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr language.direction=ltr
addPageNumbers.fontSize=Font Size addPageNumbers.fontSize=ขนาดตัวอักษร
addPageNumbers.fontName=Font Name addPageNumbers.fontName=ชื่อฟอนต์
pdfPrompt=เลือก PDF pdfPrompt=เลือก PDF
multiPdfPrompt=เลือก PDF หลายไฟล์ (2 ขึ้นไป) multiPdfPrompt=เลือก PDF หลายไฟล์ (2 ขึ้นไป)
multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ
@@ -56,12 +56,12 @@ userNotFoundMessage=ไม่พบผู้ใช้
incorrectPasswordMessage=รหัสผ่านปัจจุบันไม่ถูกต้อง incorrectPasswordMessage=รหัสผ่านปัจจุบันไม่ถูกต้อง
usernameExistsMessage=ชื่อผู้ใช้ใหม่มีอยู่แล้ว usernameExistsMessage=ชื่อผู้ใช้ใหม่มีอยู่แล้ว
invalidUsernameMessage=ชื่อผู้ใช้ไม่ถูกต้อง ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง invalidUsernameMessage=ชื่อผู้ใช้ไม่ถูกต้อง ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end. invalidPasswordMessage=รหัสผ่านไม่ควรว่าง และไม่ควรมีพื้นที่ว่างที่ขอบของข้อความ
confirmPasswordErrorMessage=รหัสผ่านใหม่และยืนยันรหัสผ่านใหม่ต้องตรงกัน confirmPasswordErrorMessage=รหัสผ่านใหม่และยืนยันรหัสผ่านใหม่ต้องตรงกัน
deleteCurrentUserMessage=ไม่สามารถลบผู้ใช้ที่เข้าสู่ระบบในปัจจุบันได้ deleteCurrentUserMessage=ไม่สามารถลบผู้ใช้ที่เข้าสู่ระบบในปัจจุบันได้
deleteUsernameExistsMessage=ชื่อผู้ใช้ไม่ปรากฏและไม่สามารถลบได้ deleteUsernameExistsMessage=ชื่อผู้ใช้ไม่ปรากฏและไม่สามารถลบได้
downgradeCurrentUserMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้ downgradeCurrentUserMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้
disabledCurrentUserMessage=The current user cannot be disabled disabledCurrentUserMessage=ผู้ใช้งานปัจจุบันไม่สามารถปิดการใช้งานได้
downgradeCurrentUserLongMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้ ดังนั้นผู้ใช้ปัจจุบันจะไม่ปรากฏ downgradeCurrentUserLongMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้ ดังนั้นผู้ใช้ปัจจุบันจะไม่ปรากฏ
userAlreadyExistsOAuthMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้ OAuth2 userAlreadyExistsOAuthMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้ OAuth2
userAlreadyExistsWebMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้เว็บ userAlreadyExistsWebMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้เว็บ
@@ -76,15 +76,18 @@ donate=บริจาค
color=สี color=สี
sponsor=ผู้สนับสนุน sponsor=ผู้สนับสนุน
info=ข้อมูล info=ข้อมูล
pro=Pro pro=โปร
page=Page page=หน้า
pages=Pages pages=หน้า
loading=กำลังโหลด...
addToDoc=เพิ่มเข้าสู่เอกสาร
reset=Reset
legal.privacy=Privacy Policy legal.privacy=นโยบายความเป็นส่วนตัว
legal.terms=Terms and Conditions legal.terms=ข้อกำหนดการใช้งาน
legal.accessibility=Accessibility legal.accessibility=ความเข้าถึง
legal.cookie=Cookie Policy legal.cookie=นโยบายคุกกี้
legal.impressum=Impressum legal.impressum=ปฏิญญา
############### ###############
# Pipeline # # Pipeline #
@@ -114,8 +117,8 @@ pipelineOptions.validateButton=ตรวจสอบความถูกต้
######################## ########################
# ENTERPRISE EDITION # # ENTERPRISE EDITION #
######################## ########################
enterpriseEdition.button=Upgrade to Pro enterpriseEdition.button=อัปเกรดเป็นโปร
enterpriseEdition.warning=This feature is only available to Pro users. enterpriseEdition.warning=ฟีเจอร์นี้มีให้ใช้งานเฉพาะผู้ใช้ที่เป็นโปรเท่านั้น
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features. enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
@@ -123,12 +126,12 @@ enterpriseEdition.ssoAdvert=Looking for more user management features? Check out
################# #################
# Analytics # # Analytics #
################# #################
analytics.title=Do you want make Stirling PDF better? analytics.title=คุณต้องการที่จะทำให้ Stirling PDF ดียิ่งขึ้นไหม?
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents. analytics.paragraph1=Stirling PDF มีการวิเคราะห์แบบสมัครใจเพื่อช่วยเราปรับปรุงผลิตภัณฑ์ เราไม่นำทางความเป็นส่วนตัวหรือเนื้อหาของไฟล์ไปเก็บข้อมูลใด ๆ
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better. analytics.paragraph2=โปรดพิจารณาการเปิดใช้งานการวิเคราะห์เพื่อช่วยให้ Stirling-PDF เจริญเติบโตและทำให้เราเข้าใจผู้ใช้งานมากขึ้น
analytics.enable=Enable analytics analytics.enable=เปิดการวิเคราะห์
analytics.disable=Disable analytics analytics.disable=ปิดการวิเคราะห์
analytics.settings=You can change the settings for analytics in the config/settings.yml file analytics.settings=คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml
############# #############
# NAVBAR # # NAVBAR #
@@ -139,13 +142,14 @@ navbar.language=ภาษา
navbar.settings=การตั้งค่า navbar.settings=การตั้งค่า
navbar.allTools=เครื่องมือทั้งหมด navbar.allTools=เครื่องมือทั้งหมด
navbar.multiTool=เครื่องมือหลายตัว navbar.multiTool=เครื่องมือหลายตัว
navbar.search=Search
navbar.sections.organize=จัดระเบียบ navbar.sections.organize=จัดระเบียบ
navbar.sections.convertTo=แปลงเป็น PDF navbar.sections.convertTo=แปลงเป็น PDF
navbar.sections.convertFrom=แปลงจาก PDF navbar.sections.convertFrom=แปลงจาก PDF
navbar.sections.security=ลงนามและความปลอดภัย navbar.sections.security=ลงนามและความปลอดภัย
navbar.sections.advance=ขั้นสูง navbar.sections.advance=ขั้นสูง
navbar.sections.edit=ดูและแก้ไข navbar.sections.edit=ดูและแก้ไข
navbar.sections.popular=Popular navbar.sections.popular=ยอดนิยม
############# #############
# SETTINGS # # SETTINGS #
@@ -204,7 +208,7 @@ adminUserSettings.user=ผู้ใช้
adminUserSettings.addUser=เพิ่มผู้ใช้ใหม่ adminUserSettings.addUser=เพิ่มผู้ใช้ใหม่
adminUserSettings.deleteUser=ลบผู้ใช้ adminUserSettings.deleteUser=ลบผู้ใช้
adminUserSettings.confirmDeleteUser=ควรลบผู้ใช้นี้หรือไม่? adminUserSettings.confirmDeleteUser=ควรลบผู้ใช้นี้หรือไม่?
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled? adminUserSettings.confirmChangeUserStatus=ผู้ใช้นี้ควรถูกปิด/เปิดใช้งานหรือไม่?
adminUserSettings.usernameInfo=ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง adminUserSettings.usernameInfo=ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
adminUserSettings.roles=บทบาท adminUserSettings.roles=บทบาท
adminUserSettings.role=บทบาท adminUserSettings.role=บทบาท
@@ -218,13 +222,13 @@ adminUserSettings.forceChange=บังคับให้ผู้ใช้เ
adminUserSettings.submit=บันทึกผู้ใช้ adminUserSettings.submit=บันทึกผู้ใช้
adminUserSettings.changeUserRole=เปลี่ยนบทบาทของผู้ใช้ adminUserSettings.changeUserRole=เปลี่ยนบทบาทของผู้ใช้
adminUserSettings.authenticated=ได้รับการยืนยันแล้ว adminUserSettings.authenticated=ได้รับการยืนยันแล้ว
adminUserSettings.editOwnProfil=Edit own profile adminUserSettings.editOwnProfil=แก้ไขโปรไฟล์ของตัวเอง
adminUserSettings.enabledUser=enabled user adminUserSettings.enabledUser=ผู้ใช้ที่เปิดใช้งาน
adminUserSettings.disabledUser=disabled user adminUserSettings.disabledUser=ผู้ใช้ที่ปิดใช้งาน
adminUserSettings.activeUsers=Active Users: adminUserSettings.activeUsers=ผู้ใช้ที่มีการใช้งาน:
adminUserSettings.disabledUsers=Disabled Users: adminUserSettings.disabledUsers=ผู้ใช้ที่ถูกระงับการใช้งาน:
adminUserSettings.totalUsers=Total Users: adminUserSettings.totalUsers=ผู้ใช้รวมทั้งหมด:
adminUserSettings.lastRequest=Last Request adminUserSettings.lastRequest=การขอข้อมูลล่าสุด
database.title=การนำเข้า/ส่งออกฐานข้อมูล database.title=การนำเข้า/ส่งออกฐานข้อมูล
@@ -243,7 +247,8 @@ database.fileNotFound=ไม่พบไฟล์
database.fileNullOrEmpty=ไฟล์ต้องไม่ว่างเปล่าหรือไม่มีข้อมูล database.fileNullOrEmpty=ไฟล์ต้องไม่ว่างเปล่าหรือไม่มีข้อมูล
database.failedImportFile=การนำเข้าไฟล์ล้มเหลว database.failedImportFile=การนำเข้าไฟล์ล้มเหลว
session.expired=Your session has expired. Please refresh the page and try again. session.expired=สถานะของคุณในระบบหมดอายุ กรุณารีเฟรชหน้าและลองใหม่อีกครั้ง
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -402,7 +407,7 @@ home.scalePages.title=ปรับขนาด/สเกลหน้า
home.scalePages.desc=เปลี่ยนขนาด/สเกลของหน้าและ/หรือเนื้อหาของมัน home.scalePages.desc=เปลี่ยนขนาด/สเกลของหน้าและ/หรือเนื้อหาของมัน
scalePages.tags=ปรับขนาด, แก้ไข, มิติ, ปรับ scalePages.tags=ปรับขนาด, แก้ไข, มิติ, ปรับ
home.pipeline.title=Pipeline home.pipeline.title=ทิศทางงาน
home.pipeline.desc=เรียกใช้งานหลายการกระทำใน PDF โดยกำหนดสคริปต์ pipeline home.pipeline.desc=เรียกใช้งานหลายการกระทำใน PDF โดยกำหนดสคริปต์ pipeline
pipeline.tags=อัตโนมัติ, ลำดับ, สคริปต์, ประมวลผลแบทช์ pipeline.tags=อัตโนมัติ, ลำดับ, สคริปต์, ประมวลผลแบทช์
@@ -498,8 +503,8 @@ home.BookToPDF.title=หนังสือเป็น PDF
home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre
BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle
home.removeImagePdf.title=Remove image home.removeImagePdf.title=ลบภาพออกจาก PDF
home.removeImagePdf.desc=Remove image from PDF to reduce file size home.removeImagePdf.desc=ลบภาพออกจาก PDF เพื่อลดขนาดไฟล์
removeImagePdf.tags=Remove Image,Page operations,Back end,server side removeImagePdf.tags=Remove Image,Page operations,Back end,server side
@@ -550,10 +555,10 @@ login.oauth2invalidRequest=คำขอไม่ถูกต้อง
login.oauth2AccessDenied=การเข้าถึงถูกปฏิเสธ login.oauth2AccessDenied=การเข้าถึงถูกปฏิเสธ
login.oauth2InvalidTokenResponse=การตอบกลับโทเค็นไม่ถูกต้อง login.oauth2InvalidTokenResponse=การตอบกลับโทเค็นไม่ถูกต้อง
login.oauth2InvalidIdToken=โทเค็น Id ไม่ถูกต้อง login.oauth2InvalidIdToken=โทเค็น Id ไม่ถูกต้อง
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator. login.userIsDisabled=ผู้ใช้งานถูกระงับการใช้งาน ไม่สามารถเข้าสู่ระบบด้วยชื่อผู้ใช้นี้ได้ กรุณาติดต่อผู้ดูแลระบบ
login.alreadyLoggedIn=You are already logged in to login.alreadyLoggedIn=คุณได้เข้าสู่ระบบใน
login.alreadyLoggedIn2=devices. Please log out of the devices and try again. login.alreadyLoggedIn2=อุปกรณ์แล้ว กรุณาออกจากระบบจากอุปกรณ์ที่ใช้งานอยู่แล้ว จากนั้นลองใหม่อีกครั้ง
login.toManySessions=You have too many active sessions login.toManySessions=คุณมีการเข้าสู่ระบบพร้อมกันเกินกว่ากำหนด
#auto-redact #auto-redact
autoRedact.title=ซ่อนข้อมูลอัตโนมัติ autoRedact.title=ซ่อนข้อมูลอัตโนมัติ
@@ -713,7 +718,7 @@ autoSplitPDF.submit=ส่ง
#pipeline #pipeline
pipeline.title=Pipeline pipeline.title=พิ้พลne
#pageLayout #pageLayout
@@ -728,7 +733,7 @@ pageLayout.submit=ส่ง
scalePages.title=ปรับสเกลหน้า scalePages.title=ปรับสเกลหน้า
scalePages.header=ปรับสเกลหน้า scalePages.header=ปรับสเกลหน้า
scalePages.pageSize=ขนาดหน้าของเอกสาร scalePages.pageSize=ขนาดหน้าของเอกสาร
scalePages.keepPageSize=Original Size scalePages.keepPageSize=ขนาดต้นฉบับ
scalePages.scaleFactor=ระดับการซูม (ครอบตัด) ของหน้า scalePages.scaleFactor=ระดับการซูม (ครอบตัด) ของหน้า
scalePages.submit=ส่ง scalePages.submit=ส่ง
@@ -748,6 +753,7 @@ certSign.showSig=แสดงลายเซ็น
certSign.reason=เหตุผล certSign.reason=เหตุผล
certSign.location=ตำแหน่ง certSign.location=ตำแหน่ง
certSign.name=ชื่อ certSign.name=ชื่อ
certSign.showLogo=แสดงโลโก้
certSign.submit=เซ็นชื่อ PDF certSign.submit=เซ็นชื่อ PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=สีเน้น 2:
compare.document.1=เอกสาร 1 compare.document.1=เอกสาร 1
compare.document.2=เอกสาร 2 compare.document.2=เอกสาร 2
compare.submit=เปรียบเทียบ compare.submit=เปรียบเทียบ
compare.complex.message=หนึ่งหรือทั้งสองเอกสารที่ให้มายอมเป็นไฟล์ใหญ่ ความถูกต้องของการเปรียบเทียบอาจลดลง
compare.large.file.message=หนึ่งหรือทั้งสองเอกสารที่ให้มามีขนาดใหญ่มาก ไม่สามารถประมวลผลได้
compare.no.text.message=หนึ่งหรือทั้งสองเอกสาร PDF ที่เลือกไม่มีเนื้อหาข้อความ กรุณาเลือกเอกสาร PDF ที่มีข้อความสำหรับการเปรียบเทียบ
#BookToPDF #BookToPDF
BookToPDF.title=หนังสือและการ์ตูนเป็น PDF BookToPDF.title=หนังสือและการ์ตูนเป็น PDF
@@ -804,6 +813,11 @@ sign.draw=วาดลายเซ็น
sign.text=ป้อนข้อความ sign.text=ป้อนข้อความ
sign.clear=ล้าง sign.clear=ล้าง
sign.add=เพิ่ม sign.add=เพิ่ม
sign.saved=ลายเซ็นที่บันทึกไว้
sign.save=บันทึกลายเซ็น
sign.personalSigs=ลายเซ็นส่วนตัว
sign.sharedSigs=ลายเซ็นร่วม
sign.noSavedSigs=ไม่พบลายเซ็นที่บันทึกไว้
#repair #repair
@@ -830,7 +844,7 @@ ScannerImageSplit.selectText.7=พื้นที่เค้าโครงข
ScannerImageSplit.selectText.8=ตั้งค่าเกณฑ์พื้นที่เค้าโครงขั้นต่ำสำหรับรูปภาพ ScannerImageSplit.selectText.8=ตั้งค่าเกณฑ์พื้นที่เค้าโครงขั้นต่ำสำหรับรูปภาพ
ScannerImageSplit.selectText.9=ขนาดขอบ: ScannerImageSplit.selectText.9=ขนาดขอบ:
ScannerImageSplit.selectText.10=ตั้งค่าขนาดขอบที่เพิ่มและลบเพื่อป้องกันขอบขาวในผลลัพธ์ (ค่าเริ่มต้น: 1) ScannerImageSplit.selectText.10=ตั้งค่าขนาดขอบที่เพิ่มและลบเพื่อป้องกันขอบขาวในผลลัพธ์ (ค่าเริ่มต้น: 1)
ScannerImageSplit.info=Python is not installed. It is required to run. ScannerImageSplit.info=Python ไม่มีการติดตั้ง กรุณาติดตั้งเพื่อใช้งาน
#OCR #OCR
@@ -857,7 +871,7 @@ ocr.submit=ประมวลผล PDF ด้วย OCR
extractImages.title=แยกรูปภาพ extractImages.title=แยกรูปภาพ
extractImages.header=แยกรูปภาพ extractImages.header=แยกรูปภาพ
extractImages.selectText=เลือกรูปแบบภาพที่จะใช้ในการแปลงรูปภาพที่แยกได้ extractImages.selectText=เลือกรูปแบบภาพที่จะใช้ในการแปลงรูปภาพที่แยกได้
extractImages.allowDuplicates=Save duplicate images extractImages.allowDuplicates=บันทึกลายซ้ำ
extractImages.submit=แยก extractImages.submit=แยก
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(เช่น 1,3,2 หรือ 4-8,2,10-12 หรื
multiTool.title=เครื่องมือ PDF หลายตัว multiTool.title=เครื่องมือ PDF หลายตัว
multiTool.header=เครื่องมือ PDF หลายตัว multiTool.header=เครื่องมือ PDF หลายตัว
multiTool.uploadPrompts=ชื่อไฟล์ multiTool.uploadPrompts=ชื่อไฟล์
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=ดู PDF viewPdf.title=ดู PDF
@@ -982,7 +1007,7 @@ pdfToImage.color=สี
pdfToImage.grey=ระดับสีเทา pdfToImage.grey=ระดับสีเทา
pdfToImage.blackwhite=ขาวดำ (อาจสูญเสียข้อมูล!) pdfToImage.blackwhite=ขาวดำ (อาจสูญเสียข้อมูล!)
pdfToImage.submit=แปลง pdfToImage.submit=แปลง
pdfToImage.info=Python is not installed. Required for WebP conversion. pdfToImage.info=Python ไม่มีการติดตั้ง จำเป็นสำหรับการแปลง WebP
#addPassword #addPassword
@@ -1181,8 +1206,8 @@ licenses.license=ใบอนุญาต
survey.nav=สำรวจ survey.nav=สำรวจ
survey.title=สำรวจ Stirling-PDF survey.title=สำรวจ Stirling-PDF
survey.description=Stirling-PDF ไม่มีการติดตาม ดังนั้นเราต้องการฟังความคิดเห็นจากผู้ใช้เพื่อปรับปรุง Stirling-PDF! survey.description=Stirling-PDF ไม่มีการติดตาม ดังนั้นเราต้องการฟังความคิดเห็นจากผู้ใช้เพื่อปรับปรุง Stirling-PDF!
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here: survey.changes=Stirling-PDF ได้มีการเปลี่ยนแปลงตั้งแต่การสำรวจครั้งล่าสุด! กรุณาตรวจสอบบล็อกของเราที่นี้เพื่อรับข้อมูลเพิ่มเติม:
survey.changes2=With these changes we are getting paid business support and funding survey.changes2=ด้วยการเปลี่ยนแปลงเหล่านี้เราได้รับการสนับสนุนทางธุรกิจและการเงินจากผู้ประกอบการ
survey.please=กรุณาพิจารณาการสำรวจของเรา! survey.please=กรุณาพิจารณาการสำรวจของเรา!
survey.disabled=(ป๊อปอัปการสำรวจจะถูกปิดใช้งานในการอัปเดตต่อไปนี้ แต่สามารถใช้ได้ที่ส่วนท้ายของหน้า) survey.disabled=(ป๊อปอัปการสำรวจจะถูกปิดใช้งานในการอัปเดตต่อไปนี้ แต่สามารถใช้ได้ที่ส่วนท้ายของหน้า)
survey.button=เริ่มสำรวจ survey.button=เริ่มสำรวจ
@@ -1204,21 +1229,19 @@ error.discordSubmit=Discord - ส่งโพสต์การสนับส
#remove-image #remove-image
removeImage.title=Remove image removeImage.title=ลบภาพ
removeImage.header=Remove image removeImage.header=ลบภาพ
removeImage.removeImage=Remove image removeImage.removeImage=ลบภาพ
removeImage.submit=Remove image removeImage.submit=ยืนยันการลบภาพ
splitByChapters.title=Split PDF by Chapters
splitByChapters.header=Split PDF by Chapters
splitByChapters.bookmarkLevel=Bookmark Level
splitByChapters.includeMetadata=Include Metadata
splitByChapters.allowDuplicates=Allow Duplicates
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF
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 ที่เดิมจะถูกรวมอยู่ในแต่ละไฟล์ที่แบ่งออก
splitByChapters.desc.4=อนุญาตให้มีการซ้ำ: หากถูกเลือก จะทำให้สามารถสร้างไฟล์ PDF แยกออกมาจากหน้าเดียวกันได้หลายรายการ
splitByChapters.submit=แบ่งไฟล์ PDF

View File

@@ -79,6 +79,9 @@ info=Bilgi
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Gizlilik Politikası legal.privacy=Gizlilik Politikası
legal.terms=Şartlar ve koşullar legal.terms=Şartlar ve koşullar
@@ -139,6 +142,7 @@ navbar.language=Diller
navbar.settings=Ayarlar navbar.settings=Ayarlar
navbar.allTools=Araçlar navbar.allTools=Araçlar
navbar.multiTool=Çoklu Araçlar navbar.multiTool=Çoklu Araçlar
navbar.search=Search
navbar.sections.organize=Düzenle navbar.sections.organize=Düzenle
navbar.sections.convertTo=PDF'ye dönüştür navbar.sections.convertTo=PDF'ye dönüştür
navbar.sections.convertFrom=PDF'den dönüştür navbar.sections.convertFrom=PDF'den dönüştür
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Dosya yok veya boş olmamalıdır
database.failedImportFile=Dosya İçe Aktarılamadı database.failedImportFile=Dosya İçe Aktarılamadı
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=İmzayı Göster
certSign.reason=Neden certSign.reason=Neden
certSign.location=Konum certSign.location=Konum
certSign.name=İsim certSign.name=İsim
certSign.showLogo=Show Logo
certSign.submit=PDF'i İmzala certSign.submit=PDF'i İmzala
@@ -782,6 +788,9 @@ compare.highlightColor.2=Vurgu Rengi 2:
compare.document.1=Belge 1 compare.document.1=Belge 1
compare.document.2=Belge 2 compare.document.2=Belge 2
compare.submit=Karşılaştır compare.submit=Karşılaştır
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Kitapları ve Çizgi Romanları PDF'e Dönüştürme BookToPDF.title=Kitapları ve Çizgi Romanları PDF'e Dönüştürme
@@ -804,6 +813,11 @@ sign.draw=İmza Çiz
sign.text=Metin Girişi sign.text=Metin Girişi
sign.clear=Temizle sign.clear=Temizle
sign.add=Ekle sign.add=Ekle
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1)
multiTool.title=PDF Çoklu Araç multiTool.title=PDF Çoklu Araç
multiTool.header=PDF Çoklu Araç multiTool.header=PDF Çoklu Araç
multiTool.uploadPrompts=Dosya Adı multiTool.uploadPrompts=Dosya Adı
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=PDF Görüntüle viewPdf.title=PDF Görüntüle
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=Інформація
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Мови
navbar.settings=Налаштування navbar.settings=Налаштування
navbar.allTools=Інструменти navbar.allTools=Інструменти
navbar.multiTool=Мультіінструмент navbar.multiTool=Мультіінструмент
navbar.search=Search
navbar.sections.organize=Організувати navbar.sections.organize=Організувати
navbar.sections.convertTo=Конвертувати в PDF navbar.sections.convertTo=Конвертувати в PDF
navbar.sections.convertFrom=Конвертувати з PDF navbar.sections.convertFrom=Конвертувати з PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Показати підпис
certSign.reason=Причина certSign.reason=Причина
certSign.location=Місцезнаходження certSign.location=Місцезнаходження
certSign.name=Ім'я certSign.name=Ім'я
certSign.showLogo=Show Logo
certSign.submit=Підписати PDF certSign.submit=Підписати PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Highlight Color 2:
compare.document.1=Документ 1 compare.document.1=Документ 1
compare.document.2=Документ 2 compare.document.2=Документ 2
compare.submit=Порівняти compare.submit=Порівняти
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Книги та комікси в PDF BookToPDF.title=Книги та комікси в PDF
@@ -804,6 +813,11 @@ sign.draw=Намалювати підпис
sign.text=Ввід тексту sign.text=Ввід тексту
sign.clear=Очистити sign.clear=Очистити
sign.add=Додати sign.add=Додати
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(наприклад, 1,3,2 або 4-8,2,10-12 або 2n
multiTool.title=Мультіінструмент PDF multiTool.title=Мультіінструмент PDF
multiTool.header=Мультіінструмент PDF multiTool.header=Мультіінструмент PDF
multiTool.uploadPrompts=Ім'я файлу multiTool.uploadPrompts=Ім'я файлу
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Переглянути PDF viewPdf.title=Переглянути PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=Thông tin
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=Ngôn ngữ
navbar.settings=Cài đặt navbar.settings=Cài đặt
navbar.allTools=Công cụ navbar.allTools=Công cụ
navbar.multiTool=Đa công cụ navbar.multiTool=Đa công cụ
navbar.search=Search
navbar.sections.organize=Sắp xếp navbar.sections.organize=Sắp xếp
navbar.sections.convertTo=Chuyển đổi sang PDF navbar.sections.convertTo=Chuyển đổi sang PDF
navbar.sections.convertFrom=Chuyển đổi từ PDF navbar.sections.convertFrom=Chuyển đổi từ PDF
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=Tệp không được để trống hoặc rỗng
database.failedImportFile=Không thể nhập tệp database.failedImportFile=Không thể nhập tệp
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=Hiển thị chữ ký
certSign.reason=Lý do certSign.reason=Lý do
certSign.location=Vị trí certSign.location=Vị trí
certSign.name=Tên certSign.name=Tên
certSign.showLogo=Show Logo
certSign.submit=Ký PDF certSign.submit=Ký PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=Màu đánh dấu 2:
compare.document.1=Tài liệu 1 compare.document.1=Tài liệu 1
compare.document.2=Tài liệu 2 compare.document.2=Tài liệu 2
compare.submit=So sánh compare.submit=So sánh
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=Sách và truyện tranh sang PDF BookToPDF.title=Sách và truyện tranh sang PDF
@@ -804,6 +813,11 @@ sign.draw=Vẽ chữ ký
sign.text=Nhập văn bản sign.text=Nhập văn bản
sign.clear=Xóa sign.clear=Xóa
sign.add=Thêm sign.add=Thêm
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(ví dụ: 1,3,2 hoặc 4-8,2,10-12 hoặc 2n-1)
multiTool.title=Công cụ đa năng PDF multiTool.title=Công cụ đa năng PDF
multiTool.header=Công cụ đa năng PDF multiTool.header=Công cụ đa năng PDF
multiTool.uploadPrompts=Tên tệp multiTool.uploadPrompts=Tên tệp
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=Xem PDF viewPdf.title=Xem PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=信息
pro=Pro pro=Pro
page=Page page=Page
pages=Pages pages=Pages
loading=Loading...
addToDoc=Add to Document
reset=Reset
legal.privacy=Privacy Policy legal.privacy=Privacy Policy
legal.terms=Terms and Conditions legal.terms=Terms and Conditions
@@ -139,6 +142,7 @@ navbar.language=语言
navbar.settings=设置 navbar.settings=设置
navbar.allTools=工具箱 navbar.allTools=工具箱
navbar.multiTool=多功能工具 navbar.multiTool=多功能工具
navbar.search=Search
navbar.sections.organize=组织 navbar.sections.organize=组织
navbar.sections.convertTo=转换成PDF navbar.sections.convertTo=转换成PDF
navbar.sections.convertFrom=从PDF转换 navbar.sections.convertFrom=从PDF转换
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=文件不能为空
database.failedImportFile=导入文件失败 database.failedImportFile=导入文件失败
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=显示签名
certSign.reason=原因 certSign.reason=原因
certSign.location=位置 certSign.location=位置
certSign.name=名称 certSign.name=名称
certSign.showLogo=Show Logo
certSign.submit=给PDF签名 certSign.submit=给PDF签名
@@ -782,6 +788,9 @@ compare.highlightColor.2=高亮颜色 2:
compare.document.1=文档 1 compare.document.1=文档 1
compare.document.2=文档 2 compare.document.2=文档 2
compare.submit=比较 compare.submit=比较
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
compare.large.file.message=One or Both of the provided documents are too large to process
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
#BookToPDF #BookToPDF
BookToPDF.title=电子书和漫画转换成PDF BookToPDF.title=电子书和漫画转换成PDF
@@ -804,6 +813,11 @@ sign.draw=绘制签名
sign.text=文本输入 sign.text=文本输入
sign.clear=清除 sign.clear=清除
sign.add=添加 sign.add=添加
sign.saved=Saved Signatures
sign.save=Save Signature
sign.personalSigs=Personal Signatures
sign.sharedSigs=Shared Signatures
sign.noSavedSigs=No saved signatures found
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=例如1,3,2 或 4-8,2,10-12 或 2n-1
multiTool.title=PDF多功能工具 multiTool.title=PDF多功能工具
multiTool.header=PDF多功能工具 multiTool.header=PDF多功能工具
multiTool.uploadPrompts=文件名 multiTool.uploadPrompts=文件名
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=浏览PDF viewPdf.title=浏览PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF. splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs. splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
splitByChapters.submit=Split PDF splitByChapters.submit=Split PDF

View File

@@ -79,6 +79,9 @@ info=資訊
pro=專業版 pro=專業版
page=頁面 page=頁面
pages=頁面 pages=頁面
loading=載入中...
addToDoc=新增至文件
reset=Reset
legal.privacy=隱私權政策 legal.privacy=隱私權政策
legal.terms=使用條款 legal.terms=使用條款
@@ -138,7 +141,8 @@ navbar.darkmode=深色模式
navbar.language=語言 navbar.language=語言
navbar.settings=設定 navbar.settings=設定
navbar.allTools=工具 navbar.allTools=工具
navbar.multiTool=多功能工具 navbar.multiTool=複合工具
navbar.search=Search
navbar.sections.organize=整理 navbar.sections.organize=整理
navbar.sections.convertTo=轉換為 PDF navbar.sections.convertTo=轉換為 PDF
navbar.sections.convertFrom=從 PDF 轉換 navbar.sections.convertFrom=從 PDF 轉換
@@ -244,6 +248,7 @@ database.fileNullOrEmpty=檔案不得為空或空白
database.failedImportFile=匯入檔案失敗 database.failedImportFile=匯入檔案失敗
session.expired=您的工作階段已過期。請重新整理頁面並再試一次。 session.expired=您的工作階段已過期。請重新整理頁面並再試一次。
session.refreshPage=重新整理頁面
############# #############
# HOME-PAGE # # HOME-PAGE #
@@ -748,6 +753,7 @@ certSign.showSig=顯示簽章
certSign.reason=原因 certSign.reason=原因
certSign.location=位置 certSign.location=位置
certSign.name=名稱 certSign.name=名稱
certSign.showLogo=顯示 Logo
certSign.submit=簽章 PDF certSign.submit=簽章 PDF
@@ -782,6 +788,9 @@ compare.highlightColor.2=標示顏色 2
compare.document.1=文件 1 compare.document.1=文件 1
compare.document.2=文件 2 compare.document.2=文件 2
compare.submit=比較 compare.submit=比較
compare.complex.message=選擇的檔案大小太大(其中一個或兩者皆是),可能會影響比較的精確度
compare.large.file.message=選擇的檔案大小超出系統限制(其中一個或兩者皆是),無法處理
compare.no.text.message=選擇的 PDF 檔案未包含文字(其中一個或兩者皆是)。請選擇含有文字的 PDF 進行比較
#BookToPDF #BookToPDF
BookToPDF.title=電子書和漫畫轉 PDF BookToPDF.title=電子書和漫畫轉 PDF
@@ -798,12 +807,17 @@ PDFToBook.submit=轉換
#sign #sign
sign.title=簽章 sign.title=簽章
sign.header= PDF sign.header= PDF
sign.upload=上傳影像 sign.upload=上傳影像
sign.draw=繪製簽章 sign.draw=繪製簽章
sign.text=文字輸入 sign.text=文字輸入
sign.clear=清除 sign.clear=清除
sign.add=新增 sign.add=新增
sign.saved=已儲存的簽章
sign.save=儲存簽章
sign.personalSigs=個人簽章
sign.sharedSigs=共用簽章
sign.noSavedSigs=尚未儲存任何簽章
#repair #repair
@@ -921,6 +935,17 @@ pdfOrganiser.placeholder=(例如 1,3,2 或 4-8,2,10-12 或 2n-1
multiTool.title=PDF 複合工具 multiTool.title=PDF 複合工具
multiTool.header=PDF 複合工具 multiTool.header=PDF 複合工具
multiTool.uploadPrompts=檔名 multiTool.uploadPrompts=檔名
multiTool.selectAll=Select All
multiTool.deselectAll=Deselect All
multiTool.selectPages=Page Select
multiTool.selectedPages=Selected Pages
multiTool.page=Page
multiTool.deleteSelected=Delete Selected
multiTool.downloadAll=Export
multiTool.downloadSelected=Export Selected
#multiTool-advert
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
#view pdf #view pdf
viewPdf.title=檢視 PDF viewPdf.title=檢視 PDF
@@ -1220,5 +1245,3 @@ splitByChapters.desc.2=書籤層級選擇用於分割的書籤層級0 表
splitByChapters.desc.3=包含中繼資料:如果勾選,原始 PDF 的中繼資料將包含在每個分割後的 PDF 中。 splitByChapters.desc.3=包含中繼資料:如果勾選,原始 PDF 的中繼資料將包含在每個分割後的 PDF 中。
splitByChapters.desc.4=允許重複:如果勾選,允許同一頁面上的多個書籤建立獨立的 PDF。 splitByChapters.desc.4=允許重複:如果勾選,允許同一頁面上的多個書籤建立獨立的 PDF。
splitByChapters.submit=分割 PDF splitByChapters.submit=分割 PDF

View File

@@ -13,42 +13,42 @@
security: security:
enableLogin: false # set to 'true' to enable login enableLogin: false # set to 'true' to enable login
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production) csrfDisabled: true # set to 'true' to disable CSRF protection (not recommended for production)
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1 loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2) loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
initialLogin: initialLogin:
username: '' # Initial username for the first login username: '' # initial username for the first login
password: '' # Initial password for the first login password: '' # initial password for the first login
oauth2: oauth2:
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work) enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
client: client:
keycloak: keycloak:
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
clientId: '' # Client ID for Keycloak OAuth2 clientId: '' # client ID for Keycloak OAuth2
clientSecret: '' # Client Secret for Keycloak OAuth2 clientSecret: '' # client secret for Keycloak OAuth2
scopes: openid, profile, email # Scopes for Keycloak OAuth2 scopes: openid, profile, email # scopes for Keycloak OAuth2
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2 useAsUsername: preferred_username # field to use as the username for Keycloak OAuth2
google: google:
clientId: '' # Client ID for Google OAuth2 clientId: '' # client ID for Google OAuth2
clientSecret: '' # Client Secret for Google OAuth2 clientSecret: '' # client secret for Google OAuth2
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2 scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # scopes for Google OAuth2
useAsUsername: email # Field to use as the username for Google OAuth2 useAsUsername: email # field to use as the username for Google OAuth2
github: github:
clientId: '' # Client ID for GitHub OAuth2 clientId: '' # client ID for GitHub OAuth2
clientSecret: '' # Client Secret for GitHub OAuth2 clientSecret: '' # client secret for GitHub OAuth2
scopes: read:user # Scope for GitHub OAuth2 scopes: read:user # scope for GitHub OAuth2
useAsUsername: login # Field to use as the username for GitHub OAuth2 useAsUsername: login # field to use as the username for GitHub OAuth2
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) endpoint
clientId: '' # Client ID from your provider clientId: '' # client ID from your provider
clientSecret: '' # Client Secret from your provider clientSecret: '' # client secret from your provider
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
useAsUsername: email # Default is 'email'; custom fields can be used as the username useAsUsername: email # default is 'email'; custom fields can be used as the username
scopes: openid, profile, email # Specify the scopes for which the application will request permissions scopes: openid, profile, email # specify the scopes for which the application will request permissions
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak' provider: google # set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
saml2: saml2:
enabled: false # Currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true enabled: false # currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
registrationId: stirling registrationId: stirling
@@ -56,7 +56,7 @@ security:
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
idpIssuer: http://www.okta.com/externalKey idpIssuer: http://www.okta.com/externalKey
idpCert: classpath:octa.crt idpCert: classpath:okta.crt
privateKey: classpath:saml-private-key.key privateKey: classpath:saml-private-key.key
spCert: classpath:saml-public-cert.crt spCert: classpath:saml-public-cert.crt
@@ -65,35 +65,35 @@ enterpriseEdition:
key: 00000000-0000-0000-0000-000000000000 key: 00000000-0000-0000-0000-000000000000
CustomMetadata: CustomMetadata:
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values 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 users username 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' creator: Stirling-PDF # supports text such as 'Company-PDF'
producer: Stirling-PDF # Supports text such as 'Company-PDF' producer: Stirling-PDF # supports text such as 'Company-PDF'
legal: 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-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
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 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 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 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
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum) Empty string to disable or filename to load from local file in static folder impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum). Empty string to disable or filename to load from local file in static folder
system: system:
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc) defaultLocale: en-US # set the default language (e.g. 'de-DE', 'fr-FR', etc)
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes) enableAlphaFunctionality: false # set to enable functionality which might need more testing before it fully goes live (this feature might make no changes)
showUpdate: false # see when a new update is available showUpdate: false # see when a new update is available
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true' showUpdateOnlyAdmin: false # only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files 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. 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: undefined # Set to 'true' to enable analytics, set to 'false' to disable analytics, for enterprise users this is set to true enableAnalytics: undefined # set to 'true' to enable analytics, set to 'false' to disable analytics; for enterprise users, this is set to true
ui: ui:
appName: '' # Application's visible name appName: '' # application's visible name
homeDescription: '' # Short description or tagline shown on homepage. homeDescription: '' # short description or tagline shown on the homepage
appNameNavbar: '' # Name displayed on the navigation bar appNameNavbar: '' # name displayed on the navigation bar
endpoints: endpoints:
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages']) toRemove: [] # list endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice']) groupsToRemove: [] # list groups to disable (e.g. ['LibreOffice'])
metrics: metrics:
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
@@ -102,3 +102,22 @@ metrics:
AutomaticallyGenerated: AutomaticallyGenerated:
key: example key: example
UUID: example UUID: example
processExecutor:
sessionLimit: # Process executor instances limits
libreOfficeSessionLimit: 1
pdfToHtmlSessionLimit: 1
ocrMyPdfSessionLimit: 2
pythonOpenCvSessionLimit: 8
ghostScriptSessionLimit: 16
weasyPrintSessionLimit: 16
installAppSessionLimit: 1
calibreSessionLimit: 1
timeoutMinutes: # Process executor timeout in minutes
libreOfficetimeoutMinutes: 30
pdfToHtmltimeoutMinutes: 20
pythonOpenCvtimeoutMinutes: 30
ghostScripttimeoutMinutes: 30
weasyPrinttimeoutMinutes: 30
installApptimeoutMinutes: 60
calibretimeoutMinutes: 30

View File

@@ -3,17 +3,24 @@
{ {
"moduleName": "ch.qos.logback:logback-classic", "moduleName": "ch.qos.logback:logback-classic",
"moduleUrl": "http://www.qos.ch", "moduleUrl": "http://www.qos.ch",
"moduleVersion": "1.5.8", "moduleVersion": "1.5.11",
"moduleLicense": "GNU Lesser General Public License", "moduleLicense": "GNU Lesser General Public License",
"moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" "moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
}, },
{ {
"moduleName": "ch.qos.logback:logback-core", "moduleName": "ch.qos.logback:logback-core",
"moduleUrl": "http://www.qos.ch", "moduleUrl": "http://www.qos.ch",
"moduleVersion": "1.5.8", "moduleVersion": "1.5.11",
"moduleLicense": "GNU Lesser General Public License", "moduleLicense": "GNU Lesser General Public License",
"moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" "moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html"
}, },
{
"moduleName": "com.adobe.xmp:xmpcore",
"moduleUrl": "https://www.adobe.com/devnet/xmp/library/eula-xmp-library-java.html",
"moduleVersion": "6.1.11",
"moduleLicense": "The BSD 3-Clause License (BSD3)",
"moduleLicenseUrl": "https://opensource.org/licenses/BSD-3-Clause"
},
{ {
"moduleName": "com.bucket4j:bucket4j_jdk17-core", "moduleName": "com.bucket4j:bucket4j_jdk17-core",
"moduleUrl": "http://github.com/bucket4j/bucket4j/bucket4j_jdk17-core", "moduleUrl": "http://github.com/bucket4j/bucket4j/bucket4j_jdk17-core",
@@ -28,6 +35,13 @@
"moduleLicense": "MIT", "moduleLicense": "MIT",
"moduleLicenseUrl": "https://opensource.org/licenses/MIT" "moduleLicenseUrl": "https://opensource.org/licenses/MIT"
}, },
{
"moduleName": "com.drewnoakes:metadata-extractor",
"moduleUrl": "https://drewnoakes.com/code/exif/",
"moduleVersion": "2.19.0",
"moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
},
{ {
"moduleName": "com.fasterxml.jackson.core:jackson-annotations", "moduleName": "com.fasterxml.jackson.core:jackson-annotations",
"moduleUrl": "https://github.com/FasterXML/jackson", "moduleUrl": "https://github.com/FasterXML/jackson",
@@ -400,7 +414,7 @@
{ {
"moduleName": "io.micrometer:micrometer-commons", "moduleName": "io.micrometer:micrometer-commons",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.4", "moduleVersion": "1.13.6",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -414,14 +428,14 @@
{ {
"moduleName": "io.micrometer:micrometer-jakarta9", "moduleName": "io.micrometer:micrometer-jakarta9",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.4", "moduleVersion": "1.13.6",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
{ {
"moduleName": "io.micrometer:micrometer-observation", "moduleName": "io.micrometer:micrometer-observation",
"moduleUrl": "https://github.com/micrometer-metrics/micrometer", "moduleUrl": "https://github.com/micrometer-metrics/micrometer",
"moduleVersion": "1.13.4", "moduleVersion": "1.13.6",
"moduleLicense": "The Apache Software License, Version 2.0", "moduleLicense": "The Apache Software License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -681,7 +695,7 @@
{ {
"moduleName": "org.apache.tomcat.embed:tomcat-embed-el", "moduleName": "org.apache.tomcat.embed:tomcat-embed-el",
"moduleUrl": "https://tomcat.apache.org/", "moduleUrl": "https://tomcat.apache.org/",
"moduleVersion": "10.1.30", "moduleVersion": "10.1.31",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt"
}, },
@@ -776,182 +790,182 @@
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-client",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-common", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-common",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jetty-server",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-servlet", "moduleName": "org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-servlet",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-annotations", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-annotations",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-plus", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-plus",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlet", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlet",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlets", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-servlets",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.ee10:jetty-ee10-webapp", "moduleName": "org.eclipse.jetty.ee10:jetty-ee10-webapp",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-client", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-client",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-common", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-common",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-server", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-core-server",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-api", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-api",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-common", "moduleName": "org.eclipse.jetty.websocket:jetty-websocket-jetty-common",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-alpn-client", "moduleName": "org.eclipse.jetty:jetty-alpn-client",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-client", "moduleName": "org.eclipse.jetty:jetty-client",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-ee", "moduleName": "org.eclipse.jetty:jetty-ee",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-http", "moduleName": "org.eclipse.jetty:jetty-http",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-io", "moduleName": "org.eclipse.jetty:jetty-io",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-plus", "moduleName": "org.eclipse.jetty:jetty-plus",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-security", "moduleName": "org.eclipse.jetty:jetty-security",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-server", "moduleName": "org.eclipse.jetty:jetty-server",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-session", "moduleName": "org.eclipse.jetty:jetty-session",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-util", "moduleName": "org.eclipse.jetty:jetty-util",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
{ {
"moduleName": "org.eclipse.jetty:jetty-xml", "moduleName": "org.eclipse.jetty:jetty-xml",
"moduleUrl": "https://jetty.org/", "moduleUrl": "https://jetty.org/",
"moduleVersion": "12.0.13", "moduleVersion": "12.0.14",
"moduleLicense": "Eclipse Public License - Version 2.0", "moduleLicense": "Eclipse Public License - Version 2.0",
"moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/" "moduleLicenseUrl": "https://www.eclipse.org/legal/epl-2.0/"
}, },
@@ -1139,266 +1153,266 @@
{ {
"moduleName": "org.springframework.boot:spring-boot", "moduleName": "org.springframework.boot:spring-boot",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-actuator", "moduleName": "org.springframework.boot:spring-boot-actuator",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-actuator-autoconfigure", "moduleName": "org.springframework.boot:spring-boot-actuator-autoconfigure",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-autoconfigure", "moduleName": "org.springframework.boot:spring-boot-autoconfigure",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-devtools", "moduleName": "org.springframework.boot:spring-boot-devtools",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter", "moduleName": "org.springframework.boot:spring-boot-starter",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-actuator", "moduleName": "org.springframework.boot:spring-boot-starter-actuator",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-aop", "moduleName": "org.springframework.boot:spring-boot-starter-aop",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-data-jpa", "moduleName": "org.springframework.boot:spring-boot-starter-data-jpa",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-jdbc", "moduleName": "org.springframework.boot:spring-boot-starter-jdbc",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-jetty", "moduleName": "org.springframework.boot:spring-boot-starter-jetty",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-json", "moduleName": "org.springframework.boot:spring-boot-starter-json",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-logging", "moduleName": "org.springframework.boot:spring-boot-starter-logging",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-oauth2-client", "moduleName": "org.springframework.boot:spring-boot-starter-oauth2-client",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-security", "moduleName": "org.springframework.boot:spring-boot-starter-security",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-thymeleaf", "moduleName": "org.springframework.boot:spring-boot-starter-thymeleaf",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.boot:spring-boot-starter-web", "moduleName": "org.springframework.boot:spring-boot-starter-web",
"moduleUrl": "https://spring.io/projects/spring-boot", "moduleUrl": "https://spring.io/projects/spring-boot",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.data:spring-data-commons", "moduleName": "org.springframework.data:spring-data-commons",
"moduleUrl": "https://spring.io/projects/spring-data", "moduleUrl": "https://spring.io/projects/spring-data",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.data:spring-data-jpa", "moduleName": "org.springframework.data:spring-data-jpa",
"moduleUrl": "https://projects.spring.io/spring-data-jpa", "moduleUrl": "https://projects.spring.io/spring-data-jpa",
"moduleVersion": "3.3.4", "moduleVersion": "3.3.5",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-config", "moduleName": "org.springframework.security:spring-security-config",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-core", "moduleName": "org.springframework.security:spring-security-core",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-crypto", "moduleName": "org.springframework.security:spring-security-crypto",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-client", "moduleName": "org.springframework.security:spring-security-oauth2-client",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-core", "moduleName": "org.springframework.security:spring-security-oauth2-core",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-oauth2-jose", "moduleName": "org.springframework.security:spring-security-oauth2-jose",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-saml2-service-provider", "moduleName": "org.springframework.security:spring-security-saml2-service-provider",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework.security:spring-security-web", "moduleName": "org.springframework.security:spring-security-web",
"moduleUrl": "https://spring.io/projects/spring-security", "moduleUrl": "https://spring.io/projects/spring-security",
"moduleVersion": "6.3.3", "moduleVersion": "6.3.4",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-aop", "moduleName": "org.springframework:spring-aop",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-aspects", "moduleName": "org.springframework:spring-aspects",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-beans", "moduleName": "org.springframework:spring-beans",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-context", "moduleName": "org.springframework:spring-context",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-core", "moduleName": "org.springframework:spring-core",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-expression", "moduleName": "org.springframework:spring-expression",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-jcl", "moduleName": "org.springframework:spring-jcl",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-jdbc", "moduleName": "org.springframework:spring-jdbc",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-orm", "moduleName": "org.springframework:spring-orm",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-tx", "moduleName": "org.springframework:spring-tx",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },
{ {
"moduleName": "org.springframework:spring-web", "moduleName": "org.springframework:spring-web",
"moduleUrl": "https://github.com/spring-projects/spring-framework", "moduleUrl": "https://github.com/spring-projects/spring-framework",
"moduleVersion": "6.1.13", "moduleVersion": "6.1.14",
"moduleLicense": "Apache License, Version 2.0", "moduleLicense": "Apache License, Version 2.0",
"moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0"
}, },

File diff suppressed because one or more lines are too long

View File

@@ -212,15 +212,81 @@ label {
.page-number { .page-number {
position: absolute; position: absolute;
top: 5px; top: 5px;
right: 0px; left: 5px;
color: var(--md-sys-color-on-surface); color: var(--md-sys-color-on-secondary);
background-color: var(--md-sys-color-surface-5); background-color: rgba(162, 201, 255, 0.8);
padding: 6px 8px; padding: 6px 8px;
border-radius: 8px; border-radius: 8px;
font-size: 16px; font-size: 16px;
z-index: 2; z-index: 2;
font-weight: 450;
} }
.tool-header { .tool-header {
margin: 0.5rem 1rem 2rem; margin: 0.5rem 1rem 2rem;
} }
#select-pages-button {
opacity: 0.5;
}
.selected-pages-container {
background-color: var(--md-sys-color-surface);
border-radius: 16px;
padding: 15px;
width: 100%;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
font-family: Arial, sans-serif;
}
.selected-pages-container h3 {
color: var(--md-sys-color-on-surface);
font-size: 1.2em;
margin-bottom: 10px;
}
.pages-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
padding: 0;
list-style: none;
max-height: 10rem;
overflow: auto;
}
.page-item {
background-color: var(--md-sys-color-surface-container-low);
border-radius: 8px;
padding: 8px 12px;
display: flex;
align-items: center;
gap: 8px;
font-weight: bold;
color: var(--md-sys-color-on-surface);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
width: 7rem;
height: 2.5rem;
}
.selected-page-number {
width: 4rem;
font-size: small;
}
.remove-btn {
cursor: pointer;
color: var(--md-sys-color-on-surface);
font-size: 1.2em;
}
.checkbox-container {
align-items: center;
justify-content: center;
display: flex;
flex-direction: column;
}
.checkbox-label {
font-size: medium;
}

View File

@@ -329,11 +329,14 @@ span.icon-text::after {
} }
} }
.go-pro-link { .go-pro-link {
position: relative; position: relative;
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
transition: all 0.3s ease; transition: all 0.3s ease;
} z-index: 1;
display: inline-block;
width: auto;
}
.go-pro-badge { .go-pro-badge {
display: inline-block; display: inline-block;
@@ -350,4 +353,4 @@ span.icon-text::after {
.go-pro-link:hover .go-pro-badge { .go-pro-link:hover .go-pro-badge {
background-color: #0056b3; background-color: #0056b3;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
} }

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