diff --git a/Dockerfile b/Dockerfile index 834dce6c..6aab1d8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Main stage -FROM alpine:20240329 +FROM alpine:3.20.0 # Copy necessary files COPY scripts /scripts @@ -10,35 +10,33 @@ COPY build/libs/*.jar app.jar ARG VERSION_TAG - # Set Environment Variables ENV DOCKER_ENABLE_SECURITY=false \ VERSION_TAG=$VERSION_TAG \ JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \ - HOME=/home/stirlingpdfuser \ - PUID=1000 \ + HOME=/home/stirlingpdfuser \ + PUID=1000 \ PGID=1000 \ UMASK=022 - # JDK for app RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \ echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \ echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \ - apk update && \ + apk upgrade --no-cache -a && \ apk add --no-cache \ ca-certificates \ tzdata \ tini \ - openssl \ -openssl-dev \ bash \ curl \ - openjdk21-jre \ - su-exec \ shadow \ + su-exec \ + openssl \ + openssl-dev \ + openjdk21-jre \ # Doc conversion - libreoffice@testing \ + libreoffice \ # pdftohtml poppler-utils \ # OCR MY PDF (unpaper for descew and other advanced featues) @@ -60,10 +58,9 @@ openssl-dev \ addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \ chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \ chown stirlingpdfuser:stirlingpdfgroup /app.jar && \ - tesseract --list-langs && \ - rm -rf /var/cache/apk/* + tesseract --list-langs -EXPOSE 8080 +EXPOSE 8080/tcp # Set user and run command ENTRYPOINT ["tini", "--", "/scripts/init.sh"] diff --git a/Dockerfile-ultra-lite b/Dockerfile-ultra-lite index ea07e62f..e3718497 100644 --- a/Dockerfile-ultra-lite +++ b/Dockerfile-ultra-lite @@ -1,5 +1,5 @@ # use alpine -FROM alpine:3.19.1 +FROM alpine:3.20.0 ARG VERSION_TAG @@ -8,7 +8,7 @@ ENV DOCKER_ENABLE_SECURITY=false \ HOME=/home/stirlingpdfuser \ VERSION_TAG=$VERSION_TAG \ JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \ - PUID=1000 \ + PUID=1000 \ PGID=1000 \ UMASK=022 @@ -18,24 +18,23 @@ COPY scripts/init-without-ocr.sh /scripts/init-without-ocr.sh COPY pipeline /pipeline COPY build/libs/*.jar app.jar - # Set up necessary directories and permissions - -RUN mkdir /configs /logs /customFiles && \ - chmod +x /scripts/*.sh && \ +RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \ + echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \ + echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \ + apk upgrade --no-cache -a && \ apk add --no-cache \ ca-certificates \ tzdata \ tini \ bash \ curl \ - su-exec \ shadow \ + su-exec \ openjdk21-jre && \ - echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \ - echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \ - echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \ # User permissions + mkdir /configs /logs /customFiles && \ + chmod +x /scripts/*.sh && \ addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \ chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /configs /customFiles /pipeline && \ chown stirlingpdfuser:stirlingpdfgroup /app.jar @@ -43,9 +42,8 @@ RUN mkdir /configs /logs /customFiles && \ # Set environment variables ENV ENDPOINTS_GROUPS_TO_REMOVE=CLI -EXPOSE 8080 - -ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"] +EXPOSE 8080/tcp # Run the application +ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"] CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"] diff --git a/README.md b/README.md index 7fba0db5..a6bf84b1 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ [![Discord](https://img.shields.io/discord/1068636748814483718?label=Discord)](https://discord.gg/Cn8pWhQRxZ) [![Docker Image Version (tag latest semver)](https://img.shields.io/docker/v/frooodle/s-pdf/latest)](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) -[![Paypal Donate](https://img.shields.io/badge/Paypal%20Donate-yellow?style=flat&logo=paypal)](https://www.paypal.com/paypalme/froodleplex) +[![Paypal Donate](https://img.shields.io/badge/Paypal%20Donate-yellow?style=flat&logo=paypal)](https://www.paypal.com/donate/?hosted_button_id=MN7JPG5G6G3JL) [![Github Sponsor](https://img.shields.io/badge/Github%20Sponsor-yellow?style=flat&logo=github)](https://github.com/sponsors/Frooodle) [![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) @@ -167,12 +167,12 @@ Stirling PDF currently supports 27! | English (US) (en_US) | ![100%](https://geps.dev/progress/100) | | Arabic (العربية) (ar_AR) | ![41%](https://geps.dev/progress/41) | | German (Deutsch) (de_DE) | ![97%](https://geps.dev/progress/97) | -| French (Français) (fr_FR) | ![89%](https://geps.dev/progress/89) | +| French (Français) (fr_FR) | ![94%](https://geps.dev/progress/94) | | Spanish (Español) (es_ES) | ![97%](https://geps.dev/progress/97) | | Simplified Chinese (简体中文) (zh_CN) | ![96%](https://geps.dev/progress/96) | | Traditional Chinese (繁體中文) (zh_TW) | ![96%](https://geps.dev/progress/96) | | Catalan (Català) (ca_CA) | ![50%](https://geps.dev/progress/50) | -| Italian (Italiano) (it_IT) | ![97%](https://geps.dev/progress/97) | +| Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) | | Swedish (Svenska) (sv_SE) | ![41%](https://geps.dev/progress/41) | | Polish (Polski) (pl_PL) | ![43%](https://geps.dev/progress/43) | | Romanian (Română) (ro_RO) | ![40%](https://geps.dev/progress/40) | @@ -183,7 +183,7 @@ Stirling PDF currently supports 27! | Japanese (日本語) (ja_JP) | ![89%](https://geps.dev/progress/89) | | Dutch (Nederlands) (nl_NL) | ![86%](https://geps.dev/progress/86) | | Greek (Ελληνικά) (el_GR) | ![87%](https://geps.dev/progress/87) | -| Turkish (Türkçe) (tr_TR) | ![97%](https://geps.dev/progress/97) | +| Turkish (Türkçe) (tr_TR) | ![99%](https://geps.dev/progress/99) | | Indonesia (Bahasa Indonesia) (id_ID) | ![80%](https://geps.dev/progress/80) | | Hindi (हिंदी) (hi_IN) | ![81%](https://geps.dev/progress/81) | | Hungarian (Magyar) (hu_HU) | ![79%](https://geps.dev/progress/79) | @@ -222,27 +222,41 @@ The Current list of settings is ```yaml security: enableLogin: false # set to 'true' to enable login - csrfDisabled: true + csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production) + loginAttemptCount: 5 # lock user account after 5 tries + loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts +# initialLogin: +# username: "admin" # Initial username for the first login (these are defaulted) +# password: "stirling" # Initial password for the first login +# oauth2: +# enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work) +# issuer: "" # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point +# clientId: "" # Client ID from your provider +# clientSecret: "" # Client Secret from your provider +# autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users +# 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 +# provider: "google" # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak' system: 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 - customStaticFilePath: '/customFiles/static/' # Directory path for custom static files + 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 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 -#ui: -# appName: exampleAppName # Application's visible name -# homeDescription: I am a description # Short description or tagline shown on homepage. -# appNameNavbar: navbarName # Name displayed on the navigation bar +ui: + appName: null # Application's visible name + homeDescription: null # Short description or tagline shown on homepage. + appNameNavbar: null # Name displayed on the navigation bar endpoints: toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages']) groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice']) metrics: - enabled: true # 'true' to enable Info APIs endpoints (view http://localhost:8080/swagger-ui/index.html#/API to learn more), 'false' to disable + enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable ``` 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 diff --git a/build.gradle b/build.gradle index 13456a96..4c4bfaaf 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ plugins { import com.github.jk1.license.render.* group = 'stirling.software' -version = '0.24.0' +version = '0.24.6' //17 is lowest but we support and recommend 21 sourceCompatibility = '17' diff --git a/chart/stirling-pdf/Chart.yaml b/chart/stirling-pdf/Chart.yaml index ac3b857c..aa960f02 100644 --- a/chart/stirling-pdf/Chart.yaml +++ b/chart/stirling-pdf/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 0.24.0 +appVersion: 0.24.6 description: locally hosted web application that allows you to perform various operations on PDF files home: https://github.com/Stirling-Tools/Stirling-PDF diff --git a/exampleYmlFiles/docker-compose-latest-security-with-sso.yml b/exampleYmlFiles/docker-compose-latest-security-with-sso.yml index 41241b15..592daeff 100644 --- a/exampleYmlFiles/docker-compose-latest-security-with-sso.yml +++ b/exampleYmlFiles/docker-compose-latest-security-with-sso.yml @@ -22,10 +22,11 @@ services: DOCKER_ENABLE_SECURITY: "true" SECURITY_ENABLELOGIN: "true" SECURITY_OAUTH2_ENABLED: "true" - SECURITY_OAUTH2_AUTOCREATEUSER: "true" # This is set to true to allow auto-creation of non-existing users in Striling-PDF + SECURITY_OAUTH2_AUTOCREATEUSER: "true" # This is set to true to allow auto-creation of non-existing users in Stirling-PDF SECURITY_OAUTH2_ISSUER: "https://accounts.google.com" # Change with any other provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point SECURITY_OAUTH2_CLIENTID: ".apps.googleusercontent.com" # Client ID from your provider SECURITY_OAUTH2_CLIENTSECRET: "" # Client Secret from your provider + SECURITY_OAUTH2_SCOPES: "openid,profile,email" # Expected OAuth2 Scope PUID: 1002 PGID: 1002 UMASK: "022" diff --git a/images/stirling-home.jpg b/images/stirling-home.jpg index 0b28f6ee..d99dfe60 100644 Binary files a/images/stirling-home.jpg and b/images/stirling-home.jpg differ diff --git a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java index 394baeb1..e8433588 100644 --- a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java +++ b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java @@ -61,12 +61,33 @@ public class ConfigInitializer List userLines = Files.exists(userPath) ? Files.readAllLines(userPath) : new ArrayList<>(); - Map templateEntries = extractEntries(templateLines); - Map userEntries = extractEntries(userLines); + List resultLines = new ArrayList<>(); - List mergedLines = mergeConfigs(templateLines, templateEntries, userEntries); - mergedLines = cleanInvalidYamlEntries(mergedLines); - Files.write(userPath, mergedLines); + for (String templateLine : templateLines) { + // Check if the line is a comment + if (templateLine.trim().startsWith("#")) { + String entry = templateLine.trim().substring(1).trim(); + if (!entry.isEmpty()) { + // Check if this comment has been uncommented in userLines + String key = entry.split(":")[0].trim(); + addLine(resultLines, userLines, templateLine, key); + } else { + resultLines.add(templateLine); + } + } + // Check if the line is a key-value pair + else if (templateLine.contains(":")) { + String key = templateLine.split(":")[0].trim(); + addLine(resultLines, userLines, templateLine, key); + } + // Handle empty lines + else if (templateLine.trim().length() == 0) { + resultLines.add(""); + } + } + + // Write the result to the user settings file + Files.write(userPath, resultLines); } Path customSettingsPath = Paths.get("configs", "custom_settings.yml"); @@ -74,129 +95,42 @@ public class ConfigInitializer Files.createFile(customSettingsPath); } } - - private static Map extractEntries(List lines) { - Map entries = new HashMap<>(); - StringBuilder currentEntry = new StringBuilder(); - String currentKey = null; - int blockIndent = -1; - - for (String line : lines) { - if (line.trim().isEmpty()) { - if (currentKey != null) { - currentEntry.append(line).append("\n"); + + + + //TODO check parent value instead of just indent lines for duplicate keys (like enabled etc) + private static void addLine(List resultLines, List userLines, String templateLine, String key) { + boolean added = false; + int templateIndentationLevel = getIndentationLevel(templateLine); + for (String settingsLine : userLines) { + if (settingsLine.trim().startsWith(key + ":")) { + int settingsIndentationLevel = getIndentationLevel(settingsLine); + // Check if it is correct settingsLine and has the same parent as templateLine + if (settingsIndentationLevel == templateIndentationLevel) { + resultLines.add(settingsLine); + added = true; + break; } - continue; - } - - int indentLevel = getIndentationLevel(line); - if (line.trim().startsWith("#")) { - if (indentLevel <= blockIndent || blockIndent == -1) { - if (currentKey != null) { - entries.put(currentKey, currentEntry.toString().trim()); - currentEntry = new StringBuilder(); - } - currentKey = line.trim().replaceAll("#", "").split(":")[0].trim(); - blockIndent = indentLevel; - } - currentEntry.append(line).append("\n"); - } else if (indentLevel == 0 || indentLevel <= blockIndent) { - if (currentKey != null) { - entries.put(currentKey, currentEntry.toString().trim()); - currentEntry = new StringBuilder(); - } - currentKey = line.split(":")[0].trim(); - blockIndent = indentLevel; - currentEntry.append(line).append("\n"); - } else { - currentEntry.append(line).append("\n"); } } - - if (currentKey != null) { - entries.put(currentKey, currentEntry.toString().trim()); + if (!added) { + resultLines.add(templateLine); } - - return entries; - } - - private static List mergeConfigs( - List templateLines, - Map templateEntries, - Map userEntries) { - List mergedLines = new ArrayList<>(); - Set handledKeys = new HashSet<>(); - - String currentBlockKey = null; - int blockIndent = -1; - - for (String line : templateLines) { - if (line.trim().isEmpty()) { - mergedLines.add(line); - continue; - } - - int indentLevel = getIndentationLevel(line); - if (indentLevel == 0 || (indentLevel <= blockIndent && !line.trim().startsWith("#"))) { - currentBlockKey = line.split(":")[0].trim(); - blockIndent = indentLevel; - } - - if (userEntries.containsKey(currentBlockKey) - && !handledKeys.contains(currentBlockKey)) { - mergedLines.add(userEntries.get(currentBlockKey)); - handledKeys.add(currentBlockKey); - } else if (!handledKeys.contains(currentBlockKey)) { - mergedLines.add(line); - } - } - - return mergedLines; - } - - private static List cleanInvalidYamlEntries(List lines) { - List cleanedLines = new ArrayList<>(); - for (int i = 0; i < lines.size(); i++) { - String line = lines.get(i); - String trimmedLine = line.trim(); - - if (trimmedLine.startsWith("#") - || !trimmedLine.endsWith(":") - || trimmedLine.contains(" ")) { - cleanedLines.add(line); - continue; - } - - if (isKeyWithoutChildrenOrValue(i, lines)) { - continue; - } - - cleanedLines.add(line); - } - return cleanedLines; - } - - private static boolean isKeyWithoutChildrenOrValue(int currentIndex, List lines) { - if (currentIndex + 1 < lines.size()) { - String currentLine = lines.get(currentIndex); - String nextLine = lines.get(currentIndex + 1); - int currentIndentation = getIndentationLevel(currentLine); - int nextIndentation = getIndentationLevel(nextLine); - - // If the next line is less or equally indented, it's not a child or value - return nextIndentation <= currentIndentation; - } - - // If it's the last line, then it definitely has no children or value - return true; - } + } private static int getIndentationLevel(String line) { - int count = 0; - for (char ch : line.toCharArray()) { - if (ch == ' ') count++; - else break; + int indentationLevel = 0; + String trimmedLine = line.trim(); + if (trimmedLine.startsWith("#")) { + line = trimmedLine.substring(1); } - return count; + for (char c : line.toCharArray()) { + if (c == ' ') { + indentationLevel++; + } else { + break; + } + } + return indentationLevel; } } diff --git a/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java b/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java index 9ec02e17..452de53e 100644 --- a/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java +++ b/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java @@ -54,10 +54,8 @@ public class InitialSecuritySetup { && !initialPassword.isEmpty() && !userService.findByUsernameIgnoreCase(initialUsername).isPresent()) { try { - if (userService.isUsernameValid(initialUsername)) { - userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId()); - logger.info("Admin user created: " + initialUsername); - } + userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId()); + logger.info("Admin user created: " + initialUsername); } catch (IllegalArgumentException e) { logger.error("Failed to initialize security setup", e); System.exit(1); diff --git a/src/main/java/stirling/software/SPDF/config/security/UserService.java b/src/main/java/stirling/software/SPDF/config/security/UserService.java index 1fcf63f8..0a6898f8 100644 --- a/src/main/java/stirling/software/SPDF/config/security/UserService.java +++ b/src/main/java/stirling/software/SPDF/config/security/UserService.java @@ -197,7 +197,13 @@ public class UserService implements UserServiceInterface { } public boolean hasUsers() { - return userRepository.count() > 0; + long userCount = userRepository.count(); + if (userRepository + .findByUsernameIgnoreCase(Role.INTERNAL_API_USER.getRoleId()) + .isPresent()) { + userCount -= 1; + } + return userCount > 0; } public void updateUserSettings(String username, Map updates) { diff --git a/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java b/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java index 2623d8f8..ae96d07b 100644 --- a/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java +++ b/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java @@ -327,9 +327,6 @@ public class ApplicationProperties { public static class System { private String defaultLocale; private Boolean googlevisibility; - private String rootURIPath; - private String customStaticFilePath; - private Integer maxFileSize; private boolean showUpdate; private Boolean showUpdateOnlyAdmin; private boolean customHTMLFiles; @@ -384,29 +381,8 @@ public class ApplicationProperties { this.googlevisibility = googlevisibility; } - public String getRootURIPath() { - return rootURIPath; - } + - public void setRootURIPath(String rootURIPath) { - this.rootURIPath = rootURIPath; - } - - public String getCustomStaticFilePath() { - return customStaticFilePath; - } - - public void setCustomStaticFilePath(String customStaticFilePath) { - this.customStaticFilePath = customStaticFilePath; - } - - public Integer getMaxFileSize() { - return maxFileSize; - } - - public void setMaxFileSize(Integer maxFileSize) { - this.maxFileSize = maxFileSize; - } @Override public String toString() { @@ -414,12 +390,6 @@ public class ApplicationProperties { + defaultLocale + ", googlevisibility=" + googlevisibility - + ", rootURIPath=" - + rootURIPath - + ", customStaticFilePath=" - + customStaticFilePath - + ", maxFileSize=" - + maxFileSize + ", enableAlphaFunctionality=" + enableAlphaFunctionality + ", showUpdate=" diff --git a/src/main/resources/messages_cs_CZ.properties b/src/main/resources/messages_cs_CZ.properties new file mode 100644 index 00000000..70ace06f --- /dev/null +++ b/src/main/resources/messages_cs_CZ.properties @@ -0,0 +1,1075 @@ +########### +# Generic # +########### +# the direction that the language is written (ltr = left to right, rtl = right to left) +language.direction=ltr + +pdfPrompt=Vyberte PDF soubry +multiPdfPrompt=Vyberte PDF soubry (2+) +multiPdfDropPrompt=Vyberte (nebo p?ethn?te) v?echny po?adovan PDF soubory +imgPrompt=Vyberte obrzek(y) +genericSubmit=Odeslat +processTimeWarning=Varovn: Tento proces m??e trvat a? minutu, v zvislosti na velikosti souboru +pageOrderPrompt=Vlastn po?ad strnek (Zadejte seznam ?sel strnek odd?lench ?rkou nebo funkci jako nap?. 2n+1): +pageSelectionPrompt=Vlastn po?ad strnek (Zadejte seznam ?sel strnek odd?lench ?rkou jako 1,5,6 nebo funkci jako nap?. 2n+1): +goToPage=Jt +true=Pravda +false=Le? +unknown=Neznm +save=Ulo?it +saveToBrowser=Ulo?it do prohl?e?e +close=Zav?t +filesSelected=vybran soubory +noFavourites=?dn oblben polo?ky +downloadComplete=Stahovn dokon?eno +bored=Nudte se p?i ?ekn? +alphabet=Abeceda +downloadPdf=Sthnout PDF +text=Text +font=Font +selectFillter=-- Vyberte -- +pageNum=?slo strnky +sizes.small=Mal +sizes.medium=St?edn +sizes.large=Velk +sizes.x-large=Extra velk +error.pdfPassword=PDF dokument je chrn?n heslem a bu? heslo nebylo zadn, nebo bylo nesprvn. +delete=Smazat +username=Ui?vatelsk jmno +password=Heslo +welcome=Vtejte +property=Vlastnost +black=?ern +white=Bl +red=?erven +green=Zelen +blue=Modr +custom=Vlastn... +WorkInProgess=Nedokon?en, nemus fungovat nebo m??e d?lat chyby, prosm, hla?te jakkoliv problmy! +poweredBy=Poskytovan +yes=Ano +no=Ne +changedCredsMessage=daje zm?n?ny! +notAuthenticatedMessage=U?ivatel nen p?ihl?en. +userNotFoundMessage=U?ivatel nenalezen. +incorrectPasswordMessage=Sou?asn heslo nen sprvn. +usernameExistsMessage=Nov u?ivatelsk jmno ji? existuje. +invalidUsernameMessage=Nesprvn u?ivatelsk jmno, sm obsahovat pouze psmena, ?slice a nsledujc speciln znaky @._+- nebo mus bt validn emailov adresa. +deleteCurrentUserMessage=Nelze smazat aktuln p?ihl?enho u?ivatele. +deleteUsernameExistsMessage=U?ivatelsk jmno neexistuje a nelze ho smazat. +downgradeCurrentUserMessage=Nelze sn?it roli aktulnho u?ivatele. +downgradeCurrentUserLongMessage=Nelze sn?it roli aktulnho u?ivatele. Proto nebude aktuln u?ivatel zobrazen. +userAlreadyExistsOAuthMessage=U?ivatel ji? existuje jako OAuth2 u?ivatel. +userAlreadyExistsWebMessage=U?ivatel ji? existuje jako webov u?ivatel. +error=Chyba +oops=Ups! +help=Pomoc +goHomepage=Jt na domovskou strnku +joinDiscord=P?ipojte se k na?emu Discordu +seeDockerHub=Podvejte se na Docker Hub +visitGithub=Nav?tivte Github repozit? +donate=P?isp?jte +color=Barva +sponsor=Sponzor +info=Info + + + +############### +# Pipeline # +############### +pipeline.header=Pipeline Menu (Beta) +pipeline.uploadButton=Nahrt vlastn +pipeline.configureButton=Konfigurovat +pipeline.defaultOption=Vlastn +pipeline.submitButton=Odeslat +pipeline.help=Pomoc s pipeline +pipeline.scanHelp=Pomoc se skenovnm adres?e + +###################### +# Pipeline Options # +###################### +pipelineOptions.header=Nastaven pipeline +pipelineOptions.pipelineNameLabel=Nzev pipeline +pipelineOptions.saveSettings=Ulo?it nastaven operace +pipelineOptions.pipelineNamePrompt=Zadejte zde nzev pipeline +pipelineOptions.selectOperation=Vybrat operaci +pipelineOptions.addOperationButton=P?idat operaci +pipelineOptions.pipelineHeader=Pipeline: +pipelineOptions.saveButton=Sthnout +pipelineOptions.validateButton=Ov??it + + + + +############# +# NAVBAR # +############# +navbar.favorite=Oblben +navbar.darkmode=Tmav re?im +navbar.language=Jazyky +navbar.settings=Nastaven +navbar.allTools=Nstroje +navbar.multiTool=Multifunk?n nstroje +navbar.sections.organize=Organizovat +navbar.sections.convertTo=P?evst do PDF +navbar.sections.convertFrom=P?evst z PDF +navbar.sections.security=Podpis a Bezpe?nost +navbar.sections.advance=Pokro?il +navbar.sections.edit=Prohldnout a Upravit + +############# +# SETTINGS # +############# +settings.title=Nastaven +settings.update=Dostupn aktualizace +settings.updateAvailable={0} je aktuln? nainstalovan verze. Nov verze({1}) je dostupn. +settings.appVersion=Verze Aplikace: +settings.downloadOption.title=Vyberte mo?nost stahovn (Pro stahovn jednoho souboru bez zipu): +settings.downloadOption.1=Otev?t ve stejnm okn? +settings.downloadOption.2=Otev?t v novm okn? +settings.downloadOption.3=Sthnout soubor +settings.zipThreshold=Zazipuj soubory, kdy? p?ekro? po?et sta?ench soubor? +settings.signOut=Odhlsit +settings.accountSettings=Nastaven ?tu +settings.bored.help=Umo??uje hru s easter eggy +settings.cacheInputs.name=Save form inputs +settings.cacheInputs.help=Umo??uje ulo?it d?ve pou?it vstupy pro budouc pou?it + +changeCreds.title=Zm?nit pov??en +changeCreds.header=Aktualizovat Detaily Va?eho ?tu +changeCreds.changePassword=Pou?vte vchoz p?ihla?ovac daje. Prosm zadejte nov heslo +changeCreds.newUsername=Nov U?ivatelsk Jmno +changeCreds.oldPassword=Aktuln Heslo +changeCreds.newPassword=Nov Heslo +changeCreds.confirmNewPassword=Potvrdit Nov Heslo +changeCreds.submit=Potvrdit Zm?ny + + + +account.title=Nastaven ?tu +account.accountSettings=Nastaven ?tu +account.adminSettings=Nastaven admina - Zobrazit a P?idat U?ivatele +account.userControlSettings=User Control Settings U?ivatelsk Nastaven Ovldn +account.changeUsername=Zm?nit U?ivatelsk Jmno +account.newUsername=Nov U?ivatelsk Jmno +account.password=Potvrzovac Heslo +account.oldPassword=Star Heslo +account.newPassword=Nov Heslo +account.changePassword=Zm?nit Heslo +account.confirmNewPassword=Potvrdit Nov Heslo +account.signOut=Odhlsit +account.yourApiKey=V? API Kl? +account.syncTitle=Synchronizovat nastaven prohl?e?e s ?tem +account.settingsCompare=Porovnn Nastaven: +account.property=Majetek +account.webBrowserSettings=Nastaven Webovho Prohl?e?e +account.syncToBrowser=Synchronizovat ?et -> Prohl?e? +account.syncToAccount=Synchronizovat ?et <- Prohl?e? + + +adminUserSettings.title=Nastaven U?ivatelskho Nastaven +adminUserSettings.header=Admin User Control Settings +adminUserSettings.admin=Admin +adminUserSettings.user=U?ivatel +adminUserSettings.addUser=P?idat Novho U?ivatele +adminUserSettings.usernameInfo=U?ivatelsk Jmno m??e obsahovat pouze psmena, ?sla a nsledujc speciln znaky @._+- nebo mus bt sprvn emailov adresa. +adminUserSettings.roles=Role +adminUserSettings.role=Role +adminUserSettings.actions=Akce +adminUserSettings.apiUser=Limitovan API U?ivatel +adminUserSettings.extraApiUser=Dal? Limitovan API U?ivatel +adminUserSettings.webOnlyUser=Pouze Webov U?ivatel +adminUserSettings.demoUser=Demo U?ivatel (?dn vlastn nastaven) +adminUserSettings.internalApiUser=Vnit?n API U?ivatel +adminUserSettings.forceChange=Vynutit u?ivateli zm?nu hesla p?i p?ihl?en +adminUserSettings.submit=Ulo?it U?ivatele +adminUserSettings.changeUserRole=Zmenit Roli U?ivatele +adminUserSettings.authenticated=Ov??eno + +############# +# HOME-PAGE # +############# +home.desc= Va?e lokln? hostovan jednotn kontaktn msto pro v?echny va?e pot?eby ve formtu PDF +home.searchBar=Hledej funkce... + + +home.viewPdf.title=Zobrazit PDF +home.viewPdf.desc=Zobrazit, Opat?it vysv?tlivkami, p?idat text nebo obrzky +viewPdf.tags=zobrazit,p?e?st,opat?it vysv?tlivkami,text,obrzek + +home.multiTool.title=PDF Multifunk?n nstroj +home.multiTool.desc=Slou?it, Rotovat, P?eskupit, a Odstranit strnky +multiTool.tags=Multifunk?n nstroj,Multifunk?n operace,UI,klepnout na p?eta?en,p?edn konec,strana klienta,interaktivn,ne?e?iteln,p?esunout + +home.merge.title=Seskupit +home.merge.desc=Lehce seskupit vce PDF do jednoho +merge.tags=Seskupit,Operace strnky,Zadn konec,Strana serveru + +home.split.title=Rozd?lit +home.split.desc=Rozd?lit PDF do vce dokument? +split.tags=Operace strnky,rozd?lit,Multi strnka,vyjmout,strana serveru + +home.rotate.title=Oto?it +home.rotate.desc=Lehce oto?te svoje PDF +rotate.tags=strana serveru + + +home.imageToPdf.title=Obrzek do PDF +home.imageToPdf.desc=Konvertovat obrzek (PNG, JPEG, GIF) do PDF. +imageToPdf.tags=konverze,img,jpg,obrzek,fotka + +home.pdfToImage.title=PDF na obrzek +home.pdfToImage.desc=Konvertovat PDF na obrzek. (PNG, JPEG, GIF) +pdfToImage.tags=konverze,img,jpg,obrzek,fotka + +home.pdfOrganiser.title=Organizovat +home.pdfOrganiser.desc=Odebrat/P?eskupit strnky v jakmkoli po?ad +pdfOrganiser.tags=dvojit,sud,lich,se?adit,p?esunout + + +home.addImage.title=P?idat obrzek +home.addImage.desc=P?id obrzek na dan msto v PDF +addImage.tags=img,jpg,obrzek,fotka + +home.watermark.title=P?idat vodoznak +home.watermark.desc=P?idat vlastn vodoznak do Va?eho PDF dokumentu. +watermark.tags=Text,opakovn,ozna?en,vlastn,autorsk prva,obchodn znmka,img,jpg,obrzek,fotka + +home.permissions.title=Zm?nit Opravn?n +home.permissions.desc=Zm?nit oprvn?n va?eho PDF dokumentu +permissions.tags=p?e?st,pst,editovat,tisknout + + +home.removePages.title=Odebrat +home.removePages.desc=Odstranit necht?n strnky z Va?eho PDF dokumentu +removePages.tags=Odebrat strnky,Odstranit strnky + +home.addPassword.title=P?idat hesl +home.addPassword.desc=Za?ifrovat V? PDF dokument heslem +addPassword.tags=zabezpe?it,zabezpe?en + +home.removePassword.title=Odebrat heslo +home.removePassword.desc=Odebrat ochranu heslem z Va?eho PDF dokumentu +removePassword.tags=zabezpe?it,de?ifrovat,zabezpe?en,zru?it heslo,odstranit heslo + +home.compressPdfs.title=Komprimovat +home.compressPdfs.desc=Komprimujte soubory PDF, abyste sn?ili jejich velikost +compressPdfs.tags=rozm?knout,mal,drobn + + +home.changeMetadata.title=Zm?nit Metadata +home.changeMetadata.desc=Zm?nit/Odebrat/P?idat metadata z PDF dokumentu +changeMetadata.tags==Nzev,autor,datum,tvorba,?as,vydavatel,vrobce,statistiky + +home.fileToPDF.title=P?evst soubor do PDF +home.fileToPDF.desc=P?evst tm?? jakkoli soubor do PDF (DOCX, PNG, XLS, PPT, TXT a vce) +fileToPDF.tags=prom?na,formt,dokument,obrzek,snmek,text,p?eveden,office,docs,word,excel,powerpoint + +home.ocr.title=OCR / Vy?istit skeny +home.ocr.desc=Vy?istit skeny a detekuje text z obrzk? v rmci PDF a znovu je p?id jako text +ocr.tags=uznn,text,obrzek,sken,p?e?st,identifikovat,detekovat,upraviteln + + +home.extractImages.title=Extrahovat obrzky +home.extractImages.desc=Extrahuje v?echny obrzky z PDF a ulo? je jako zip +extractImages.tags=obrzek,fotka,ulo?it,archivovat,zazipovat,zachytit,popadnout + +home.pdfToPDFA.title=PDF na PDF/A +home.pdfToPDFA.desc=P?evod PDF na PDF/A pro dlouhodob ulo?en +pdfToPDFA.tags=archiv,dlouhodob,standard,konverze,lo?i?t?,zachovn + +home.PDFToWord.title=PDF na Word +home.PDFToWord.desc=P?evod PDF do formt? Wordu (DOC, DOCX a ODT) +PDFToWord.tags=doc,docx,odt,word,transformace,formt,konverze,kancel?,microsoft,docfile + +home.PDFToPresentation.title=PDF na Prezentaci +home.PDFToPresentation.desc=P?evod PDF do formt? prezentace (PPT, PPTX a ODP) +PDFToPresentation.tags=snmky,p?ehled,kancel?,microsoft + +home.PDFToText.title=PDF na RTF (Text) +home.PDFToText.desc=P?evod PDF do formtu Textu nebo RTF +PDFToText.tags=richformat,richtextformat,rich text format + +home.PDFToHTML.title=PDF na HTML +home.PDFToHTML.desc=P?evod PDF do formtu HTML +PDFToHTML.tags=obsah pro web,p?telsk pro prohl?e? + + +home.PDFToXML.title=PDF na XML +home.PDFToXML.desc=P?evod PDF do formtu XML +PDFToXML.tags=extrakce-dat,strukturovan obsah,interop,konverze + +home.ScannerImageSplit.title=Detekce/Rozd?len skenovanch fotografi +home.ScannerImageSplit.desc=Rozd?luje vce fotografi ze skenovan fotografie/PDF +ScannerImageSplit.tags=odd?len,automatick detekce,skeny,vce fotografi,organizace + +home.sign.title=Podpis +home.sign.desc=P?id podpis do PDF kreslenm, textem nebo obrzkem +sign.tags=autorizovat,po?te?n,malovan podpis,textov podpis,obrazov podpis + +home.flatten.title=Zplo?t?n +home.flatten.desc=Odstran ve?ker interaktivn prvky a formul?e z PDF +flatten.tags=statick,deaktivovat,neinteraktivn,zjednodu?it + +home.repair.title=Oprava +home.repair.desc=Pokus se opravit po?kozen/rozbit PDF +repair.tags=opravit,obnovit,korekce,obnoven + +home.removeBlanks.title=Odstranit przdn strnky +home.removeBlanks.desc=Detekuje a odstran przdn strnky z dokumentu +removeBlanks.tags=klid,zjednodu?it,neobsahov,organizovat + +home.removeAnnotations.title=Odstranit poznmky +home.removeAnnotations.desc=Odstran ve?ker koment?e/poznmky z PDF +removeAnnotations.tags=koment?e,zvrazn?n,poznmky,ozna?en,odstranit + +home.compare.title=Porovnat +home.compare.desc=Porovn a uk?e rozdly mezi 2 PDF dokumenty +compare.tags=odli?en,kontrast,zm?ny,analza + +home.certSign.title=Podpis s certifiktem +home.certSign.desc=Podpis PDF s certifiktem/kl?em (PEM/P12) +certSign.tags=autentizace,PEM,P12,oficiln,?ifrovn + +home.pageLayout.title=Vcestrnkov rozlo?en +home.pageLayout.desc=Slou?en vce strnek dokumentu PDF do jedn strnky +pageLayout.tags=slou?it,kompozitn,jedno zobrazen,organizovat + +home.scalePages.title=Upravit velikost/?klu strnky +home.scalePages.desc=Zm?nit velikost/?klu strnky a/nebo jej obsah. +scalePages.tags=zm?nit velikost,upravit,rozm?r,p?izp?sobit + +home.pipeline.title=Potrub (Pokro?il) +home.pipeline.desc=Spustit vce akc na PDF s definic skript? potrub +pipeline.tags=automatizovat,sekvence,skriptovan,dvkov zpracovn + +home.add-page-numbers.title=P?idat ?sla strnek +home.add-page-numbers.desc=P?idat ?sla strnek do dokumentu na ur?enm mst? +add-page-numbers.tags=strnkovat,ozna?it,organizovat,index + +home.auto-rename.title=Automaticky p?ejmenovat PDF soubor +home.auto-rename.desc=Automaticky p?ejmenovat soubor PDF na zklad? detekovan hlavi?ky +auto-rename.tags=automatick rozpoznn,zalo?en na hlavi?ce,organizovat,p?ejmenovat + +home.adjust-contrast.title=Upravit barvy/kontrast +home.adjust-contrast.desc=Upravit kontrast, saturaci a jas dokumentu PDF +adjust-contrast.tags=korekce barev,naladit,upravit,zlep?it + +home.crop.title=O?znout PDF +home.crop.desc=O?znout PDF pro sn?en jeho velikosti (zachovv text!) +crop.tags=?ezat,zmen?it,upravit,tvar + +home.autoSplitPDF.title=Automatick rozd?len strnek +home.autoSplitPDF.desc=Automaticky rozd?lit naskenovan PDF s fyzickm skenerem strnky pomoc QR kdu +autoSplitPDF.tags=zalo?en na QR,odd?lit,scan-segment,organizovat + +home.sanitizePdf.title=Sanitizace +home.sanitizePdf.desc=Odstran?n skript? a dal?ch prvk? z PDF soubor? +sanitizePdf.tags=?istit,zabezpe?it,bezpe?n,odstranit-hrozby + +home.URLToPDF.title=URL/Webov strnka na PDF +home.URLToPDF.desc=P?evd libovolnou http(s) URL adresu na PDF +URLToPDF.tags=chvat-webu,ulo?it-strnku,web-to-doc,archiv + +home.HTMLToPDF.title=HTML na PDF +home.HTMLToPDF.desc=P?evd libovoln HTML soubor nebo zip na PDF +HTMLToPDF.tags=markup,obsah-webu,transformace,konvertovat + + +home.MarkdownToPDF.title=Markdown na PDF +home.MarkdownToPDF.desc=P?evd libovoln soubor Markdown na PDF +MarkdownToPDF.tags=markup,obsah-webu,transformace,konvertovat + + +home.getPdfInfo.title=Zskat V?ECHNY informace o PDF +home.getPdfInfo.desc=Zskn v?ech mo?nch informac o PDF +getPdfInfo.tags=informace,data,statistiky,statistiky + + +home.extractPage.title=Extrahovat strnky +home.extractPage.desc=Extrahuje vybran strnky z PDF +extractPage.tags=extrahovat + + +home.PdfToSinglePage.title=PDF na Jednu Velkou Strnku +home.PdfToSinglePage.desc=Slou? v?echny strnky PDF do jedn velk jedin strnky +PdfToSinglePage.tags=jedna strnka + + +home.showJS.title=Zobrazit JavaScript +home.showJS.desc=Hled a zobrazuje jakkoli JavaScript vlo?en do PDF +showJS.tags=JS + +home.autoRedact.title=Automatick odstran?n +home.autoRedact.desc=Automaticky zakrv text v PDF na zklad? vstupnho textu +autoRedact.tags=Odstranit,Skryt,?ern?,zakrt,zna?ka,skryt + +home.tableExtraxt.title=PDF na CSV +home.tableExtraxt.desc=Extrahuje tabulky z PDF a konvertuje je do formtu CSV +tableExtraxt.tags=CSV,Extrakce tabulky,extrahovat,konvertovat + + +home.autoSizeSplitPDF.title=Automatick rozd?len podle velikosti/po?tu +home.autoSizeSplitPDF.desc=Rozd?l jeden PDF na n?kolik dokument? podle velikosti, po?tu strnek nebo po?tu dokument? +autoSizeSplitPDF.tags=pdf,rozd?lit,dokument,organizace + + +home.overlay-pdfs.title=P?ekrt PDF +home.overlay-pdfs.desc=P?ekrv PDF na jinm PDF +overlay-pdfs.tags=P?ekrt + +home.split-by-sections.title=Rozd?lit PDF na Sekce +home.split-by-sections.desc=Rozd?l ka?dou strnku PDF na men? horizontln a vertikln sekce +split-by-sections.tags=Rozd?len sekce,Rozd?lit,P?izp?sobit + +home.AddStampRequest.title=P?idat raztko do PDF +home.AddStampRequest.desc=P?id textov nebo obrazov raztka na ur?en msta +AddStampRequest.tags=Raztko,P?idat obraz,P?idat text,Vodoznak,PDF,Vlo?it,P?izp?sobit + + +home.PDFToBook.title=PDF na Knihu +home.PDFToBook.desc=P?evd PDF do formt? knih/komiks? pomoc calibre +PDFToBook.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf + +home.BookToPDF.title=Kniha na PDF +home.BookToPDF.desc=P?evd formty 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 + + +########################### +# # +# WEB PAGES # +# # +########################### +#login +login.title=Sign in +login.header=Sign in +login.signin=Sign in +login.rememberme=Remember me +login.invalid=Invalid username or password. +login.locked=Your account has been locked. +login.signinTitle=Please sign in +login.ssoSignIn=Login via Single Sign-on +login.oauth2AutoCreateDisabled=OAUTH2 Auto-Create User Disabled + + +#auto-redact +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.colorLabel=Colour +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + +#showJS +showJS.title=Show Javascript +showJS.header=Show Javascript +showJS.downloadJS=Download Javascript +showJS.submit=Show + + +#pdfToSinglePage +pdfToSinglePage.title=PDF na jednu strnku +pdfToSinglePage.header=PDF na jednu strnku +pdfToSinglePage.submit=P?evst na jednu strnku + + +#pageExtracter +pageExtracter.title=Extrahovat strnky +pageExtracter.header=Extrahovat strnky +pageExtracter.submit=Extrahovat +pageExtracter.placeholder=(nap?. 1,2,8 nebo 4,7,12-16 nebo 2n-1) + + +#getPdfInfo +getPdfInfo.title=Zskat informace o PDF +getPdfInfo.header=Zskat informace o PDF +getPdfInfo.submit=Zskat informace +getPdfInfo.downloadJson=Sthnout JSON + + +#markdown-to-pdf +MarkdownToPDF.title=Markdown na PDF +MarkdownToPDF.header=Markdown na PDF +MarkdownToPDF.submit=P?evst +MarkdownToPDF.help=Prce v pr?b?hu +MarkdownToPDF.credit=Vyu?v WeasyPrint + + + +#url-to-pdf +URLToPDF.title=URL na PDF +URLToPDF.header=URL na PDF +URLToPDF.submit=P?evst +URLToPDF.credit=Vyu?v WeasyPrint + + +#html-to-pdf +HTMLToPDF.title=HTML na PDF +HTMLToPDF.header=HTML na PDF +HTMLToPDF.help=P?ijm soubory HTML a ZIPy obsahujc html/css/obrzky atd. +HTMLToPDF.submit=P?evst +HTMLToPDF.credit=Vyu?v WeasyPrint +HTMLToPDF.zoom=rove? zv?t?en pro zobrazen webov strnky. +HTMLToPDF.pageWidth=??ka strnky v centimetrech. (Przdn pro vchoz) +HTMLToPDF.pageHeight=V?ka strnky v centimetrech. (Przdn pro vchoz) +HTMLToPDF.marginTop=Horn okraj strnky v milimetrech. (Przdn pro vchoz) +HTMLToPDF.marginBottom=Doln okraj strnky v milimetrech. (Przdn pro vchoz) +HTMLToPDF.marginLeft=Lev okraj strnky v milimetrech. (Przdn pro vchoz) +HTMLToPDF.marginRight=Prav okraj strnky v milimetrech. (Przdn pro vchoz) +HTMLToPDF.printBackground=Zobrazit pozad webovch strnek. +HTMLToPDF.defaultHeader=Povolit vchoz zhlav (nzev a ?slo strnky) +HTMLToPDF.cssMediaType=Zm?nit typ mdi CSS strnky. +HTMLToPDF.none=?dn +HTMLToPDF.print=Tisk +HTMLToPDF.screen=Obrazovka + + +#AddStampRequest +AddStampRequest.header=Raztko PDF +AddStampRequest.title=Raztko PDF +AddStampRequest.stampType=Typ raztka +AddStampRequest.stampText=Text raztka +AddStampRequest.stampImage=Obrzek raztka +AddStampRequest.alphabet=Abeceda +AddStampRequest.fontSize=Velikost psma/obrzku +AddStampRequest.rotation=Oto?en +AddStampRequest.opacity=Pr?hlednost +AddStampRequest.position=Pozice +AddStampRequest.overrideX=P?epsat sou?adnici X +AddStampRequest.overrideY=P?epsat sou?adnici Y +AddStampRequest.customMargin=Vlastn okraj +AddStampRequest.customColor=Vlastn barva textu +AddStampRequest.submit=Odeslat + + +#sanitizePDF +sanitizePDF.title=Sanitizace PDF +sanitizePDF.header=Sanitizace PDF souboru +sanitizePDF.selectText.1=Odstranit akce JavaScriptu +sanitizePDF.selectText.2=Odstranit vlo?en soubory +sanitizePDF.selectText.3=Odstranit metadata +sanitizePDF.selectText.4=Odstranit odkazy +sanitizePDF.selectText.5=Odstranit psma +sanitizePDF.submit=Sanitizovat PDF + + +#addPageNumbers +addPageNumbers.title=P?idat ?sla strnek +addPageNumbers.header=P?idat ?sla strnek +addPageNumbers.selectText.1=Vyberte soubor PDF: +addPageNumbers.selectText.2=Velikost okraje +addPageNumbers.selectText.3=Pozice +addPageNumbers.selectText.4=Po?te?n ?slo +addPageNumbers.selectText.5=Strnky k ?slovn +addPageNumbers.selectText.6=Vlastn text +addPageNumbers.customTextDesc=Vlastn text +addPageNumbers.numberPagesDesc=Kter strnky ?slovat, vchoz je 'v?e', p?ijm tak 1-5 nebo 2,5,9 atd. +addPageNumbers.customNumberDesc=Vchoz je {n}, p?ijm tak 'Strnka {n} z {celkem}', 'Text-{n}', '{n} - {n} +addPageNumbers.submit=P?idat ?sla strnek + + +#auto-rename +auto-rename.title=Automatick p?ejmenovn +auto-rename.header=Automatick p?ejmenovn PDF +auto-rename.submit=Automaticky p?ejmenovat + + +#adjustContrast +adjustContrast.title=Upravit kontrast +adjustContrast.header=Upravit kontrast +adjustContrast.contrast=Kontrast: +adjustContrast.brightness=Jas: +adjustContrast.saturation=Saturace: +adjustContrast.download=Sthnout + + +#crop +crop.title=O?znout +crop.header=O?znout obrzek +crop.submit=Odeslat + + +#autoSplitPDF +autoSplitPDF.title=Automatick rozd?len PDF +autoSplitPDF.header=Automatick rozd?len PDF +autoSplitPDF.description=Tiskn?te, vlo?te, naskenujte, nahrajte a nechte ns automaticky odd?lit va?e dokumenty. Nevy?aduje manuln t?d?n. +autoSplitPDF.selectText.1=Vytiskn?te n?kolik odd?lova?? ze seznamu n?e +autoSplitPDF.selectText.2=Naskenujte v?echny va?e dokumenty najednou s pou?itm odd?lovac strnky mezi n?. +autoSplitPDF.selectText.3=Nahrajte jeden velk naskenovan PDF soubor a nechte StirlingPDF vy?e?it v?e ostatn. +autoSplitPDF.selectText.4=Odd?lovac strnky jsou automaticky detekovny a odstran?ny, co? zaru?uje hledn finln dokument. +autoSplitPDF.formPrompt=Vyberte PDF soubor obsahujc odd?lova?e: +autoSplitPDF.duplexMode=Oboustrann re?im (Skenovn z obou stran) +autoSplitPDF.dividerDownload1=Sthnout 'Automatick odd?lova? minimln.pdf' +autoSplitPDF.dividerDownload2=Sthnout 'Automatick odd?lova? (v?.instrukc).pdf' +autoSplitPDF.submit=Odeslat + + +#pipeline +pipeline.title=Pipeline + + +#pageLayout +pageLayout.title=Vcestrnkov rozvr?en +pageLayout.header=Vcestrnkov rozvr?en +pageLayout.pagesPerSheet=Strnek na list: +pageLayout.addBorder=P?idat rme?ky +pageLayout.submit=Odeslat + + +#scalePages +scalePages.title=Upravit m??tko strnky +scalePages.header=Upravit m??tko strnky +scalePages.pageSize=Velikost strnky dokumentu. +scalePages.scaleFactor=rove? p?ibl?en (o?znut) strnky. +scalePages.submit=Odeslat + + +#certSign +certSign.title=Podepisovn certifiktem +certSign.header=Podepsat PDF soubor s certifiktem (Probh vvoj) +certSign.selectPDF=Vyberte PDF soubor k podpisu: +certSign.jksNote=Poznmka: Pokud typ va?eho certifiktu nen na seznamu n?e, prosm, p?eve?te ho na typ Java Keystore (.jks) pou?itm keytool command line tool. Pot vyberte .jks jako typ certifiktu. +certSign.selectKey=Vyberte v? soubor s privtnm kl?em (formt PKCS#8, m??e bt .pem nebo .der): +certSign.selectCert=Vyberte v? soubor s certifiktem (X.509 formt, m??e bt .pem or .der): +certSign.selectP12=Vyberte v? soubor s PKCS#12 Keystore (.p12 nebo .pfx) (Voliteln, m?l by obsahovat v? privtn kl? a certifikt): +certSign.selectJKS=Vyberte v? Java Keystore soubor (.jks nebo .keystore): +certSign.certType=Typ certifiktu +certSign.password=Zadejte heslo k va?emu privtnmu kl?i (pokud je zaheslovan): +certSign.showSig=Ukzat podpis +certSign.reason=D?vod +certSign.location=Umst?n +certSign.name=Nzev +certSign.submit=Podepsat PDF + + +#removeBlanks +removeBlanks.title=Odebrat przdn strnky +removeBlanks.header=Odebrat przdn strnky +removeBlanks.threshold=Prh b?losti pixel?: +removeBlanks.thresholdDesc=Prh pro zji?t?n jak bl mus bt bl pixel aby byl klasifikovn jako 'bl'. 0 = ?ern, 255 = ?ist? bl. +removeBlanks.whitePercent=Procenta b?losti (%): +removeBlanks.whitePercentDesc=Procenta, kolik pixel? na strnce mus bt blch aby byla odstran?na. +removeBlanks.submit=Odebrat + + +#removeAnnotations +removeAnnotations.title=Odebrat anotace +removeAnnotations.header=Odebrat anotace +removeAnnotations.submit=Odebrat + + +#compare +compare.title=Porovnat +compare.header=Porovnat PDF +compare.document.1=Dokument 1 +compare.document.2=Dokument 2 +compare.submit=Porovnat + +#BookToPDF +BookToPDF.title=Knihy a komiksy do PDF +BookToPDF.header=Knihy do PDF +BookToPDF.credit=Vyu?v Calibre +BookToPDF.submit=P?evst + +#PDFToBook +PDFToBook.title=PDF na knihu +PDFToBook.header=PDF na knihu +PDFToBook.selectText.1=Formt +PDFToBook.credit=Vyu?v Calibre +PDFToBook.submit=P?evst + +#sign +sign.title=Podpis +sign.header=Podpis PDF +sign.upload=Nahrt obrzek +sign.draw=Nakreslit podpis +sign.text=Vstup textu +sign.clear=Vymazat +sign.add=P?idat + + +#repair +repair.title=Opravit +repair.header=Opravit PDF +repair.submit=Opravit + + +#flatten +flatten.title=Zplo?tit +flatten.header=Zplo?tit PDF +flatten.flattenOnlyForms=Zplo?tit pouze formul?e +flatten.submit=Zplo?tit + + +#ScannerImageSplit +ScannerImageSplit.selectText.1=Prh hlu: +ScannerImageSplit.selectText.2=Nastav minimln absolutn hel, kter je vy?adovn k oto?en obrzku (vchoz: 10). +ScannerImageSplit.selectText.3=Tolerance: +ScannerImageSplit.selectText.4=Ur?uje rozsah barevn variace kolem odhadovan barvy pozad (vchoz: 30). +ScannerImageSplit.selectText.5=Minimln plocha: +ScannerImageSplit.selectText.6=Nastav minimln plo?n prah pro fotografii (vchoz: 10000). +ScannerImageSplit.selectText.7=Minimln plocha kontury: +ScannerImageSplit.selectText.8=Nastav minimln plo?n prah kontury pro fotografii +ScannerImageSplit.selectText.9=Velikost okraje: +ScannerImageSplit.selectText.10=Nastav velikost okraje p?idanho a odebranho k zabrn?n blch ohrani?en ve vstupu (vchoz: 1). + + +#OCR +ocr.title=OCR / prava sken? +ocr.header=prava sken? / OCR (Optick rozpoznvn znak?) +ocr.selectText.1=Vyberte jazyky, kter maj bt detekovny ve formtu PDF (Aktuln? detekovan): +ocr.selectText.2=Vytvo?it textov soubor obsahujc text OCR spolu s PDF s OCR +ocr.selectText.3=Opraveny jsou strnky naskenovny pod ?ikmm hlem tm, ?e jsou zp?tn? oto?eny na msto +ocr.selectText.4=O?istit strnku, aby bylo mn? pravd?podobn, ?e OCR najde text ve zvukovm ?umu. (?dn zm?na vstupu) +ocr.selectText.5=O?istit strnku, aby bylo mn? pravd?podobn, ?e OCR najde text ve zvukovm ?umu, udr?uje ?istotu vstupu. +ocr.selectText.6=Ignorovat strnky, kter obsahuj interaktivn text, provd pouze OCR na strnkch, kter jsou obrzky +ocr.selectText.7=Vynutit OCR, provede OCR na ka?d strnce a odeber ve?ker p?vodn textov prvky +ocr.selectText.8=Normln (Chyba, pokud PDF obsahuje text) +ocr.selectText.9=Dal? nastaven +ocr.selectText.10=Re?im OCR +ocr.selectText.11=Odstranit obrzky po OCR (Odstran V?ECHNY obrzky, u?ite?n pouze jako sou?st kroku konverze) +ocr.selectText.12=Typ vykreslen (Pokro?il) +ocr.help=Prosm, p?e?t?te si tuto dokumentaci o pou?it pro jin jazyky a/nebo pou?it mimo Docker +ocr.credit=Tato slu?ba pou?v OCRmyPDF a Tesseract pro OCR. +ocr.submit=Zpracovat PDF s OCR + + +#extractImages +extractImages.title=Extrahovat obrzky +extractImages.header=Extrahovat obrzky +extractImages.selectText=Vyberte formt obrzku pro extrahovan obrzky +extractImages.submit=Extrahovat + + +#File to PDF +fileToPDF.title=Soubor na PDF +fileToPDF.header=P?evst jakkoli soubor na PDF +fileToPDF.credit=Tato slu?ba pou?v LibreOffice a Unoconv pro konverzi soubor?. +fileToPDF.supportedFileTypesInfo=Podporovan typy soubor? +fileToPDF.supportedFileTypes=Podporovan typy soubor? by m?ly zahrnovat n?e uveden, av?ak pro pln aktualizovan seznam podporovanch formt? se obra?te na dokumentaci LibreOffice. +fileToPDF.submit=P?evst na PDF + + +#compress +compress.title=Komprese +compress.header=Komprimovat PDF +compress.credit=Tato slu?ba pou?v Ghostscript pro kompresi/optimalizaci PDF. +compress.selectText.1=Ru?n re?im - Od 1 do 4 +compress.selectText.2=rove? optimalizace: +compress.selectText.3=4 (Hrozn pro textov obrzky) +compress.selectText.4=Automatick re?im - Automaticky upravuje kvalitu pro dosa?en p?esn velikosti PDF +compress.selectText.5=O?ekvan velikost PDF (nap?. 25 MB, 10,8 MB, 25 KB) +compress.submit=Komprimovat + + +#Add image +addImage.title=P?idat obrzek +addImage.header=P?idat obrzek do PDF +addImage.everyPage=Ka?d strnka? +addImage.upload=P?idat obrzek +addImage.submit=P?idat obrzek + + +#merge +merge.title=Slou?it +merge.header=Slou?it vce PDF (2+) +merge.sortByName=Se?adit podle nzvu +merge.sortByDate=Se?adit podle data +merge.submit=Slou?it + + +#pdfOrganiser +pdfOrganiser.title=Organizr strnek +pdfOrganiser.header=Organizr strnek PDF +pdfOrganiser.submit=P?euspo?dat strnky +pdfOrganiser.mode=Md +pdfOrganiser.mode.1=Vlastn po?ad strnek +pdfOrganiser.mode.2=Obrcen po?ad +pdfOrganiser.mode.3=Duplexn ?azen +pdfOrganiser.mode.4=?azen do bro?ury +pdfOrganiser.mode.5=?azen do bo?n bro?ury +pdfOrganiser.mode.6=Lich-Sud rozd?len +pdfOrganiser.mode.7=Odstranit prvn +pdfOrganiser.mode.8=Odstranit posledn +pdfOrganiser.mode.9=Odstranit prvn a posledn +pdfOrganiser.placeholder=(nap?. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1) + + +#multiTool +multiTool.title=Vcefunk?n nstroj pro PDF +multiTool.header=Vcefunk?n nstroj pro PDF +multiTool.uploadPrompts=Nzev souboru + +#view pdf +viewPdf.title=Zobrazit PDF +viewPdf.header=Zobrazit PDF + +#pageRemover +pageRemover.title=Odstran?n strnek +pageRemover.header=Odstran?n strnek z PDF +pageRemover.pagesToDelete=Strnky k odstran?n (Zadejte ?rkami odd?len seznam ?sel strnek) : +pageRemover.submit=Odstranit strnky +pageRemover.placeholder=(nap?. 1,2,6 nebo 1-10,15-30) + + +#rotate +rotate.title=Oto?it PDF +rotate.header=Oto?it PDF +rotate.selectAngle=Vyberte hel oto?en (v nsobcch 90 stup??): +rotate.submit=Oto?it + + +#split-pdfs +split.title=Rozd?lit PDF +split.header=Rozd?lit PDF +split.desc.1=?sla, kter vyberete, jsou ?slo strnky, na kter chcete provst rozd?len +split.desc.2=Jako takov vb?r 1,3,7-9 by rozd?lil 10strnkov dokument na 6 samostatnch PDF soubor? s: +split.desc.3=Dokument ?. 1: Strnka 1 +split.desc.4=Dokument ?. 2: Strnky 2 a 3 +split.desc.5=Dokument ?. 3: Strnky 4, 5, 6 a 7 +split.desc.6=Dokument ?. 4: Strnka 8 +split.desc.7=Dokument ?. 5: Strnka 9 +split.desc.8=Dokument ?. 6: Strnka 10 +split.splitPages=Zadejte strnky, na kter se m rozd?lit: +split.submit=Rozd?lit + + +#merge +imageToPDF.title=Obrzek na PDF +imageToPDF.header=Obrzek na PDF +imageToPDF.submit=P?evst +imageToPDF.selectLabel=Mo?nosti p?izp?soben obrzku +imageToPDF.fillPage=Vyplnit strnku +imageToPDF.fitDocumentToImage=P?izp?sobit strnku obrzku +imageToPDF.maintainAspectRatio=Zachovat pom?r stran +imageToPDF.selectText.2=Automaticky oto?it PDF +imageToPDF.selectText.3=Vce soubor? (Pouze pokud je vlo?eno vce obrzk?) +imageToPDF.selectText.4=Slou?it do jednoho PDF +imageToPDF.selectText.5=Rozd?lit na jednotliv PDF soubory + + +#pdfToImage +pdfToImage.title=PDF na obrzek +pdfToImage.header=PDF na obrzek +pdfToImage.selectText=Formt obrzku +pdfToImage.singleOrMultiple=Typ vsledku strnky na obrzek +pdfToImage.single=Jeden velk obrzek spojujc v?echny strnky +pdfToImage.multi=Vce obrzk?, jeden obrzek na strnku +pdfToImage.colorType=Typ barev +pdfToImage.color=Barevn +pdfToImage.grey=Stupn? ?edi +pdfToImage.blackwhite=?ernobl (M??e dojt k ztrt? dat!) +pdfToImage.submit=P?evst + + +#addPassword +addPassword.title=P?idat heslo +addPassword.header=P?idat heslo (?ifrovat) +addPassword.selectText.1=Vyberte PDF k ?ifrovn +addPassword.selectText.2=U?ivatelsk heslo +addPassword.selectText.3=Dlka ?ifrovacho kl?e +addPassword.selectText.4=Vy?? hodnoty jsou siln?j?, ale ni?? hodnoty maj lep? kompatibilitu. +addPassword.selectText.5=Povolen oprvn?n (Doporu?uje se pou?vat spole?n? s heslem vlastnka) +addPassword.selectText.6=Zabra?te sestaven dokumentu +addPassword.selectText.7=Zabrnit extrakci obsahu +addPassword.selectText.8=Zabra?te extrakci pro p?stupnost +addPassword.selectText.9=Zabrnit vypl?ovn formul?e +addPassword.selectText.10=Zabra?te pravm +addPassword.selectText.11=Zabrnit prav? poznmek +addPassword.selectText.12=Zabrnit tisku +addPassword.selectText.13=Zabrnit tisku r?znch formt? +addPassword.selectText.14=Heslo vlastnka +addPassword.selectText.15=Omez, co lze s dokumentem provd?t po jeho otev?en (Nen podporovno v?emi ?te?kami) +addPassword.selectText.16=Omez samotn otev?en dokumentu +addPassword.submit=?ifrovat + + +#watermark +watermark.title=P?idat vodoznak +watermark.header=P?idat vodoznak +watermark.selectText.1=Vyberte PDF, ke ktermu chcete p?idat vodoznak: +watermark.selectText.2=Text vodoznaku: +watermark.selectText.3=Velikost psma: +watermark.selectText.4=Rotace (0-360): +watermark.selectText.5=??ka mezery (Mezera mezi ka?dm vodoznakem vodorovn?): +watermark.selectText.6=V?ka mezery (Mezera mezi ka?dm vodoznakem svisle): +watermark.selectText.7=Pr?hlednost (0% - 100%): +watermark.selectText.8=Typ vodoznaku: +watermark.selectText.9=Obrzek vodoznaku: +watermark.submit=P?idat vodoznak +watermark.type.1=Text +watermark.type.2=Obrzek + + +#Change permissions +permissions.title=Zm?nit oprvn?n +permissions.header=Zm?nit oprvn?n +permissions.warning=Upozorn?n: Chcete-li mt tato oprvn?n nezm?niteln, doporu?uje se je nastavit heslem prost?ednictvm strnky P?idat heslo. +permissions.selectText.1=Vyberte PDF ke zm?n? oprvn?n +permissions.selectText.2=Oprvn?n k nastaven +permissions.selectText.3=Zabrnit sestaven dokumentu +permissions.selectText.4=Zabrnit extrakci obsahu +permissions.selectText.5=Zabrnit extrakci pro p?stupnost +permissions.selectText.6=Zabrnit vypl?ovn formul?e +permissions.selectText.7=Zabrnit pravm +permissions.selectText.8=Zabrnit prav? poznmek +permissions.selectText.9=Zabrnit tisku +permissions.selectText.10=Zabrnit tisku r?znch formt? +permissions.submit=Zm?nit + + +#remove password +removePassword.title=Odstranit heslo +removePassword.header=Odstranit heslo (De?ifrovat) +removePassword.selectText.1=Vyberte PDF k de?ifrovn +removePassword.selectText.2=Heslo +removePassword.submit=Odstranit + + +#changeMetadata +changeMetadata.title=Zm?nit metadat +changeMetadata.header=Zm?nit metadat +changeMetadata.selectText.1=Upravte prom?nn, kter chcete zm?nit +changeMetadata.selectText.2=Smazat v?echna metadata +changeMetadata.selectText.3=Zobrazit vlastn metadata: +changeMetadata.author=Autor: +changeMetadata.creationDate=Datum vytvo?en (rrrr/MM/dd HH:mm:ss): +changeMetadata.creator=Tv?rce: +changeMetadata.keywords=Kl?ov slova: +changeMetadata.modDate=Datum pravy (rrrr/MM/dd HH:mm:ss): +changeMetadata.producer=Producent: +changeMetadata.subject=P?edm?t: +changeMetadata.trapped=Zabran: +changeMetadata.selectText.4=Ostatn metadata: +changeMetadata.selectText.5=P?idat vlastn polo?ku metadata +changeMetadata.submit=Zm?nit + + +#pdfToPDFA +pdfToPDFA.title=PDF na PDF/A +pdfToPDFA.header=PDF na PDF/A +pdfToPDFA.credit=Tato slu?ba pou?v OCRmyPDF pro konverzi do formtu PDF/A +pdfToPDFA.submit=P?evst +pdfToPDFA.tip=V sou?asn dob? nepracuje pro vce vstup? najednou +pdfToPDFA.outputFormat=Vstupn formt + + +#PDFToWord +PDFToWord.title=PDF do Wordu +PDFToWord.header=PDF do Wordu +PDFToWord.selectText.1=Formt vstupnho souboru +PDFToWord.credit=Tato slu?ba pou?v LibreOffice pro konverzi soubor?. +PDFToWord.submit=P?evst + + +#PDFToPresentation +PDFToPresentation.title=PDF na prezentaci +PDFToPresentation.header=PDF na prezentaci +PDFToPresentation.selectText.1=Formt vstupnho souboru +PDFToPresentation.credit=Tato slu?ba pou?v LibreOffice pro konverzi soubor?. +PDFToPresentation.submit=P?evst + + +#PDFToText +PDFToText.title=PDF na RTF (Text) +PDFToText.header=PDF na RTF (Text) +PDFToText.selectText.1=Formt vstupnho souboru +PDFToText.credit=Tato slu?ba pou?v LibreOffice pro konverzi soubor?. +PDFToText.submit=P?evst + + +#PDFToHTML +PDFToHTML.title=PDF na HTML +PDFToHTML.header=PDF na HTML +PDFToHTML.credit=Tato slu?ba pou?v pdftohtml pro konverzi soubor?. +PDFToHTML.submit=P?evst + + +#PDFToXML +PDFToXML.title=PDF na XML +PDFToXML.header=PDF na XML +PDFToXML.credit=Tato slu?ba pou?v LibreOffice pro konverzi soubor?. +PDFToXML.submit=P?evst + +#PDFToCSV +PDFToCSV.title=PDF na CSV +PDFToCSV.header=PDF na CSV +PDFToCSV.prompt=Vyberte strnku pro extrakci tabulky +PDFToCSV.submit=Extrahovat + +#split-by-size-or-count +split-by-size-or-count.title=Rozd?lit PDF podle velikosti nebo po?tu +split-by-size-or-count.header=Rozd?lit PDF podle velikosti nebo po?tu +split-by-size-or-count.type.label=Vyberte typ rozd?len +split-by-size-or-count.type.size=Podle velikosti +split-by-size-or-count.type.pageCount=Podle po?tu strnek +split-by-size-or-count.type.docCount=Podle po?tu dokument? +split-by-size-or-count.value.label=Zadejte hodnotu +split-by-size-or-count.value.placeholder=Zadejte velikost (nap?. 2 MB nebo 3 KB) nebo po?et (nap?. 5) +split-by-size-or-count.submit=Odeslat + + +#overlay-pdfs +overlay-pdfs.header=P?ekrt soubory PDF +overlay-pdfs.baseFile.label=Vyberte zkladn soubor PDF +overlay-pdfs.overlayFiles.label=Vyberte soubory PDF pro p?ekryt +overlay-pdfs.mode.label=Vyberte re?im p?ekryt +overlay-pdfs.mode.sequential=Postupn p?ekryt +overlay-pdfs.mode.interleaved=St?dav p?ekryt +overlay-pdfs.mode.fixedRepeat=Pevn opakovn p?ekryt +overlay-pdfs.counts.label=P?ekryt po?et (pro re?im pevnho opakovn) +overlay-pdfs.counts.placeholder=Zadejte po?ty odd?len ?rkami (nap?. 2,3,1) +overlay-pdfs.position.label=Vyberte pozici p?ekryt +overlay-pdfs.position.foreground=P?edn pln +overlay-pdfs.position.background=Pozad +overlay-pdfs.submit=Odeslat + + +#split-by-sections +split-by-sections.title=Rozd?lit PDF podle sekc +split-by-sections.header=Rozd?lit PDF do sekc +split-by-sections.horizontal.label=Horizontln d?len +split-by-sections.vertical.label=Vertikln d?len +split-by-sections.horizontal.placeholder=Zadejte po?et horizontlnch d?len +split-by-sections.vertical.placeholder=Zadejte po?et vertiklnch d?len +split-by-sections.submit=Rozd?lit PDF +split-by-sections.merge=Slou?it do jednoho PDF + + +#printFile +printFile.title=Tisk souboru +printFile.header=Tisknout soubor na tiskrnu +printFile.selectText.1=Vyberte soubor k tisku +printFile.selectText.2=Zadejte nzev tiskrny +printFile.submit=Tisknout + + +#licenses +licenses.nav=License +licenses.title=Licence t?etch stran +licenses.header=Licence t?etch stran +licenses.module=Modul +licenses.version=Verze +licenses.license=Licence + + +#error +error.sorry=Omlouvme se za pot?e! +error.needHelp=Pot?ebujete pomoc / Na?li jste problm? +error.contactTip=Pokud stle mte pot?e, nevhejte ns kontaktovat o pomoc. M??ete nm odeslat po?adavek na na? strnce na GitHubu nebo ns kontaktovat p?es Discord: +error.404.head=404 - Strnka nebyla nalezena | Oops, zakopli jsme v kdu! +error.404.1=Neda? se nm najt strnku, kterou hledte. +error.404.2=N?co se nepovedlo +error.github=Odeslat po?adavek na GitHubu +error.showStack=Zobrazit stopu zsobnku +error.copyStack=Koprovat stopu zsobnku +error.githubSubmit=GitHub - Odeslat po?adavek +error.discordSubmit=Discord - Odeslat p?sp?vek podpory + diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 75357694..26afdb0e 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -17,7 +17,7 @@ true=Vrai false=Faux unknown=Inconnu save=Enregistrer -saveToBrowser=Save to Browser +saveToBrowser=Enregistrer dans le navigateur close=Fermer filesSelected=fichiers sélectionnés noFavourites=Aucun favori ajouté @@ -57,10 +57,10 @@ usernameExistsMessage=Le nouveau nom d’utilisateur existe déjà. 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. deleteCurrentUserMessage=Impossible de supprimer l’utilisateur actuellement connecté. 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. downgradeCurrentUserLongMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché. -userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. -userAlreadyExistsWebMessage=The user already exists as an web user. +userAlreadyExistsOAuthMessage=L'utilisateur existe déjà en tant qu'utilisateur OAuth2. +userAlreadyExistsWebMessage=L'utilisateur existe déjà en tant qu'utilisateur Web. error=Erreur oops=Oups ! help=Aide @@ -105,25 +105,25 @@ pipelineOptions.validateButton=Valider ############# # NAVBAR # ############# -navbar.favorite=Favorites +navbar.favorite=Favoris navbar.darkmode=Mode sombre -navbar.language=Languages +navbar.language=Langages navbar.settings=Paramètres -navbar.allTools=Tools -navbar.multiTool=Multi Tools -navbar.sections.organize=Organize -navbar.sections.convertTo=Convert to PDF -navbar.sections.convertFrom=Convert from PDF -navbar.sections.security=Sign & Security -navbar.sections.advance=Advanced -navbar.sections.edit=View & Edit +navbar.allTools=OUtils +navbar.multiTool=Multi Outils +navbar.sections.organize=Oragnisation +navbar.sections.convertTo=Convertir en PDF +navbar.sections.convertFrom=Convertir depuis PDF +navbar.sections.security=Signalisation et sécurité +navbar.sections.advance=Mode avancé +navbar.sections.edit=Voir la modification ############# # SETTINGS # ############# settings.title=Paramètres settings.update=Mise à jour disponible -settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. +settings.updateAvailable={0} est la version actuellement installée. Une nouvelle version ({1}) est disponible. settings.appVersion=Version de l’application : 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 @@ -133,8 +133,8 @@ settings.zipThreshold=Compresser les fichiers en ZIP lorsque le nombre de fichie settings.signOut=Déconnexion settings.accountSettings=Paramètres du compte settings.bored.help=Enables easter egg game -settings.cacheInputs.name=Save form inputs -settings.cacheInputs.help=Enable to store previously used inputs for future runs +settings.cacheInputs.name=Sauvegarder les entrées du formulaire +settings.cacheInputs.help=Permet de stocker les entrées précédemment utilisées pour les exécutions futures changeCreds.title=Modifiez vos identifiants changeCreds.header=Mettez à jour vos identifiants de connexion @@ -185,7 +185,7 @@ adminUserSettings.internalApiUser=Internal API User adminUserSettings.forceChange=Forcer l’utilisateur à changer son nom d’utilisateur/mot de passe lors de la connexion adminUserSettings.submit=Ajouter adminUserSettings.changeUserRole=Changer le rôle de l'utilisateur -adminUserSettings.authenticated=Authenticated +adminUserSettings.authenticated=Authentifié ############# # HOME-PAGE # @@ -429,11 +429,11 @@ AddStampRequest.tags=Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,E home.PDFToBook.title=PDF to Book -home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre +home.PDFToBook.desc=Convertit le PDF en formats livre/bande dessinée à l'aide de calibre PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle home.BookToPDF.title=Book to PDF -home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre +home.BookToPDF.desc=Convertit les formats de livres/bandes dessinées en PDF à l'aide de calibre BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle @@ -675,15 +675,15 @@ compare.submit=Comparer #BookToPDF BookToPDF.title=Books and Comics to PDF BookToPDF.header=Book to PDF -BookToPDF.credit=Uses Calibre -BookToPDF.submit=Convert +BookToPDF.credit=Utiliser Calibre +BookToPDF.submit=Convertir #PDFToBook PDFToBook.title=PDF to Book PDFToBook.header=PDF to Book PDFToBook.selectText.1=Format -PDFToBook.credit=Uses Calibre -PDFToBook.submit=Convert +PDFToBook.credit=Utiliser Calibre +PDFToBook.submit=Convertir #sign sign.title=Signer @@ -704,7 +704,7 @@ repair.submit=Réparer #flatten flatten.title=Rendre inerte flatten.header=Rendre inerte -flatten.flattenOnlyForms=Flatten only forms +flatten.flattenOnlyForms=Aplatir uniquement les formulaires flatten.submit=Rendre inerte @@ -752,7 +752,7 @@ extractImages.submit=Extraire fileToPDF.title=Fichier en PDF fileToPDF.header=Convertir un fichier en PDF fileToPDF.credit=Ce service utilise LibreOffice et Unoconv pour la conversion de fichiers. -fileToPDF.supportedFileTypesInfo=Supported File types +fileToPDF.supportedFileTypesInfo=Types de fichiers pris en charge fileToPDF.supportedFileTypes=Les types de fichiers pris en charge doivent inclure les éléments ci-dessous, mais pour une liste complète et mise à jour des formats pris en charge, veuillez vous reporter à la documentation de LibreOffice. fileToPDF.submit=Convertir @@ -790,22 +790,22 @@ pdfOrganiser.title=Organiser pdfOrganiser.header=Organiser les pages pdfOrganiser.submit=Organiser pdfOrganiser.mode=Mode -pdfOrganiser.mode.1=Custom Page Order -pdfOrganiser.mode.2=Reverse Order -pdfOrganiser.mode.3=Duplex Sort -pdfOrganiser.mode.4=Booklet Sort -pdfOrganiser.mode.5=Side Stitch Booklet Sort -pdfOrganiser.mode.6=Odd-Even Split -pdfOrganiser.mode.7=Remove First -pdfOrganiser.mode.8=Remove Last -pdfOrganiser.mode.9=Remove First and Last +pdfOrganiser.mode.1=Ordre des pages personnalisé +pdfOrganiser.mode.2=Ordre inverse +pdfOrganiser.mode.3=Tri recto verso +pdfOrganiser.mode.4=Tri des livrets +pdfOrganiser.mode.5=Tri de livrets à points latéraux +pdfOrganiser.mode.6=Partage impair-pair +pdfOrganiser.mode.7=Supprimer le premier +pdfOrganiser.mode.8=Supprimer le dernier +pdfOrganiser.mode.9=Supprimer le premier et le dernier pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) #multiTool multiTool.title=Outil multifonction PDF multiTool.header=Outil multifonction PDF -multiTool.uploadPrompts=File Name +multiTool.uploadPrompts=Nom du fichier #view pdf viewPdf.title=Visualiser un PDF @@ -957,8 +957,8 @@ pdfToPDFA.title=PDF en PDF/A pdfToPDFA.header=PDF en PDF/A pdfToPDFA.credit=Ce service utilise OCRmyPDF pour la conversion en PDF/A. pdfToPDFA.submit=Convertir -pdfToPDFA.tip=Currently does not work for multiple inputs at once -pdfToPDFA.outputFormat=Output format +pdfToPDFA.tip=Ne fonctionne actuellement pas pour plusieurs entrées à la fois +pdfToPDFA.outputFormat=Format de sortie #PDFToWord @@ -1044,11 +1044,11 @@ split-by-sections.merge=Fusionner en un seul PDF #printFile -printFile.title=Print File -printFile.header=Print File to Printer -printFile.selectText.1=Select File to Print -printFile.selectText.2=Enter Printer Name -printFile.submit=Print +printFile.title=Imprimer le fichier +printFile.header=Imprimer le fichier sur l'imprimante +printFile.selectText.1=Sélectionner le fichier à imprimer +printFile.selectText.2=Entrez le nom de l'imprimante +printFile.submit=Imprimer #licenses diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index fb58c0af..8f023cb3 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -59,8 +59,8 @@ deleteCurrentUserMessage=Impossibile eliminare l'utente attualmente connesso. deleteUsernameExistsMessage=Il nome utente non esiste e non può essere eliminato. downgradeCurrentUserMessage=Impossibile declassare il ruolo dell'utente corrente downgradeCurrentUserLongMessage=Impossibile declassare il ruolo dell'utente corrente. Pertanto, l'utente corrente non verrà visualizzato. -userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. -userAlreadyExistsWebMessage=The user already exists as an web user. +userAlreadyExistsOAuthMessage=L'utente esiste già come utente OAuth2. +userAlreadyExistsWebMessage=L'utente esiste già come utente web. error=Errore oops=Oops! help=Aiuto @@ -105,18 +105,18 @@ pipelineOptions.validateButton=Convalidare ############# # NAVBAR # ############# -navbar.favorite=Favorites +navbar.favorite=Preferiti navbar.darkmode=Modalità Scura -navbar.language=Languages +navbar.language=Lingue navbar.settings=Impostazioni -navbar.allTools=Tools -navbar.multiTool=Multi Tools -navbar.sections.organize=Organize -navbar.sections.convertTo=Convert to PDF -navbar.sections.convertFrom=Convert from PDF -navbar.sections.security=Sign & Security -navbar.sections.advance=Advanced -navbar.sections.edit=View & Edit +navbar.allTools=Strumenti +navbar.multiTool=Strumenti multipli +navbar.sections.organize=Organizza +navbar.sections.convertTo=Converti in PDF +navbar.sections.convertFrom=Converti da PDF +navbar.sections.security=Firma Firma & Sicurezza +navbar.sections.advance=Avanzate +navbar.sections.edit=Visualizza & Modifica ############# # SETTINGS # @@ -185,7 +185,7 @@ adminUserSettings.internalApiUser=API utente interna adminUserSettings.forceChange=Forza l'utente a cambiare nome username/password all'accesso adminUserSettings.submit=Salva utente adminUserSettings.changeUserRole=Cambia il ruolo dell'utente -adminUserSettings.authenticated=Authenticated +adminUserSettings.authenticated=Autenticato ############# # HOME-PAGE # @@ -752,7 +752,7 @@ extractImages.submit=Estrai fileToPDF.title=Converti file in PDF fileToPDF.header=Converti qualsiasi file in PDF fileToPDF.credit=Questo servizio utilizza LibreOffice e Unoconv per la conversione dei file. -fileToPDF.supportedFileTypesInfo=Supported File types +fileToPDF.supportedFileTypesInfo=Tipi di file supportati fileToPDF.supportedFileTypes=I formati file supportati dovrebbero includere quelli sottostanti. Tuttavia, per una lista aggiornata controlla la documentazione di LibreOffice fileToPDF.submit=Converti in PDF @@ -805,7 +805,7 @@ pdfOrganiser.placeholder=(ad es. 1,3,2 o 4-8,2,10-12 o 2n-1) #multiTool multiTool.title=Multifunzione PDF multiTool.header=Multifunzione PDF -multiTool.uploadPrompts=File Name +multiTool.uploadPrompts=Nome file #view pdf viewPdf.title=Visualizza PDF diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 10649a96..fd4660b7 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -5,14 +5,14 @@ language.direction=ltr pdfPrompt=PDF(leri) seçin -multiPdfPrompt=PDF seçin (2+) +multiPdfPrompt=PDFleri seçin (2+) multiPdfDropPrompt=Tüm gerekli PDF'leri seçin (ya da sürükleyip bırakın) imgPrompt=Resim(leri) seçin genericSubmit=Gönder processTimeWarning=Uyarı: Bu işlem, dosya boyutuna bağlı olarak bir dakikaya kadar sürebilir. pageOrderPrompt=Özel Sayfa Sırası (Virgülle ayrılmış sayfa numaraları veya 2n+1 gibi bir fonksiyon girin) : pageSelectionPrompt=Özel Sayfa Seçimi (1,5,6 sayfa numaralarının virgülle ayrılmış bir listesini veya 2n+1 gibi bir fonksiyon girin) : -goToPage=Git +goToPage=Sayfaya Git true=Doğru false=Yanlış unknown=Bilinmeyen @@ -59,8 +59,8 @@ deleteCurrentUserMessage=Şu anda oturum açmış olan kullanıcı silinemiyor. deleteUsernameExistsMessage=Kullanıcı adı mevcut değil ve silinemez. downgradeCurrentUserMessage=Mevcut kullanıcının rolü düşürülemiyor downgradeCurrentUserLongMessage=Mevcut kullanıcının rolü düşürülemiyor. Bu nedenle, mevcut kullanıcı gösterilmeyecektir. -userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user. -userAlreadyExistsWebMessage=The user already exists as an web user. +userAlreadyExistsOAuthMessage=Kullanıcı zaten bir OAuth2 kullanıcısı olarak mevcut. +userAlreadyExistsWebMessage=Kullanıcı zaten bir web kullanıcısı olarak mevcut. error=Hata oops=Tüh! help=Yardım @@ -71,7 +71,7 @@ visitGithub=Github Deposunu Ziyaret Edin donate=Bağış Yapın color=Renk sponsor=Bağış -info=Info +info=Bilgi @@ -105,18 +105,18 @@ pipelineOptions.validateButton=Doğrula ############# # NAVBAR # ############# -navbar.favorite=Favorites +navbar.favorite=Favoriler navbar.darkmode=Karanlık Mod -navbar.language=Languages +navbar.language=Diller navbar.settings=Ayarlar -navbar.allTools=Tools -navbar.multiTool=Multi Tools -navbar.sections.organize=Organize -navbar.sections.convertTo=Convert to PDF -navbar.sections.convertFrom=Convert from PDF -navbar.sections.security=Sign & Security -navbar.sections.advance=Advanced -navbar.sections.edit=View & Edit +navbar.allTools=Araçlar +navbar.multiTool=Çoklu Araçlar +navbar.sections.organize=Düzenle +navbar.sections.convertTo=PDF'ye dönüştür +navbar.sections.convertFrom=PDF'den dönüştür +navbar.sections.security=Oturum & Güvenlik +navbar.sections.advance=Gelişmiş +navbar.sections.edit=Görüntüle ve Düzenle ############# # SETTINGS # @@ -130,7 +130,7 @@ settings.downloadOption.1=Aynı pencerede aç settings.downloadOption.2=Yeni pencerede aç settings.downloadOption.3=Dosyayı indir settings.zipThreshold=İndirilen dosya sayısı şu değeri aştığında zip dosyası oluştur: -settings.signOut=Oturumu Kapat +settings.signOut=Çıkış Yap settings.accountSettings=Hesap Ayarları settings.bored.help=Paskalya yumurtası oyunu etkinleştirir settings.cacheInputs.name=Form girdilerini kaydet @@ -138,7 +138,7 @@ settings.cacheInputs.help=Gelecekteki çalıştırmalar için önceden kullanıl changeCreds.title=Giriş Bilgilerini Değiştir changeCreds.header=Hesap Detaylarınızı Güncelleyin -changeCreds.changePassword=You are using default login credentials. Please enter a new password +changeCreds.changePassword=Varsayılan giriş bilgilerini kullanıyorsunuz. Lütfen yeni bir şifre girin. changeCreds.newUsername=Yeni Kullanıcı Adı changeCreds.oldPassword=Mevcut Şifre changeCreds.newPassword=Yeni Şifre @@ -185,7 +185,7 @@ adminUserSettings.internalApiUser=Dahili API Kullanıcısı adminUserSettings.forceChange=Kullanıcının girişte kullanıcı adı/şifre değiştirmesini zorla adminUserSettings.submit=Kullanıcıyı Kaydet adminUserSettings.changeUserRole=Kullanıcı rolünü değiştir -adminUserSettings.authenticated=Authenticated +adminUserSettings.authenticated=Onaylandı ############# # HOME-PAGE # @@ -738,7 +738,7 @@ ocr.selectText.11=OCR'den sonra resimleri kaldır (TÜM resimleri kaldırır, sa ocr.selectText.12=Render Türü (İleri Seviye) ocr.help=Lütfen bu belgede başka dillerde nasıl kullanılacağı ve/veya docker'da kullanılmaması hakkında bilgi edinin ocr.credit=Bu hizmet OCR için OCRmyPDF ve Tesseract'ı kullanır. -ocr.submit=PDF'i OCR ile İşle +ocr.submit=PDF'i OCR(Metin Tanıma) ile İşle #extractImages @@ -752,7 +752,7 @@ extractImages.submit=Çıkar fileToPDF.title=Dosyadan PDF'e fileToPDF.header=Herhangi bir dosyayı PDF'e dönüştür fileToPDF.credit=Bu hizmet dosya dönüşümü için LibreOffice ve Unoconv'u kullanır. -fileToPDF.supportedFileTypesInfo=Supported File types +fileToPDF.supportedFileTypesInfo=Desteklenen Dosya türleri fileToPDF.supportedFileTypes=Desteklenen dosya türleri aşağıdakileri içermelidir ancak desteklenen formatların tam güncellenmiş listesi için lütfen LibreOffice dokümantasyonuna başvurun fileToPDF.submit=PDF'e Dönüştür @@ -772,7 +772,7 @@ compress.submit=Sıkıştır #Add image addImage.title=Resim Ekle addImage.header=PDF'e resim ekle -addImage.everyPage=Her Sayfa? +addImage.everyPage=Her Sayfa mı? addImage.upload=Resim ekle addImage.submit=Resim ekle @@ -805,7 +805,7 @@ pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1) #multiTool multiTool.title=PDF Çoklu Araç multiTool.header=PDF Çoklu Araç -multiTool.uploadPrompts=File Name +multiTool.uploadPrompts=Dosya Adı #view pdf viewPdf.title=PDF Görüntüle diff --git a/src/main/resources/settings.yml.template b/src/main/resources/settings.yml.template index d7d1fcfa..c2a201ef 100644 --- a/src/main/resources/settings.yml.template +++ b/src/main/resources/settings.yml.template @@ -4,18 +4,21 @@ security: enableLogin: false # set to 'true' to enable login - csrfDisabled: true + csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production) loginAttemptCount: 5 # lock user account after 5 tries - loginResetTimeMinutes : 120 # lock account for 2 hours after x attempts - # oauth2: - # enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work) - # issuer: "" # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point - # clientId: "" # Client ID from your provider - # clientSecret: "" # Client Secret from your provider - # autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users - # 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 - # provider: "google" # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak' + loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts +# initialLogin: +# username: "admin" # Initial username for the first login +# password: "stirling" # Initial password for the first login +# oauth2: +# enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work) +# issuer: "" # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point +# clientId: "" # Client ID from your provider +# clientSecret: "" # Client Secret from your provider +# autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users +# 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 +# provider: "google" # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak' system: defaultLocale: 'en-US' # Set the default language (e.g. 'de-DE', 'fr-FR', etc) @@ -23,6 +26,7 @@ system: 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 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 ui: appName: null # Application's visible name diff --git a/src/main/resources/static/browserconfig.xml b/src/main/resources/static/browserconfig.xml index 92f78799..5aecc916 100644 --- a/src/main/resources/static/browserconfig.xml +++ b/src/main/resources/static/browserconfig.xml @@ -2,7 +2,7 @@ - + #00aba9 diff --git a/src/main/resources/static/css/multi-tool.css b/src/main/resources/static/css/multi-tool.css index f9c359dc..0e609652 100644 --- a/src/main/resources/static/css/multi-tool.css +++ b/src/main/resources/static/css/multi-tool.css @@ -65,7 +65,7 @@ label { margin-left: auto; } -#bg-card { +.bg-card { background-color: var(--md-sys-color-surface-5); border-radius: 3rem; padding: 25px 0 0; diff --git a/src/main/resources/static/css/theme/componentes.css b/src/main/resources/static/css/theme/componentes.css index d588d686..d767d59d 100644 --- a/src/main/resources/static/css/theme/componentes.css +++ b/src/main/resources/static/css/theme/componentes.css @@ -58,7 +58,7 @@ td { border-bottom: none; } -#bg-card { +.bg-card { background-color: var(--md-sys-color-surface-5); border-radius: 3rem; padding: 2.5rem; diff --git a/src/main/resources/static/images/file-earmark-pdf.svg b/src/main/resources/static/images/file-earmark-pdf.svg new file mode 100644 index 00000000..51b9975d --- /dev/null +++ b/src/main/resources/static/images/file-earmark-pdf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/static/images/flags/cz.svg b/src/main/resources/static/images/flags/cz.svg new file mode 100644 index 00000000..f4ddbd36 --- /dev/null +++ b/src/main/resources/static/images/flags/cz.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/main/resources/static/js/languageSelection.js b/src/main/resources/static/js/languageSelection.js index 7af113d0..55f0647e 100644 --- a/src/main/resources/static/js/languageSelection.js +++ b/src/main/resources/static/js/languageSelection.js @@ -60,23 +60,22 @@ function handleDropdownItemClick(event) { } document.addEventListener("DOMContentLoaded", function () { - document.querySelectorAll(".nav-item.dropdown").forEach((element) => { - const dropdownMenu = element.querySelector(".dropdown-menu"); - if ( - dropdownMenu.id !== "favoritesDropdown" && - dropdownMenu.children.length <= 2 && - dropdownMenu.querySelectorAll("hr.dropdown-divider").length === dropdownMenu.children.length - ) { - if ( - element.previousElementSibling && - element.previousElementSibling.classList.contains("nav-item") && - element.previousElementSibling.classList.contains("nav-item-separator") - ) { - element.previousElementSibling.remove(); - } - element.remove(); + +document.querySelectorAll(".col-lg-2.col-sm-6").forEach((element) => { + const dropdownItems = element.querySelectorAll(".dropdown-item"); + const items = Array.from(dropdownItems).filter(item => !item.querySelector("hr.dropdown-divider")); + + if (items.length <= 2) { + if ( + element.previousElementSibling && + element.previousElementSibling.classList.contains("col-lg-2") && + element.previousElementSibling.classList.contains("nav-item-separator") + ) { + element.previousElementSibling.remove(); + } + element.remove(); } - }); +}); //Sort languages by alphabet const list = Array.from(document.querySelector('.dropdown-menu[aria-labelledby="languageDropdown"]').children).filter( diff --git a/src/main/resources/static/site.webmanifest b/src/main/resources/static/site.webmanifest index 9330bf12..42f8bb0c 100644 --- a/src/main/resources/static/site.webmanifest +++ b/src/main/resources/static/site.webmanifest @@ -3,12 +3,12 @@ "short_name": "Stirling PDF", "icons": [ { - "src": "/android-chrome-192x192.png?v=2", + "src": "/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "/android-chrome-512x512.png?v=2", + "src": "/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" } diff --git a/src/main/resources/templates/about.html b/src/main/resources/templates/about.html index c29d2ffa..1ae7ede3 100644 --- a/src/main/resources/templates/about.html +++ b/src/main/resources/templates/about.html @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@

-
+
diff --git a/src/main/resources/templates/account.html b/src/main/resources/templates/account.html index 727de224..70fbc4fd 100644 --- a/src/main/resources/templates/account.html +++ b/src/main/resources/templates/account.html @@ -1,5 +1,5 @@ - + @@ -21,6 +21,7 @@ Default message if not found +

User!

@@ -28,13 +29,15 @@ Error Message +

Change Username?

-
+
+
@@ -49,10 +52,10 @@

Change Password?

- +
- +
@@ -95,6 +98,76 @@
+

Sync browser settings with Account

-
+

Settings Comparison:

diff --git a/src/main/resources/templates/addUsers.html b/src/main/resources/templates/addUsers.html index e87726cf..0cb5c512 100644 --- a/src/main/resources/templates/addUsers.html +++ b/src/main/resources/templates/addUsers.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+

Admin User Control Settings

diff --git a/src/main/resources/templates/auto-split-pdf.html b/src/main/resources/templates/auto-split-pdf.html index fa6b1d16..00b65c8d 100644 --- a/src/main/resources/templates/auto-split-pdf.html +++ b/src/main/resources/templates/auto-split-pdf.html @@ -1,6 +1,6 @@ + xmlns:th="https://www.thymeleaf.org"> @@ -15,7 +15,7 @@

-
+
cut diff --git a/src/main/resources/templates/change-creds.html b/src/main/resources/templates/change-creds.html index 30e06688..ad366eb8 100644 --- a/src/main/resources/templates/change-creds.html +++ b/src/main/resources/templates/change-creds.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+

User Settings

diff --git a/src/main/resources/templates/convert/book-to-pdf.html b/src/main/resources/templates/convert/book-to-pdf.html index acd40b21..8d0f74cb 100644 --- a/src/main/resources/templates/convert/book-to-pdf.html +++ b/src/main/resources/templates/convert/book-to-pdf.html @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/templates/convert/file-to-pdf.html b/src/main/resources/templates/convert/file-to-pdf.html index f822a593..2230da33 100644 --- a/src/main/resources/templates/convert/file-to-pdf.html +++ b/src/main/resources/templates/convert/file-to-pdf.html @@ -1,6 +1,6 @@ + xmlns:th="https://www.thymeleaf.org"> @@ -14,7 +14,7 @@

-
+
draft diff --git a/src/main/resources/templates/convert/html-to-pdf.html b/src/main/resources/templates/convert/html-to-pdf.html index 94b4f842..54b2a3bc 100644 --- a/src/main/resources/templates/convert/html-to-pdf.html +++ b/src/main/resources/templates/convert/html-to-pdf.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
html diff --git a/src/main/resources/templates/convert/img-to-pdf.html b/src/main/resources/templates/convert/img-to-pdf.html index ec49e1c4..139ac8f8 100644 --- a/src/main/resources/templates/convert/img-to-pdf.html +++ b/src/main/resources/templates/convert/img-to-pdf.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
image diff --git a/src/main/resources/templates/convert/markdown-to-pdf.html b/src/main/resources/templates/convert/markdown-to-pdf.html index 748c5c66..97fa2c2d 100644 --- a/src/main/resources/templates/convert/markdown-to-pdf.html +++ b/src/main/resources/templates/convert/markdown-to-pdf.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
markdown diff --git a/src/main/resources/templates/convert/pdf-to-book.html b/src/main/resources/templates/convert/pdf-to-book.html index 33fbd2e1..018adbc4 100644 --- a/src/main/resources/templates/convert/pdf-to-book.html +++ b/src/main/resources/templates/convert/pdf-to-book.html @@ -1,5 +1,5 @@ - + diff --git a/src/main/resources/templates/convert/pdf-to-csv.html b/src/main/resources/templates/convert/pdf-to-csv.html index be78d1da..6315c47b 100644 --- a/src/main/resources/templates/convert/pdf-to-csv.html +++ b/src/main/resources/templates/convert/pdf-to-csv.html @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@

-
+
csv diff --git a/src/main/resources/templates/convert/pdf-to-html.html b/src/main/resources/templates/convert/pdf-to-html.html index 395f9829..6ac6e8f0 100644 --- a/src/main/resources/templates/convert/pdf-to-html.html +++ b/src/main/resources/templates/convert/pdf-to-html.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
html diff --git a/src/main/resources/templates/convert/pdf-to-img.html b/src/main/resources/templates/convert/pdf-to-img.html index d6b5f871..0cf74dd0 100644 --- a/src/main/resources/templates/convert/pdf-to-img.html +++ b/src/main/resources/templates/convert/pdf-to-img.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
image diff --git a/src/main/resources/templates/convert/pdf-to-pdfa.html b/src/main/resources/templates/convert/pdf-to-pdfa.html index 7b51a86c..49257511 100644 --- a/src/main/resources/templates/convert/pdf-to-pdfa.html +++ b/src/main/resources/templates/convert/pdf-to-pdfa.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
picture_as_pdf diff --git a/src/main/resources/templates/convert/pdf-to-presentation.html b/src/main/resources/templates/convert/pdf-to-presentation.html index 8d4a4284..bb6784de 100644 --- a/src/main/resources/templates/convert/pdf-to-presentation.html +++ b/src/main/resources/templates/convert/pdf-to-presentation.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
slideshow diff --git a/src/main/resources/templates/convert/pdf-to-text.html b/src/main/resources/templates/convert/pdf-to-text.html index 21bf1fae..71865624 100644 --- a/src/main/resources/templates/convert/pdf-to-text.html +++ b/src/main/resources/templates/convert/pdf-to-text.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
text_fields diff --git a/src/main/resources/templates/convert/pdf-to-word.html b/src/main/resources/templates/convert/pdf-to-word.html index cce75d76..6ac90136 100644 --- a/src/main/resources/templates/convert/pdf-to-word.html +++ b/src/main/resources/templates/convert/pdf-to-word.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
description diff --git a/src/main/resources/templates/convert/pdf-to-xml.html b/src/main/resources/templates/convert/pdf-to-xml.html index 388ed80b..ce545ce0 100644 --- a/src/main/resources/templates/convert/pdf-to-xml.html +++ b/src/main/resources/templates/convert/pdf-to-xml.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
code diff --git a/src/main/resources/templates/convert/url-to-pdf.html b/src/main/resources/templates/convert/url-to-pdf.html index 26c13ad1..ee136b32 100644 --- a/src/main/resources/templates/convert/url-to-pdf.html +++ b/src/main/resources/templates/convert/url-to-pdf.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
link diff --git a/src/main/resources/templates/crop.html b/src/main/resources/templates/crop.html index 0af2509c..8f0ad935 100644 --- a/src/main/resources/templates/crop.html +++ b/src/main/resources/templates/crop.html @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@

-
+
crop diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html index 61c69c24..e24d114b 100644 --- a/src/main/resources/templates/error.html +++ b/src/main/resources/templates/error.html @@ -1,5 +1,5 @@ - + @@ -10,7 +10,7 @@
-
+

diff --git a/src/main/resources/templates/extract-page.html b/src/main/resources/templates/extract-page.html index 1f8feec2..1d054189 100644 --- a/src/main/resources/templates/extract-page.html +++ b/src/main/resources/templates/extract-page.html @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@

-
+
upload diff --git a/src/main/resources/templates/fragments/common.html b/src/main/resources/templates/fragments/common.html index 635d0952..18d5a853 100644 --- a/src/main/resources/templates/fragments/common.html +++ b/src/main/resources/templates/fragments/common.html @@ -10,12 +10,12 @@ - - - - - - + + + + + + @@ -35,22 +35,22 @@ - + - - - - - + + + + + - + diff --git a/src/main/resources/templates/fragments/languages.html b/src/main/resources/templates/fragments/languages.html index 16cd693b..b004faf1 100644 --- a/src/main/resources/templates/fragments/languages.html +++ b/src/main/resources/templates/fragments/languages.html @@ -28,4 +28,5 @@ icon हिन्दी icon Srpski icon Українська + icon Česky diff --git a/src/main/resources/templates/fragments/navbar.html b/src/main/resources/templates/fragments/navbar.html index 1497df1e..9a3c4ca7 100644 --- a/src/main/resources/templates/fragments/navbar.html +++ b/src/main/resources/templates/fragments/navbar.html @@ -5,11 +5,11 @@ const noFavourites = /*[[#{noFavourites}]]*/ ''; const updateAvailable = /*[[#{settings.updateAvailable}]]*/ ''; - +
diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index 085283c2..31bb4531 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -1,5 +1,5 @@ - + @@ -113,7 +113,7 @@ }
- favicon + favicon

Stirling-PDF

diff --git a/src/main/resources/templates/merge-pdfs.html b/src/main/resources/templates/merge-pdfs.html index c8579fc0..930c04c8 100644 --- a/src/main/resources/templates/merge-pdfs.html +++ b/src/main/resources/templates/merge-pdfs.html @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@

-
+
add_to_photos @@ -39,4 +39,4 @@
- \ No newline at end of file + diff --git a/src/main/resources/templates/misc/add-image.html b/src/main/resources/templates/misc/add-image.html index 40146ed2..99837c96 100644 --- a/src/main/resources/templates/misc/add-image.html +++ b/src/main/resources/templates/misc/add-image.html @@ -1,5 +1,5 @@ - + @@ -13,7 +13,7 @@

-
+
add_photo_alternate diff --git a/src/main/resources/templates/misc/add-page-numbers.html b/src/main/resources/templates/misc/add-page-numbers.html index a118a4c2..4fbda6a9 100644 --- a/src/main/resources/templates/misc/add-page-numbers.html +++ b/src/main/resources/templates/misc/add-page-numbers.html @@ -1,5 +1,5 @@ - +