diff --git a/Dockerfile b/Dockerfile index a1d2e85b..834dce6c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ FROM alpine:20240329 COPY scripts /scripts COPY pipeline /pipeline COPY src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ -COPY src/main/resources/static/fonts/*.otf /usr/share/fonts/opentype/noto/ +#COPY src/main/resources/static/fonts/*.otf /usr/share/fonts/opentype/noto/ COPY build/libs/*.jar app.jar ARG VERSION_TAG @@ -34,7 +34,7 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et openssl-dev \ bash \ curl \ - openjdk17-jre \ + openjdk21-jre \ su-exec \ shadow \ # Doc conversion diff --git a/Dockerfile-ultra-lite b/Dockerfile-ultra-lite index eed8d783..ea07e62f 100644 --- a/Dockerfile-ultra-lite +++ b/Dockerfile-ultra-lite @@ -31,7 +31,7 @@ RUN mkdir /configs /logs /customFiles && \ curl \ su-exec \ shadow \ - openjdk17-jre && \ + 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 && \ diff --git a/LocalRunGuide.md b/LocalRunGuide.md index e0851d62..0c344203 100644 --- a/LocalRunGuide.md +++ b/LocalRunGuide.md @@ -14,7 +14,7 @@ You could theoretically use a Distrobox/Toolbox, if your Distribution has old or Install the following software, if not already installed: -- Java 17 or later +- Java 17 or later (21 recommended) - Gradle 7.0 or later (included within repo so not needed on server) @@ -42,17 +42,25 @@ For Debian-based systems, you can use the following command: ```bash sudo apt-get update -sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-17-jdk python3 python3-pip +sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-21-jdk python3 python3-pip ``` For Fedora-based systems use this command: ```bash -sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zlib-devel make gcc-c++ java-17-openjdk python3 python3-pip +sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zlib-devel make gcc-c++ java-21-openjdk python3 python3-pip +``` + +For non-root users with Nix Package Manager, use the following command: +```bash +nix-channel --update +nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica ``` ### Step 2: Clone and Build jbig2enc (Only required for certain OCR functionality) +For Debian and Fedora, you can build it from source using the following commands: + ```bash mkdir ~/.git cd ~/.git &&\ @@ -64,6 +72,11 @@ make &&\ sudo make install ``` +For Nix, you will face `Leptonica not detected`. Bypass this by installing it directly using the following command: +```bash +nix-env -iA nixpkgs.jbig2enc +``` + ### Step 3: Install Additional Software Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for pattern recognition functionality. @@ -105,6 +118,13 @@ sudo dnf install -y libreoffice-writer libreoffice-calc libreoffice-impress unpa pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint ``` +For Nix: + +```bash +nix-env -iA nixpkgs.unpaper nixpkgs.libreoffice nixpkgs.ocrmypdf nixpkgs.poppler_utils +pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint +``` + ### Step 4: Clone and Build Stirling-PDF ```bash @@ -115,13 +135,12 @@ chmod +x ./gradlew &&\ ./gradlew build ``` - ### Step 5: Move jar to desired location After the build process, a `.jar` file will be generated in the `build/libs` directory. You can move this file to a desired location, for example, `/opt/Stirling-PDF/`. You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory. -This folder is required for the python scripts using OpenCV +This folder is required for the python scripts using OpenCV. ```bash sudo mkdir /opt/Stirling-PDF &&\ @@ -129,19 +148,25 @@ sudo mv ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ &&\ sudo mv scripts /opt/Stirling-PDF/ &&\ echo "Scripts installed." ``` + +For non-root users, you can just keep the jar in the main directory of Stirling-PDF using the following command: +```bash +mv ./build/libs/Stirling-PDF-*.jar ./Stirling-PDF-*.jar +``` + ### Step 6: Other files #### OCR If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running non-english scanning. ##### Installing Language Packs -Easiest is to use the langpacks provided by your repositories. Skip the other steps +Easiest is to use the langpacks provided by your repositories. Skip the other steps. Manual: 1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need. 2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata` -3. -Please view [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html) for more info. +3. Please view [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html) for more info. + **IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED. Debian based systems, install languages with this command: @@ -171,14 +196,38 @@ dnf search -C tesseract-langpack- rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g' ``` +Nix: + +```bash +nix-env -iA nixpkgs.tesseract +``` + +**Note:** Nix Package Manager pre-installs almost all the language packs when tesseract is installed. + ### Step 7: Run Stirling-PDF +Those who have pushed to the root directory, run the following commands: + ```bash ./gradlew bootRun or java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar ``` +Since libreoffice, soffice, and conversion tools have their dbus_tmp_dir set as `dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"`, you might get the following error when using their endpoints: +``` +[Thread-7] INFO s.s.SPDF.utils.ProcessExecutor - mkdir: cannot create directory ‘/run/user/1501’: Permission denied +``` +To resolve this, before starting the Stirling-PDF, you have to set the environment variable to a directory you have write access to by using the following commands: + +```bash +mkdir temp +export DBUS_SESSION_BUS_ADDRESS="unix:path=./temp" +./gradlew bootRun +or +java -jar ./Stirling-PDF-*.jar +``` + ### Step 8: Adding a Desktop icon This will add a modified Appstarter to your Appmenu. @@ -202,7 +251,19 @@ EOF Note: Currently the app will run in the background until manually closed. -### Optional: Run Stirling-PDF as a service +### Optional: Changing the host and port of the application: + +To override the default configuration, you can add the following to `/.git/Stirling-PDF/configs/custom_settings.yml` file: + +```bash +server: + host: 0.0.0.0 + port: 3000 +``` + +**Note:** This file is created after the first application launch. To have it before that, you can create the directory and add the file yourself. + +### Optional: Run Stirling-PDF as a service (requires root). First create a .env file, where you can store environment variables: ``` @@ -239,6 +300,7 @@ WantedBy=multi-user.target ``` Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file): + ``` sudo systemctl daemon-reload ``` diff --git a/README.md b/README.md index 82f0dcb7..8490721d 100644 --- a/README.md +++ b/README.md @@ -166,7 +166,7 @@ Stirling PDF currently supports 27! | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) | | Arabic (العربية) (ar_AR) | ![42%](https://geps.dev/progress/42) | -| German (Deutsch) (de_DE) | ![100%](https://geps.dev/progress/100) | +| German (Deutsch) (de_DE) | ![99%](https://geps.dev/progress/99) | | French (Français) (fr_FR) | ![91%](https://geps.dev/progress/91) | | Spanish (Español) (es_ES) | ![99%](https://geps.dev/progress/99) | | Simplified Chinese (简体中文) (zh_CN) | ![98%](https://geps.dev/progress/98) | @@ -178,18 +178,19 @@ Stirling PDF currently supports 27! | Romanian (Română) (ro_RO) | ![41%](https://geps.dev/progress/41) | | Korean (한국어) (ko_KR) | ![91%](https://geps.dev/progress/91) | | Portuguese Brazilian (Português) (pt_BR) | ![64%](https://geps.dev/progress/64) | -| Russian (Русский) (ru_RU) | ![91%](https://geps.dev/progress/91) | +| Russian (Русский) (ru_RU) | ![90%](https://geps.dev/progress/90) | | Basque (Euskara) (eu_ES) | ![66%](https://geps.dev/progress/66) | | Japanese (日本語) (ja_JP) | ![91%](https://geps.dev/progress/91) | | Dutch (Nederlands) (nl_NL) | ![88%](https://geps.dev/progress/88) | -| Greek (Ελληνικά) (el_GR) | ![88%](https://geps.dev/progress/88) | +| Greek (Ελληνικά) (el_GR) | ![89%](https://geps.dev/progress/89) | | Turkish (Türkçe) (tr_TR) | ![99%](https://geps.dev/progress/99) | | Indonesia (Bahasa Indonesia) (id_ID) | ![82%](https://geps.dev/progress/82) | | Hindi (हिंदी) (hi_IN) | ![82%](https://geps.dev/progress/82) | | Hungarian (Magyar) (hu_HU) | ![81%](https://geps.dev/progress/81) | -| Bulgarian (Български) (bg_BG) | ![75%](https://geps.dev/progress/75) | +| Bulgarian (Български) (bg_BG) | ![98%](https://geps.dev/progress/98) | | Sebian Latin alphabet (Srpski) (sr_LATN_RS) | ![84%](https://geps.dev/progress/84) | | Ukrainian (Українська) (uk_UA) | ![90%](https://geps.dev/progress/90) | +| Slovakian (Slovensky) (sk_SK) | ![98%](https://geps.dev/progress/98) | ## Contributing (creating issues, translations, fixing bugs, etc.) @@ -271,7 +272,7 @@ For those wanting to use Stirling-PDFs backend API to link with their own custom ### Prerequisites: - User must have the folder ./configs volumed within docker so that it is retained during updates. -- Docker uses must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables. +- Docker users must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables. - Then either enable login via the settings.yml file or via setting ``SECURITY_ENABLE_LOGIN`` to ``true`` - Now the initial user will be generated with username ``admin`` and password ``stirling``. On login you will be forced to change the password to a new one. You can also use the environment variables ``SECURITY_INITIALLOGIN_USERNAME`` and ``SECURITY_INITIALLOGIN_PASSWORD`` to set your own straight away (Recommended to remove them after user creation). diff --git a/build.gradle b/build.gradle index b8af6629..66817266 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ plugins { import com.github.jk1.license.render.* group = 'stirling.software' -version = '0.23.1' +version = '0.23.2' sourceCompatibility = '17' repositories { diff --git a/chart/stirling-pdf/Chart.yaml b/chart/stirling-pdf/Chart.yaml index c076a0d0..52220bcd 100644 --- a/chart/stirling-pdf/Chart.yaml +++ b/chart/stirling-pdf/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 0.23.1 +appVersion: 0.23.2 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/scripts/translation_status.toml b/scripts/translation_status.toml index 335ef567..21fcad82 100644 --- a/scripts/translation_status.toml +++ b/scripts/translation_status.toml @@ -123,6 +123,11 @@ ignore = [ 'language.direction', ] +[sk_SK] +ignore = [ + 'language.direction', +] + [sr_LATN_RS] ignore = [ 'language.direction', diff --git a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java index b31f44f8..394baeb1 100644 --- a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java +++ b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java @@ -13,8 +13,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; @@ -76,6 +74,7 @@ public class ConfigInitializer Files.createFile(customSettingsPath); } } + private static Map extractEntries(List lines) { Map entries = new HashMap<>(); StringBuilder currentEntry = new StringBuilder(); @@ -121,8 +120,10 @@ public class ConfigInitializer return entries; } - - private static List mergeConfigs(List templateLines, Map templateEntries, Map userEntries) { + private static List mergeConfigs( + List templateLines, + Map templateEntries, + Map userEntries) { List mergedLines = new ArrayList<>(); Set handledKeys = new HashSet<>(); @@ -141,7 +142,8 @@ public class ConfigInitializer blockIndent = indentLevel; } - if (userEntries.containsKey(currentBlockKey) && !handledKeys.contains(currentBlockKey)) { + if (userEntries.containsKey(currentBlockKey) + && !handledKeys.contains(currentBlockKey)) { mergedLines.add(userEntries.get(currentBlockKey)); handledKeys.add(currentBlockKey); } else if (!handledKeys.contains(currentBlockKey)) { @@ -152,8 +154,6 @@ public class ConfigInitializer return mergedLines; } - - private static List cleanInvalidYamlEntries(List lines) { List cleanedLines = new ArrayList<>(); for (int i = 0; i < lines.size(); i++) { 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 b472622b..b483ba10 100644 --- a/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java +++ b/src/main/java/stirling/software/SPDF/config/security/InitialSecuritySetup.java @@ -85,6 +85,7 @@ public class InitialSecuritySetup { // Write back to the file Files.write(path, lines); } + private boolean isValidUUID(String uuid) { if (uuid == null) { return false; @@ -96,5 +97,4 @@ public class InitialSecuritySetup { return false; } } - } diff --git a/src/main/java/stirling/software/SPDF/config/security/UserBasedRateLimitingFilter.java b/src/main/java/stirling/software/SPDF/config/security/UserBasedRateLimitingFilter.java index 7b3b9b4e..b4b88d25 100644 --- a/src/main/java/stirling/software/SPDF/config/security/UserBasedRateLimitingFilter.java +++ b/src/main/java/stirling/software/SPDF/config/security/UserBasedRateLimitingFilter.java @@ -20,6 +20,7 @@ import io.github.bucket4j.Bandwidth; import io.github.bucket4j.Bucket; import io.github.bucket4j.ConsumptionProbe; import io.github.bucket4j.Refill; +import io.github.pixee.security.Newlines; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -125,12 +126,16 @@ public class UserBasedRateLimitingFilter extends OncePerRequestFilter { ConsumptionProbe probe = userBucket.tryConsumeAndReturnRemaining(1); if (probe.isConsumed()) { - response.setHeader("X-Rate-Limit-Remaining", Long.toString(probe.getRemainingTokens())); + response.setHeader( + "X-Rate-Limit-Remaining", + Newlines.stripAll(Long.toString(probe.getRemainingTokens()))); filterChain.doFilter(request, response); } else { long waitForRefill = probe.getNanosToWaitForRefill() / 1_000_000_000; response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value()); - response.setHeader("X-Rate-Limit-Retry-After-Seconds", String.valueOf(waitForRefill)); + response.setHeader( + "X-Rate-Limit-Retry-After-Seconds", + Newlines.stripAll(String.valueOf(waitForRefill))); response.getWriter().write("Rate limit exceeded for POST requests."); } } diff --git a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java index 9fa357f7..3f880a80 100644 --- a/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java +++ b/src/main/java/stirling/software/SPDF/controller/api/converters/ConvertImgPDFController.java @@ -36,7 +36,7 @@ public class ConvertImgPDFController { description = "This endpoint converts a PDF file to image(s) with the specified image format, color type, and DPI. Users can choose to get a single image or multiple images. Input:PDF Output:Image Type:SI-Conditional") public ResponseEntity convertToImage(@ModelAttribute ConvertToImageRequest request) - throws IOException { + throws NumberFormatException, Exception { MultipartFile file = request.getFileInput(); String imageFormat = request.getImageFormat(); String singleOrMultiple = request.getSingleOrMultiple(); @@ -56,23 +56,20 @@ public class ConvertImgPDFController { String filename = Filenames.toSimpleFileName(file.getOriginalFilename()) .replaceFirst("[.][^.]+$", ""); - try { - result = - PdfUtils.convertFromPdf( - pdfBytes, - imageFormat.toUpperCase(), - colorTypeResult, - singleImage, - Integer.valueOf(dpi), - filename); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + + result = + PdfUtils.convertFromPdf( + pdfBytes, + imageFormat.toUpperCase(), + colorTypeResult, + singleImage, + Integer.valueOf(dpi), + filename); + + if(result == null || result.length == 0) { + logger.error("resultant bytes for {} is null, error converting ", filename); + } if (singleImage) { String docName = filename + "." + imageFormat; MediaType mediaType = MediaType.parseMediaType(getMediaType(imageFormat)); diff --git a/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java b/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java new file mode 100644 index 00000000..bdc0a478 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/controller/api/misc/FlattenController.java @@ -0,0 +1,84 @@ +package stirling.software.SPDF.controller.api.misc; + +import java.awt.image.BufferedImage; +import java.io.IOException; + +import org.apache.pdfbox.Loader; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDPage; +import org.apache.pdfbox.pdmodel.PDPageContentStream; +import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory; +import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject; +import org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm; +import org.apache.pdfbox.rendering.ImageType; +import org.apache.pdfbox.rendering.PDFRenderer; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import io.github.pixee.security.Filenames; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; + +import stirling.software.SPDF.model.PdfMetadata; +import stirling.software.SPDF.model.api.misc.FlattenRequest; +import stirling.software.SPDF.utils.PdfUtils; +import stirling.software.SPDF.utils.WebResponseUtils; + +@RestController +@RequestMapping("/api/v1/misc") +@Tag(name = "Misc", description = "Miscellaneous APIs") +public class FlattenController { + + @PostMapping(consumes = "multipart/form-data", value = "/flatten") + @Operation( + summary = "Flatten PDF form fields or full page", + description = + "Flattening just PDF form fields or converting each page to images to make text unselectable. Input: PDF, Output: PDF. Type: SISO") + public ResponseEntity flatten(@ModelAttribute FlattenRequest request) throws Exception { + MultipartFile file = request.getFileInput(); + + PDDocument document = Loader.loadPDF(file.getBytes()); + PdfMetadata metadata = PdfUtils.extractMetadataFromPdf(document); + Boolean flattenOnlyForms = request.getFlattenOnlyForms(); + + if (Boolean.TRUE.equals(flattenOnlyForms)) { + PDAcroForm acroForm = document.getDocumentCatalog().getAcroForm(); + if (acroForm != null) { + acroForm.flatten(); + } + return WebResponseUtils.pdfDocToWebResponse( + document, Filenames.toSimpleFileName(file.getOriginalFilename())); + } else { + // flatten whole page aka convert each page to image and readd it (making text + // unselectable) + PDFRenderer pdfRenderer = new PDFRenderer(document); + PDDocument newDocument = new PDDocument(); + int numPages = document.getNumberOfPages(); + for (int i = 0; i < numPages; i++) { + try { + BufferedImage image = pdfRenderer.renderImageWithDPI(i, 300, ImageType.RGB); + PDPage page = new PDPage(); + page.setMediaBox(document.getPage(i).getMediaBox()); + newDocument.addPage(page); + try (PDPageContentStream contentStream = + new PDPageContentStream(newDocument, page)) { + PDImageXObject pdImage = JPEGFactory.createFromImage(newDocument, image); + float pageWidth = page.getMediaBox().getWidth(); + float pageHeight = page.getMediaBox().getHeight(); + + contentStream.drawImage(pdImage, 0, 0, pageWidth, pageHeight); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + PdfUtils.setMetadataToPdf(newDocument, metadata); + return WebResponseUtils.pdfDocToWebResponse( + newDocument, Filenames.toSimpleFileName(file.getOriginalFilename())); + } + } +} diff --git a/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java b/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java new file mode 100644 index 00000000..c87d1974 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/model/api/misc/FlattenRequest.java @@ -0,0 +1,17 @@ +package stirling.software.SPDF.model.api.misc; + +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import stirling.software.SPDF.model.api.PDFFile; + +@Data +@EqualsAndHashCode(callSuper = true) +public class FlattenRequest extends PDFFile { + + @Schema( + description = + "True to flatten only the forms, false to flatten full PDF (Convert page to image)") + private Boolean flattenOnlyForms; +} diff --git a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java index c8eb7517..93fdbd54 100644 --- a/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java +++ b/src/main/java/stirling/software/SPDF/utils/ProcessExecutor.java @@ -58,10 +58,10 @@ public class ProcessExecutor { long timeoutMinutes = switch (key) { case LIBRE_OFFICE -> 30; - case PDFTOHTML -> 5; + case PDFTOHTML -> 20; case OCR_MY_PDF -> 30; case PYTHON_OPENCV -> 30; - case GHOSTSCRIPT -> 5; + case GHOSTSCRIPT -> 30; case WEASYPRINT -> 30; case INSTALL_APP -> 60; case CALIBRE -> 30; diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 1a5d1438..a5f12e64 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -24,8 +24,8 @@ spring.devtools.livereload.enabled=true spring.thymeleaf.encoding=UTF-8 -server.connection-timeout=${SYSTEM_CONNECTIONTIMEOUTMINUTES:5m} -spring.mvc.async.request-timeout=${SYSTEM_CONNECTIONTIMEOUTMILLISECONDS:300000} +server.connection-timeout=${SYSTEM_CONNECTIONTIMEOUTMINUTES:20m} +spring.mvc.async.request-timeout=${SYSTEM_CONNECTIONTIMEOUTMILLISECONDS:1200000} spring.resources.static-locations=file:customFiles/static/ #spring.thymeleaf.prefix=file:/customFiles/templates/,classpath:/templates/ diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index c1102346..175ee607 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -69,7 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor - +info=Info ############### @@ -102,12 +102,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=تحويل -navbar.security=الأمان -navbar.other=أخرى +navbar.favorite=Favorites navbar.darkmode=الوضع الداكن -navbar.pageOps=عمليات الصفحة +navbar.language=Languages navbar.settings=إعدادات +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 ############# # SETTINGS # @@ -694,6 +700,7 @@ repair.submit=الإصلاح #flatten flatten.title=تسطيح flatten.header=تسوية ملفات PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=تسطيح @@ -741,6 +748,7 @@ extractImages.submit=استخراج fileToPDF.title=ملف إلى PDF fileToPDF.header=تحويل أي ملف إلى PDF fileToPDF.credit=تستخدم هذه الخدمة ليبر أوفيس وأونوكونف لتحويل الملفات. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=يجب أن تتضمن أنواع الملفات المدعومة ما يلي ولكن للحصول على قائمة محدثة كاملة بالتنسيقات المدعومة ، يرجى الرجوع إلى وثائق LibreOffice fileToPDF.submit=تحويل إلى PDF @@ -793,7 +801,7 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) #multiTool multiTool.title=أداة متعددة PDF multiTool.header=أداة متعددة PDF -multiTool.uploadPrompts=Please Upload PDF +multiTool.uploadPrompts=File Name #view pdf viewPdf.title=View PDF diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index 865522f6..60fb5220 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -11,17 +11,17 @@ imgPrompt=Изберете изображение(я) genericSubmit=Подайте processTimeWarning=Предупреждение: Този процес може да отнеме до минута в зависимост от размера на файла pageOrderPrompt=Персонализиран ред на страниците (Въведете разделен със запетаи списък с номера на страници или функции като 2n+1): -pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : +pageSelectionPrompt=Персонализиран избор на страница (Въведете списък с номера на страници 1,5,6, разделени със запетая, или функции като 2n+1) : goToPage=Давай true=Вярно false=Невярно unknown=Непознат save=Съхранете -saveToBrowser=Save to Browser +saveToBrowser=Съхраняване в браузъра close=Затворете filesSelected=избрани файлове noFavourites=Няма добавени любими -downloadComplete=Download Complete +downloadComplete=Свалянето завършено bored=Отекчени сте да чакате? alphabet=Азбука downloadPdf=Изтеглете PDF @@ -45,56 +45,58 @@ red=Червено green=Зелено blue=Синьо custom=Персонализиране... -WorkInProgess=Work in progress, May not work or be buggy, Please report any problems! -poweredBy=Powered by -yes=Yes -no=No +WorkInProgess=Работата е в ход, може да не работи или да има грешки, моля, докладвайте за проблеми! +poweredBy=Задвижван чрез +yes=Да +no=Не changedCredsMessage=Идентификационните данни са променени! notAuthenticatedMessage=Потребителят не е автентикиран. userNotFoundMessage=Потребителят не е намерен incorrectPasswordMessage=Текущата парола е неправилна. usernameExistsMessage=Новият потребител вече съществува. -invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. -deleteCurrentUserMessage=Cannot delete currently logged in user. -deleteUsernameExistsMessage=The username does not exist and cannot be deleted. +invalidUsernameMessage=Невалидно потребителско име, потребителското име трябва да съдържа само букви и цифри. +deleteCurrentUserMessage=Не може да се изтрие вписания в момента потребител. +deleteUsernameExistsMessage=Потребителското име не съществува и не може да бъде изтрито. downgradeCurrentUserMessage=Не може да се понижи ролята на текущия потребител downgradeCurrentUserLongMessage=Не може да се понижи ролята на текущия потребител. Следователно текущият потребител няма да бъде показан. -error=Error -oops=Oops! -help=Help -goHomepage=Go to Homepage -joinDiscord=Join our Discord server -seeDockerHub=See Docker Hub -visitGithub=Visit Github Repository -donate=Donate -color=Color -sponsor=Sponsor +error=Грешка +oops=Опаа! +help=Помощ +goHomepage=Отидете на началната страница +joinDiscord=Присъединете се към нашия Discord сървър +seeDockerHub=Погледнете Docker Hub +visitGithub=Посетете Github Repository +donate=Направете дарение +color=Цвят +sponsor=Спонсор +info=Info + ############### # Pipeline # ############### -pipeline.header=Pipeline Menu (Beta) -pipeline.uploadButton=Upload Custom -pipeline.configureButton=Configure -pipeline.defaultOption=Custom -pipeline.submitButton=Submit -pipeline.help=Pipeline Help -pipeline.scanHelp=Folder Scanning Help +pipeline.header=Pipeline Меню (Бета) +pipeline.uploadButton=Качване на персонализиран +pipeline.configureButton=Настройка +pipeline.defaultOption=Персонализиран +pipeline.submitButton=Подайте +pipeline.help=Pipeline Помощ +pipeline.scanHelp=Помощ за сканиране на папки ###################### # Pipeline Options # ###################### -pipelineOptions.header=Pipeline Configuration -pipelineOptions.pipelineNameLabel=Pipeline Name -pipelineOptions.saveSettings=Save Operation Settings -pipelineOptions.pipelineNamePrompt=Enter pipeline name here -pipelineOptions.selectOperation=Select Operation -pipelineOptions.addOperationButton=Add operation +pipelineOptions.header=Pipeline Конфигурация +pipelineOptions.pipelineNameLabel=Pipeline име +pipelineOptions.saveSettings=Запазете настройките за работа +pipelineOptions.pipelineNamePrompt=Въведете името на pipeline тук +pipelineOptions.selectOperation=Избор на операция +pipelineOptions.addOperationButton=Добавяне на операция pipelineOptions.pipelineHeader=Pipeline: -pipelineOptions.saveButton=Download -pipelineOptions.validateButton=Validate +pipelineOptions.saveButton=Изтегли +pipelineOptions.validateButton=Валидирай @@ -102,19 +104,25 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Преобразуване -navbar.security=Сигурност -navbar.other=Разни +navbar.favorite=Favorites navbar.darkmode=Тъмна тема -navbar.pageOps=Операции със страници +navbar.language=Languages navbar.settings=Настройки +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 ############# # SETTINGS # ############# settings.title=Настройки settings.update=Налична актуализация -settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. +settings.updateAvailable={0} е текущата инсталирана версия. Налична е нова версия ({1}). settings.appVersion=Версия на приложението: settings.downloadOption.title=Изберете опция за изтегляне (за изтегляния на един файл без да е архивиран): settings.downloadOption.1=Отваряне в същия прозорец @@ -123,13 +131,13 @@ settings.downloadOption.3=Изтегли файл settings.zipThreshold=Архивирайте файловете, когато броят на изтеглените файлове надвишава settings.signOut=Изход settings.accountSettings=Настройки на акаунта -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.bored.help=Активира игра с великденски яйца +settings.cacheInputs.name=Запазете въведените формуляри +settings.cacheInputs.help=Активирайте за съхраняване на предишни използвани въведени данни за бъдещи изпълнения changeCreds.title=Промяна на идентификационните данни changeCreds.header=Актуализирайте данните за акаунта си -changeCreds.changePassword=You are using default login credentials. Please enter a new password +changeCreds.changePassword=Използвате идентификационни данни за вход по подразбиране. Моля, въведете нова парола changeCreds.newUsername=Ново потребителско име changeCreds.oldPassword=Текуща парола changeCreds.newPassword=Нова парола @@ -155,8 +163,8 @@ account.syncTitle=Синхронизиране на настройките на account.settingsCompare=Сравняване на настройките: account.property=Свойство account.webBrowserSettings=Уеб-браузър настройки -account.syncToBrowser=Синхронизиране на акаунт -> Бразър -account.syncToAccount=Синхронизиране на акаунт <- Бразър +account.syncToBrowser=Синхронизиране на акаунт -> Браузър +account.syncToAccount=Синхронизиране на акаунт <- Браузър adminUserSettings.title=Настройки за потребителски контрол @@ -164,15 +172,15 @@ adminUserSettings.header=Настройки за администраторск adminUserSettings.admin=Администратор adminUserSettings.user=Потребител adminUserSettings.addUser=Добавяне на нов потребител -adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters. +adminUserSettings.usernameInfo=Потребителското име трябва да съдържа само букви и цифри, без интервали или специални знаци. adminUserSettings.roles=Роли adminUserSettings.role=Роля adminUserSettings.actions=Действия adminUserSettings.apiUser=Ограничен API потребител -adminUserSettings.extraApiUser=Additional Limited API User +adminUserSettings.extraApiUser=Допълнителен ограничен API потребител adminUserSettings.webOnlyUser=Само за уеб-потребител -adminUserSettings.demoUser=Demo User (No custom settings) -adminUserSettings.internalApiUser=Internal API User +adminUserSettings.demoUser=Демо потребител (без персонализирани настройки) +adminUserSettings.internalApiUser=Вътрешен API потребител adminUserSettings.forceChange=Принудете потребителя да промени потребителското име/парола при влизане adminUserSettings.submit=Съхранете потребителя adminUserSettings.changeUserRole=Промяна на ролята на потребителя @@ -181,12 +189,12 @@ adminUserSettings.changeUserRole=Промяна на ролята на потр # HOME-PAGE # ############# home.desc=Вашето локално хоствано обслужване на едно място за всички ваши PDF нужди. -home.searchBar=Search for features... +home.searchBar=Търсене на функции... -home.viewPdf.title=View PDF -home.viewPdf.desc=View, annotate, add text or images -viewPdf.tags=view,read,annotate,text,image +home.viewPdf.title=Преглед на PDF +home.viewPdf.desc=Преглеждайте, коментирайте, добавяйте текст или изображения +viewPdf.tags=преглед,четене,анотиране,текст,изображение home.multiTool.title=PDF Мулти инструмент home.multiTool.desc=Обединяване, завъртане, пренареждане и премахване на страници @@ -257,7 +265,7 @@ home.fileToPDF.desc=Преобразуване почти всеки файл к fileToPDF.tags=трансформация,формат,документ,изображение,слайд,текст,преобразуване,офис,документи,word,excel,powerpoint home.ocr.title=OCR / Почистващи сканирания -home.ocr.desc=Cleanup сканира и открива текст от изображения към PDF и го добавя отново като текст. +home.ocr.desc=Почистване, сканира и открива текст от изображения към PDF и го добавя отново като текст. ocr.tags=разпознаване,текст,изображение,сканиране,четене,идентифициране,откриване,редактиране @@ -310,9 +318,9 @@ home.removeBlanks.title=Премахване на празни страници home.removeBlanks.desc=Открива и премахва празни страници от документ removeBlanks.tags=почистване,рационализиране,без съдържание,организиране -home.removeAnnotations.title=Remove Annotations -home.removeAnnotations.desc=Removes all comments/annotations from a PDF -removeAnnotations.tags=comments,highlight,notes,markup,remove +home.removeAnnotations.title=Премахване на анотации +home.removeAnnotations.desc=Премахва всички коментари/анотации от PDF +removeAnnotations.tags=коментари, маркиране, бележки, маркиране, премахване home.compare.title=Сравнете home.compare.desc=Сравнява и показва разликите между 2 PDF документа @@ -354,7 +362,7 @@ home.autoSplitPDF.title=Автоматично разделяне на стра home.autoSplitPDF.desc=Автоматично разделяне на сканиран PDF файл с QR код за разделяне на физически сканирани страници autoSplitPDF.tags=QR-базиран,отделен,сканиране-сегмент,организиране -home.sanitizePdf.title=Дезинфекцирай +home.sanitizePdf.title=Дезинфенкцирам home.sanitizePdf.desc=Премахване на скриптове и други елементи от PDF файлове sanitizePdf.tags=чисти,сигурни,безопасни,премахване-заплахи @@ -396,35 +404,35 @@ home.autoRedact.desc=Автоматично редактира (зачерняв autoRedact.tags=Редактиране,Скриване,затъмняване,черен,маркер,скрит home.tableExtraxt.title=PDF to CSV -home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV -tableExtraxt.tags=CSV,Table Extraction,extract,convert +home.tableExtraxt.desc=Извлича таблици от PDF, като ги конвертира в CSV +tableExtraxt.tags=CSV,извличане на таблица,извличане,конвертиране -home.autoSizeSplitPDF.title=Auto Split by Size/Count -home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count -autoSizeSplitPDF.tags=pdf,split,document,organization +home.autoSizeSplitPDF.title=Автоматично разделяне по размер/брой +home.autoSizeSplitPDF.desc=Разделете един PDF на множество документи въз основа на размер, брой страници или брой документи +autoSizeSplitPDF.tags=pdf,разделяне,документ,организация -home.overlay-pdfs.title=Overlay PDFs -home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF -overlay-pdfs.tags=Overlay +home.overlay-pdfs.title=Наслагване PDF-и +home.overlay-pdfs.desc=Наслагва PDF файлове върху друг PDF +overlay-pdfs.tags=Наслагване -home.split-by-sections.title=Split PDF by Sections -home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections -split-by-sections.tags=Section Split, Divide, Customize +home.split-by-sections.title=Разделяне на PDF по секции +home.split-by-sections.desc=Разделете всяка страница от PDF на по-малки хоризонтални и вертикални секции +split-by-sections.tags=Разделяне на секция,Разделяне,Персонализиране -home.AddStampRequest.title=Add Stamp to PDF -home.AddStampRequest.desc=Add text or add image stamps at set locations -AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize +home.AddStampRequest.title=Добавяне на печат към PDF +home.AddStampRequest.desc=Добавете текст или добавете печати с изображения на определени места +AddStampRequest.tags=Печат,добавяне на изображение,централно изображение,воден знак,PDF,вграждане,персонализиране -home.PDFToBook.title=PDF to Book -home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre -PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle +home.PDFToBook.title=PDF към книга +home.PDFToBook.desc=Преобразува PDF във формати на книги/комикси с помощта на calibre +PDFToBook.tags=Книга,комикс,calibre,конвертиране,манга,Amazon,Kindle -home.BookToPDF.title=Book to PDF -home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre -BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle +home.BookToPDF.title=Книга към PDF +home.BookToPDF.desc=Преобразува формати на книги/комикси в PDF с помощта на calibre +BookToPDF.tags=Книга,комикс,calibre,конвертиране,манга,Amazon,Kindle ########################### @@ -471,9 +479,9 @@ pdfToSinglePage.submit=Преобразуване към единична стр #pageExtracter -pageExtracter.title=Extract Pages -pageExtracter.header=Extract Pages -pageExtracter.submit=Extract +pageExtracter.title=Извличане на страници +pageExtracter.header=Извличане на страници +pageExtracter.submit=Извличане pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) @@ -503,40 +511,40 @@ URLToPDF.credit=Използва WeasyPrint #html-to-pdf HTMLToPDF.title=HTML към PDF HTMLToPDF.header=HTML към PDF -HTMLToPDF.help=Приема HTML файлове и ZIP файлове, съдържащи html/css/изображения и т.н +HTMLToPDF.help=Приемане на HTML файлове и ZIP файлове, съдържащи html/css/изображения и т.н. HTMLToPDF.submit=Преобразуване HTMLToPDF.credit=Използва WeasyPrint -HTMLToPDF.zoom=Zoom level for displaying the website. -HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) -HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) -HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) -HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) -HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) -HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) -HTMLToPDF.printBackground=Render the background of websites. -HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) -HTMLToPDF.cssMediaType=Change the CSS media type of the page. -HTMLToPDF.none=None -HTMLToPDF.print=Print -HTMLToPDF.screen=Screen +HTMLToPDF.zoom=Ниво на мащабиране за показване на уебсайта. +HTMLToPDF.pageWidth=Ширина на страницата в сантиметри. (Празно по подразбиране) +HTMLToPDF.pageHeight=Височина на страницата в сантиметри. (Празно по подразбиране) +HTMLToPDF.marginTop=Горно поле на страницата в милиметри. (Празно по подразбиране) +HTMLToPDF.marginBottom=Долно поле на страницата в милиметри. (Празно по подразбиране) +HTMLToPDF.marginLeft=Ляво поле на страницата в милиметри. (Празно по подразбиране) +HTMLToPDF.marginRight=Дясно поле на страницата в милиметри. (Празно по подразбиране) +HTMLToPDF.printBackground=Изобразете фона на уебсайтове. +HTMLToPDF.defaultHeader=Активиране на горния колонтитул по подразбиране (име и номер на страница) +HTMLToPDF.cssMediaType=Променете CSS медийния тип на страницата. +HTMLToPDF.none=Няма +HTMLToPDF.print=Печат +HTMLToPDF.screen=Екран #AddStampRequest -AddStampRequest.header=Stamp PDF -AddStampRequest.title=Stamp PDF -AddStampRequest.stampType=Stamp Type -AddStampRequest.stampText=Stamp Text -AddStampRequest.stampImage=Stamp Image -AddStampRequest.alphabet=Alphabet -AddStampRequest.fontSize=Font/Image Size -AddStampRequest.rotation=Rotation -AddStampRequest.opacity=Opacity -AddStampRequest.position=Position -AddStampRequest.overrideX=Override X Coordinate -AddStampRequest.overrideY=Override Y Coordinate -AddStampRequest.customMargin=Custom Margin -AddStampRequest.customColor=Custom Text Color -AddStampRequest.submit=Submit +AddStampRequest.header=Поставяне на печат на PDF +AddStampRequest.title=Поставяне на печат на PDF +AddStampRequest.stampType=Тип печат +AddStampRequest.stampText=Поставяне на текст +AddStampRequest.stampImage=Изображение с печат +AddStampRequest.alphabet=Азбука +AddStampRequest.fontSize=Размер на шрифта/изображението +AddStampRequest.rotation=Ротация +AddStampRequest.opacity=Непрозрачност +AddStampRequest.position=Позиция +AddStampRequest.overrideX=Замяна на X координата +AddStampRequest.overrideY=Замяна на Y координата +AddStampRequest.customMargin=Персонализиран марж +AddStampRequest.customColor=Персонализиран цвят на текста +AddStampRequest.submit=Изпращане #sanitizePDF @@ -625,11 +633,11 @@ scalePages.submit=Подайте certSign.title=Подписване на сертификат certSign.header=Подпишете PDF с вашия сертификат (В процес на работа) certSign.selectPDF=Изберете PDF файл за подписване: -certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below. +certSign.jksNote=Забележка: Ако вашият тип сертификат не е в списъка по-долу, моля, конвертирайте го във файл на Java Keystore (.jks) с помощта на инструмента за команден ред keytool. След това изберете опцията за .jks файл по-долу. certSign.selectKey=Изберете вашия файл с личен ключ (формат PKCS#8, може да бъде .pem или .der): certSign.selectCert=Изберете вашия файл със сертификат (формат X.509, може да бъде .pem или .der): certSign.selectP12=Изберете вашия PKCS#12 Keystore файл (.p12 или .pfx) (По избор, ако е предоставен, трябва да съдържа вашия личен ключ и сертификат): -certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): +certSign.selectJKS=Изберете Вашия Java Keystore Файл (.jks или .keystore): certSign.certType=Тип сертификат certSign.password=Въведете вашата парола за Keystore за ключове или частен ключ (ако има): certSign.showSig=Показване на подпис @@ -650,9 +658,9 @@ removeBlanks.submit=Премахване на празни места #removeAnnotations -removeAnnotations.title=Remove Annotations -removeAnnotations.header=Remove Annotations -removeAnnotations.submit=Remove +removeAnnotations.title=Премахване на анотации +removeAnnotations.header=Премахване на анотации +removeAnnotations.submit=Премахване #compare @@ -663,17 +671,17 @@ compare.document.2=Документ 2 compare.submit=Сравнявай #BookToPDF -BookToPDF.title=Books and Comics to PDF -BookToPDF.header=Book to PDF -BookToPDF.credit=Uses Calibre -BookToPDF.submit=Convert +BookToPDF.title=Книги и комикси в PDF +BookToPDF.header=Книга в PDF +BookToPDF.credit=Използва Calibre +BookToPDF.submit=Конвертиране #PDFToBook -PDFToBook.title=PDF to Book -PDFToBook.header=PDF to Book -PDFToBook.selectText.1=Format -PDFToBook.credit=Uses Calibre -PDFToBook.submit=Convert +PDFToBook.title=PDF към книга +PDFToBook.header=PDF към книга +PDFToBook.selectText.1=Формат +PDFToBook.credit=Използва Calibre +PDFToBook.submit=Конвертиране #sign sign.title=Подпишете @@ -694,6 +702,7 @@ repair.submit=Поправи #flatten flatten.title=Изравнете flatten.header=Изравнете PDF-и +flatten.flattenOnlyForms=Изравнете само форми flatten.submit=Изравнете @@ -741,6 +750,7 @@ extractImages.submit=Извличане fileToPDF.title=Файл към PDF fileToPDF.header=Конвертирайте всеки файл към PDF fileToPDF.credit=Тази услуга използва LibreOffice и Unoconv за преобразуване на файлове. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Поддържаните типове файлове трябва да включват по-долу, но за пълен актуализиран списък на поддържаните формати, моля, вижте документацията на LibreOffice fileToPDF.submit=Преобразуване към PDF @@ -753,7 +763,7 @@ compress.selectText.1=Ръчен режим - От 1 до 4 compress.selectText.2=Ниво на оптимизация: compress.selectText.3=4 (Ужасно за текстови изображения) compress.selectText.4=Автоматичен режим - Автоматично настройва качеството, за да получи PDF точен размер -compress.selectText.5=Очакван PDF размер (напр. 25MB, 10.8MB, 25KB) +compress.selectText.5=Очакван PDF размер (напр. 25МБ, 10.8МБ, 25КБ) compress.submit=Компресиране @@ -777,27 +787,28 @@ merge.submit=Обединяване pdfOrganiser.title=Организатор на страници pdfOrganiser.header=Организатор на PDF страници pdfOrganiser.submit=Пренареждане на страниците -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.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) +pdfOrganiser.mode=Режим +pdfOrganiser.mode.1=Персонализиран ред на страниците +pdfOrganiser.mode.2=Обърнат ред +pdfOrganiser.mode.3=Двустранно сортиране +pdfOrganiser.mode.4=Сортиране на брошури +pdfOrganiser.mode.5=Сортиране на брошури със страничен шев +pdfOrganiser.mode.6=Четно-нечетно разделяне +pdfOrganiser.mode.7=Премахни първо +pdfOrganiser.mode.8=Премахване на последния +pdfOrganiser.mode.9=Премахване на първия и последния +pdfOrganiser.placeholder=(напр. 1,3,2 или 4-8,2,10-12 или 2n-1) #multiTool multiTool.title=PDF Мулти инструмент multiTool.header=PDF Мулти инструмент -multiTool.uploadPrompts=Please Upload PDF +multiTool.uploadPrompts=File Name + #view pdf -viewPdf.title=View PDF -viewPdf.header=View PDF +viewPdf.title=Преглед на PDF +viewPdf.header=Преглед на PDF #pageRemover pageRemover.title=Премахване на страници @@ -945,8 +956,8 @@ pdfToPDFA.title=PDF към PDF/A pdfToPDFA.header=PDF към PDF/A pdfToPDFA.credit=Тази услуга използва OCRmyPDF за PDF/A преобразуване. pdfToPDFA.submit=Преобразуване -pdfToPDFA.tip=Currently does not work for multiple inputs at once -pdfToPDFA.outputFormat=Output format +pdfToPDFA.tip=В момента не работи за няколко входа наведнъж +pdfToPDFA.outputFormat=Изходен формат #PDFToWord @@ -989,75 +1000,75 @@ PDFToXML.submit=Преобразуване #PDFToCSV PDFToCSV.title=PDF ??? CSV PDFToCSV.header=PDF ??? CSV -PDFToCSV.prompt=Choose page to extract table -PDFToCSV.submit=???????? +PDFToCSV.prompt=Изберете страница за извличане на таблица +PDFToCSV.submit=???? #split-by-size-or-count -split-by-size-or-count.title=Split PDF by Size or Count -split-by-size-or-count.header=Split PDF by Size or Count -split-by-size-or-count.type.label=Select Split Type -split-by-size-or-count.type.size=By Size -split-by-size-or-count.type.pageCount=By Page Count -split-by-size-or-count.type.docCount=By Document Count -split-by-size-or-count.value.label=Enter Value -split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5) -split-by-size-or-count.submit=Submit +split-by-size-or-count.title=Разделяне на PDF по размер или брой +split-by-size-or-count.header=Разделяне на PDF по размер или брой +split-by-size-or-count.type.label=Изберете тип разделяне +split-by-size-or-count.type.size=По размер +split-by-size-or-count.type.pageCount=По брой страници +split-by-size-or-count.type.docCount=По брой документи +split-by-size-or-count.value.label=Въведете стойност +split-by-size-or-count.value.placeholder=Въведете размер (напр. 2МБ или 3КБ) или брой (напр. 5) +split-by-size-or-count.submit=Изпращане #overlay-pdfs -overlay-pdfs.header=Overlay PDF Files -overlay-pdfs.baseFile.label=Select Base PDF File -overlay-pdfs.overlayFiles.label=Select Overlay PDF Files -overlay-pdfs.mode.label=Select Overlay Mode -overlay-pdfs.mode.sequential=Sequential Overlay -overlay-pdfs.mode.interleaved=Interleaved Overlay -overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay -overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode) -overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1) -overlay-pdfs.position.label=Select Overlay Position -overlay-pdfs.position.foreground=Foreground -overlay-pdfs.position.background=Background -overlay-pdfs.submit=Submit +overlay-pdfs.header=Наслагване на PDF файлове +overlay-pdfs.baseFile.label=Изберете Основен PDF файл +overlay-pdfs.overlayFiles.label=Изберете наслагване на PDF файлове +overlay-pdfs.mode.label=Изберете режим на наслагване +overlay-pdfs.mode.sequential=Последователно наслагване +overlay-pdfs.mode.interleaved=Преплетено наслагване +overlay-pdfs.mode.fixedRepeat=Фиксирано наслагване при повторение +overlay-pdfs.counts.label=Брой наслагвания (за режим на фиксирано повторение) +overlay-pdfs.counts.placeholder=Въведете броя, разделени със запетая (напр. 2,3,1) +overlay-pdfs.position.label=Изберете позиция на наслагване +overlay-pdfs.position.foreground=Преден план +overlay-pdfs.position.background=Фон +overlay-pdfs.submit=Изпращане #split-by-sections -split-by-sections.title=Split PDF by Sections -split-by-sections.header=Split PDF into Sections -split-by-sections.horizontal.label=Horizontal Divisions -split-by-sections.vertical.label=Vertical Divisions -split-by-sections.horizontal.placeholder=Enter number of horizontal divisions -split-by-sections.vertical.placeholder=Enter number of vertical divisions -split-by-sections.submit=Split PDF -split-by-sections.merge=Merge Into One PDF +split-by-sections.title=Разделяне на PDF по секции +split-by-sections.header=Разделяне на PDF на секции +split-by-sections.horizontal.label=Хоризонтални разделения +split-by-sections.vertical.label=Вертикални разделения +split-by-sections.horizontal.placeholder=Въведете брой хоризонтални деления +split-by-sections.vertical.placeholder=Въведете брой вертикални деления +split-by-sections.submit=Разделяне на PDF +split-by-sections.merge=Сливане в един PDF #printFile -printFile.title=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=Печат на файл +printFile.header=Печат на файл на принтер +printFile.selectText.1=Изберете файл за печат +printFile.selectText.2=Въведете име на принтер +printFile.submit=Печат #licenses -licenses.nav=Licenses -licenses.title=3rd Party Licenses -licenses.header=3rd Party Licenses -licenses.module=Module -licenses.version=Version -licenses.license=License +licenses.nav=Лицензи +licenses.title=Лицензи на трети страни +licenses.header=Лицензи на трети страни +licenses.module=Модул +licenses.version=Версия +licenses.license=Лиценз # error -error.sorry=Sorry for the issue! -error.needHelp=Need help / Found an issue? -error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord: -error.404.head=404 - Page Not Found | Oops, we tripped in the code! -error.404.1=We can't seem to find the page you're looking for. -error.404.2=Something went wrong -error.github=Submit a ticket on GitHub -error.showStack=Show Stack Trace -error.copyStack=Copy Stack Trace -error.githubSubmit=GitHub - Submit a ticket -error.discordSubmit=Discord - Submit Support post +error.sorry=Извинете за проблема! +error.needHelp=Нуждаете се от помощ / Открихте проблем? +error.contactTip=Ако все още имате проблеми, не се колебайте да се свържете с нас за помощ. Можете да изпратите запитване на нашата страница в GitHub или да се свържете с нас чрез Discord: +error.404.head=404 - Страницата не е намерена | Опа! Спънахме се в кода! +error.404.1=Изглежда не можем да намерим страницата, която търсите. +error.404.2=Нещо се обърка +error.github=Изпратете запитване в GitHub +error.showStack=Покажи проследяване на стека +error.copyStack=Копиране на проследяване на стека +error.githubSubmit=GitHub - Изпратете запитване +error.discordSubmit=Discord - Изпратете запитване за поддръжка diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index c2e2e476..9c4451a0 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Converteix -navbar.security=Seguretat -navbar.other=Altres +navbar.favorite=Favorites navbar.darkmode=Mode Fosc -navbar.pageOps=Operacions de Pàgina +navbar.language=Languages navbar.settings=Opcions +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Reparar #flatten flatten.title=Aplanar flatten.header=Aplana els PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Aplanar @@ -741,6 +749,7 @@ extractImages.submit=Extreu fileToPDF.title=Arxiu a PDF fileToPDF.header=Converteix arxiu a PDF fileToPDF.credit=Utilitza LibreOffice i Unoconv per a la conversió. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Els tipus de fitxers admesos haurien d'incloure el següent, però per obtenir una llista completa actualitzada dels formats compatibles, consulteu la documentació de LibreOffice fileToPDF.submit=Converteix a PDF diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index a007f314..19a82fce 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -69,6 +69,7 @@ visitGithub=GitHub-Repository besuchen donate=Spenden color=Farbe sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validieren ############# # NAVBAR # ############# -navbar.convert=Konvertieren -navbar.security=Sicherheit -navbar.other=Anderes +navbar.favorite=Favorites navbar.darkmode=Dunkler Modus -navbar.pageOps=Seitenoperationen +navbar.language=Languages navbar.settings=Einstellungen +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Reparieren #flatten flatten.title=Abflachen flatten.header=PDFs reduzieren +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Abflachen @@ -741,6 +749,7 @@ extractImages.submit=Extrahieren fileToPDF.title=Datei in PDF fileToPDF.header=Beliebige Dateien in PDF konvertieren fileToPDF.credit=Dieser Dienst verwendet LibreOffice und Unoconv für die Dateikonvertierung. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Unterstützte Dateitypen sollten die folgenden enthalten, eine vollständige aktualisierte Liste der unterstützten Formate finden Sie jedoch in der LibreOffice-Dokumentation fileToPDF.submit=In PDF konvertieren diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 08e5f329..b093516f 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -69,6 +69,7 @@ visitGithub=Επισκεφθείτε το Αποθετήριο του Github donate=Δωρισε color=Χρώμα sponsor=Yποστηρικτής +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Επικυρώνω ############# # NAVBAR # ############# -navbar.convert=Μετατροπή -navbar.security=Ασφάλεια -navbar.other=Διάφορα +navbar.favorite=Favorites navbar.darkmode=Μαύρο Θέμα -navbar.pageOps=Λειτουργίες σελίδας +navbar.language=Languages navbar.settings=Ρυθμίσεις +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Επιδιόρθωση #flatten flatten.title=Flatten flatten.header=Flatten PDFs +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Flatten @@ -741,6 +749,7 @@ extractImages.submit=Εξαγωγή fileToPDF.title=Αρχείο σε PDF fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice fileToPDF.submit=Μετατροπή σε PDF diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index ed3779cc..aa0c4d69 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Convert -navbar.security=Security -navbar.other=Miscellaneous +navbar.favorite=Favorites navbar.darkmode=Dark Mode -navbar.pageOps=Page Operations +navbar.language=Languages navbar.settings=Settings +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 ############# # SETTINGS # @@ -693,7 +700,8 @@ repair.submit=Repair #flatten flatten.title=Flatten -flatten.header=Flatten PDFs +flatten.header=Flatten PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Flatten @@ -741,6 +749,7 @@ extractImages.submit=Extract fileToPDF.title=File to PDF fileToPDF.header=Convert any file to PDF fileToPDF.credit=This service uses LibreOffice and Unoconv for file conversion. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation fileToPDF.submit=Convert to PDF @@ -793,7 +802,7 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) #multiTool multiTool.title=PDF Multi Tool multiTool.header=PDF Multi Tool -multiTool.uploadPrompts=Please Upload PDF +multiTool.uploadPrompts=File Name #view pdf viewPdf.title=View PDF diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index df24e3a2..66c2b4bd 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -69,7 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor - +info=Info ############### @@ -102,12 +102,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Convert -navbar.security=Security -navbar.other=Miscellaneous +navbar.favorite=Favorites navbar.darkmode=Dark Mode -navbar.pageOps=Page Operations +navbar.language=Languages navbar.settings=Settings +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 ############# # SETTINGS # @@ -330,7 +336,7 @@ home.scalePages.title=Adjust page size/scale home.scalePages.desc=Change the size/scale of a page and/or its contents. scalePages.tags=resize,modify,dimension,adapt -home.pipeline.title=Pipeline (Advanced) +home.pipeline.title=Pipeline home.pipeline.desc=Run multiple actions on PDFs by defining pipeline scripts pipeline.tags=automate,sequence,scripted,batch-process @@ -382,7 +388,7 @@ home.extractPage.desc=Extracts select pages from PDF extractPage.tags=extract -home.PdfToSinglePage.title=PDF to Single Large Page +home.PdfToSinglePage.title=Single Large Page home.PdfToSinglePage.desc=Merges all PDF pages into one large single page PdfToSinglePage.tags=single page @@ -694,6 +700,7 @@ repair.submit=Repair #flatten flatten.title=Flatten flatten.header=Flatten PDFs +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Flatten @@ -741,6 +748,7 @@ extractImages.submit=Extract fileToPDF.title=File to PDF fileToPDF.header=Convert any file to PDF fileToPDF.credit=This service uses LibreOffice and Unoconv for file conversion. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Supported file types should include the below however for a full updated list of supported formats, please refer to the LibreOffice documentation fileToPDF.submit=Convert to PDF @@ -793,7 +801,7 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) #multiTool multiTool.title=PDF Multi Tool multiTool.header=PDF Multi Tool -multiTool.uploadPrompts=Please Upload PDF +multiTool.uploadPrompts=File Name #view pdf viewPdf.title=View PDF diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 96008bed..4cb6360a 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -69,6 +69,10 @@ visitGithub=Visitar Repositorio de Github donate=Donar color=Color sponsor=Patrocinador +info=Info + + + @@ -102,12 +106,18 @@ pipelineOptions.validateButton=Validar ############# # NAVBAR # ############# -navbar.convert=Convertir -navbar.security=Seguridad -navbar.other=Otro +navbar.favorite=Favorites navbar.darkmode=Modo oscuro -navbar.pageOps=Operaciones de página +navbar.language=Languages navbar.settings=Configuración +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 ############# # SETTINGS # @@ -694,6 +704,7 @@ repair.submit=Reparar #flatten flatten.title=Aplanar flatten.header=Acoplar archivos PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Aplanar @@ -741,6 +752,7 @@ extractImages.submit=Extraer fileToPDF.title=Archivo a PDF fileToPDF.header=Convertir cualquier archivo a PDF fileToPDF.credit=Este servicio usa LibreOffice y Unoconv para la conversión de archivos +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Los tipos de archivo soportados deben incluir los indicados a continuación; sin embargo, para una completa y acutualizada lista de formatos soportados, por favor consulte la documentación de LibreOffice fileToPDF.submit=Convertir a PDF diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 5df9bc3d..285d41c5 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Bihurtu -navbar.security=Segurtasuna -navbar.other=Beste bat +navbar.favorite=Favorites navbar.darkmode=Modu iluna -navbar.pageOps=Orrialde-eragiketak +navbar.language=Languages navbar.settings=Ezarpenak +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Konpondu #flatten flatten.title=Lautu flatten.header=Akoplatu PDF fitxategiak +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Lautu @@ -741,6 +749,7 @@ extractImages.submit=Atera fileToPDF.title=Fitxategia PDF bihurtu fileToPDF.header=Edozein fitxategi PDF bihurtu fileToPDF.credit=Zerbitzu honek LibreOffice eta Unoconv erabiltzen ditu fitxategiak bihurtzeko +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Jasandako fitxategi-motek behekoak barne hartu behar dituzte; hala ere, jasandako formatuen zerrenda osoa eta eguneratua izateko, kontsultatu, mesedez, LibreOffice-en dokumentazioa fileToPDF.submit=PDF bihurtu diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 6624b01c..e3abadef 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -69,7 +69,7 @@ visitGithub=Visiter le dépôt Github donate=Faire un don color=Couleur sponsor=Sponsor - +info=Info ############### @@ -102,12 +102,18 @@ pipelineOptions.validateButton=Valider ############# # NAVBAR # ############# -navbar.convert=Convertir -navbar.security=Sécurité -navbar.other=Autre +navbar.favorite=Favorites navbar.darkmode=Mode sombre -navbar.pageOps=Opérations sur les pages +navbar.language=Languages 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 ############# # SETTINGS # @@ -694,6 +700,7 @@ repair.submit=Réparer #flatten flatten.title=Rendre inerte flatten.header=Rendre inerte +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Rendre inerte @@ -741,6 +748,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.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 diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index 355ccb9e..f91d4900 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=कनवर्ट -navbar.security=सुरक्षा -navbar.other=विविध +navbar.favorite=Favorites navbar.darkmode=डार्क मोड -navbar.pageOps=पेज कार्य +navbar.language=Languages navbar.settings=सेटिंग्स +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=मरम्मत #flatten flatten.title=समतल करें flatten.header=पीडीएफ़ समतल करें +flatten.flattenOnlyForms=Flatten only forms flatten.submit=समतल करें @@ -741,6 +749,7 @@ extractImages.submit=निकालें fileToPDF.title=फ़ाइल से पीडीएफ़ fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है। +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें fileToPDF.submit=पीडीएफ़ में बदलें diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 3b2811d4..e05a1598 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Átalakítás -navbar.security=Biztonság -navbar.other=Egyéb +navbar.favorite=Favorites navbar.darkmode=Sötét mód -navbar.pageOps=Lap műveletek +navbar.language=Languages navbar.settings=Beállítások +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Javítás #flatten flatten.title=Kiegyenlítés flatten.header=PDF-ek kiegyenlítése +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Kiegyenlítés @@ -741,6 +749,7 @@ extractImages.submit=Kinyerés fileToPDF.title=Fájl PDF dokumentummá alakítása fileToPDF.header=Konvertáljon bármilyen fájlt PDF dokumentummá fileToPDF.credit=Ez a szolgáltatás a LibreOffice-t és az Unoconv-ot használja a fájlkonverzióhoz. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=A funkció az alábbi fájltípusokat támogatja, azonban a teljesen friss támogatott formátumok listájáért kérjük, tekintse meg a LibreOffice dokumentációját fileToPDF.submit=Konvertálás PDF dokumentummá diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index 370b01ad..9a8d04f6 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Konversi -navbar.security=Keamanan -navbar.other=Lain-lain +navbar.favorite=Favorites navbar.darkmode=Mode Gelap -navbar.pageOps=Operasi Halaman +navbar.language=Languages navbar.settings=Pengaturan +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Perbaiki #flatten flatten.title=Ratakan flatten.header=Ratakan PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Ratakan @@ -741,6 +749,7 @@ extractImages.submit=Ekstrak fileToPDF.title=Berkas ke PDF fileToPDF.header=Mengonversi berkas apa pun ke PDF fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice fileToPDF.submit=Konversi ke PDF diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index 6f3ce31b..775e70b7 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -69,6 +69,7 @@ visitGithub=Visita il repository Github donate=Donazione color=Colore sponsor=Sponsor +info=Info @@ -102,19 +103,25 @@ pipelineOptions.validateButton=Convalidare ############# # NAVBAR # ############# -navbar.convert=Converti -navbar.security=Sicurezza -navbar.other=Altro +navbar.favorite=Favorites navbar.darkmode=Modalità Scura -navbar.pageOps=Modifica pagine +navbar.language=Languages 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 ############# # SETTINGS # ############# settings.title=Impostazioni settings.update=Aggiornamento disponibile -settings.updateAvailable={0} is the current installed version. A new version ({1}) is available. +settings.updateAvailable={0} è la versione attualmente installata. Una nuova versione ({1}) è disponibile. settings.appVersion=Versione App: settings.downloadOption.title=Scegli opzione di download (Per file singoli non compressi): settings.downloadOption.1=Apri in questa finestra @@ -692,8 +699,9 @@ repair.submit=Ripara #flatten -flatten.title=Appiattisci +flatten.title=Appiattire flatten.header=Appiattisci PDF +flatten.flattenOnlyForms=Appiattisci solo i moduli flatten.submit=Appiattisci @@ -741,6 +749,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.supportedFileTypes=I formati file supportati dovrebbero includere quelli sottostanti. Tuttavia, per una lista aggiornata controlla la documentazione di LibreOffice fileToPDF.submit=Converti in PDF diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index febd561c..7c210c59 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -69,6 +69,7 @@ visitGithub=Githubリポジトリを訪問する donate=寄付する color=色 sponsor=スポンサー +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=検証 ############# # NAVBAR # ############# -navbar.convert=変換 -navbar.security=セキュリティ -navbar.other=その他 +navbar.favorite=Favorites navbar.darkmode=ダークモード -navbar.pageOps=ページ操作 +navbar.language=Languages navbar.settings=設定 +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=修復 #flatten flatten.title=平坦化 flatten.header=PDFを平坦化する +flatten.flattenOnlyForms=Flatten only forms flatten.submit=平坦化 @@ -741,6 +749,7 @@ extractImages.submit=抽出 fileToPDF.title=ファイルをPDFに変換 fileToPDF.header=あらゆるファイルをPDFに変換 fileToPDF.credit=本サービスはファイル変換にLibreOfficeとUnoconvを使用しています。 +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=サポートされるファイル形式には以下が含まれますが、完全な更新リストについてはLibreOfficeのドキュメントを参照してください。 fileToPDF.submit=PDFを変換 diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index e8604477..ddc77b39 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -57,6 +57,8 @@ usernameExistsMessage=새 사용자명이 이미 존재합니다. invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다. deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다. deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다. + +info=Info downgradeCurrentUserMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다 downgradeCurrentUserLongMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다. 따라서 현재 사용자는 표시되지 않습니다. error=오류 @@ -102,12 +104,18 @@ pipelineOptions.validateButton=확인 ############# # NAVBAR # ############# -navbar.convert=변환 -navbar.security=보안 -navbar.other=기타 +navbar.favorite=Favorites navbar.darkmode=다크 모드 -navbar.pageOps=페이지 편집 +navbar.language=Languages navbar.settings=설정 +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 ############# # SETTINGS # @@ -694,6 +702,7 @@ repair.submit=복구 #flatten flatten.title=평탄화 flatten.header=PDF 문서의 레이어 평탄화 +flatten.flattenOnlyForms=Flatten only forms flatten.submit=평탄화 @@ -741,6 +750,7 @@ extractImages.submit=추출 fileToPDF.title=File to PDF fileToPDF.header=다양한 파일을 PDF로 변환 fileToPDF.credit=이 서비스는 파일 변환에 LibreOffice와 Unoconv를 사용합니다. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=지원되는 파일 형식은 아래와 같습니다. 지원되는 형식의 전체 업데이트 목록은 LibreOffice 설명서를 참조합니다. fileToPDF.submit=PDF로 변환 diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 6ba6a7b3..d4cbbcf0 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Valideren ############# # NAVBAR # ############# -navbar.convert=Converteren -navbar.security=Beveiliging -navbar.other=Overige +navbar.favorite=Favorites navbar.darkmode=Donkere modus -navbar.pageOps=Pagina bewerkingen +navbar.language=Languages navbar.settings=Instellingen +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Repareren #flatten flatten.title=Afvlakken flatten.header=PDF's afvlakken +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Afvlakken @@ -741,6 +749,7 @@ extractImages.submit=Extraheer fileToPDF.title=Bestand naar PDF fileToPDF.header=Zet elk bestand om naar PDF fileToPDF.credit=Deze service gebruikt LibreOffice en Unoconv voor bestandsconversie. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Ondersteunde bestandstypen zijn hieronder opgenomen, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie fileToPDF.submit=Omzetten naar PDF diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index ee96d34f..50c22dd7 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Konwertuj -navbar.security=Bezpieczeństwo -navbar.other=Inne +navbar.favorite=Favorites navbar.darkmode=Tryb nocny -navbar.pageOps=Strony +navbar.language=Languages navbar.settings=Ustawienia +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Napraw #flatten flatten.title=Spłaszcz flatten.header=Spłaszcz dokument(y) PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Spłaszcz @@ -741,6 +749,7 @@ extractImages.submit=Wyodrębnij fileToPDF.title=Plik na PDF fileToPDF.header=Konwertuj dowolny plik na dokument PDF fileToPDF.credit=Ta usługa używa LibreOffice i Unoconv do konwersji plików. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Obsługiwane typy plików powinny być zgodne z poniższymi, jednak pełną zaktualizowaną listę obsługiwanych formatów można znaleźć w dokumentacji LibreOffice fileToPDF.submit=Konwertuj na PDF diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 715615e4..7a029978 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Converter -navbar.security=Segurança -navbar.other=Outro +navbar.favorite=Favorites navbar.darkmode=Modo Escuro -navbar.pageOps=Operações de página +navbar.language=Languages navbar.settings=Configurações +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Reparar #flatten flatten.title=Achatar flatten.header=Achatar PDFs +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Achatar @@ -741,6 +749,7 @@ extractImages.submit=Extrair fileToPDF.title=Arquivo para PDF fileToPDF.header=Converter Qualquer Arquivo para PDF fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de arquivos. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Os tipos de arquivo suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice. fileToPDF.submit=Converter para PDF diff --git a/src/main/resources/messages_pt_PT.properties b/src/main/resources/messages_pt_PT.properties index 7a5541e2..f814f1a7 100644 --- a/src/main/resources/messages_pt_PT.properties +++ b/src/main/resources/messages_pt_PT.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validar ############# # NAVBAR # ############# -navbar.convert=Converter -navbar.security=Segurança -navbar.other=Outro +navbar.favorite=Favorites navbar.darkmode=Modo Escuro -navbar.pageOps=Operações de página +navbar.language=Languages navbar.settings=Configurações +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Reparar #flatten flatten.title=Achatar flatten.header=Achatar PDFs +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Achatar @@ -741,6 +749,7 @@ extractImages.submit=Extrair fileToPDF.title=Ficheiro para PDF fileToPDF.header=Converter Qualquer ficheiro para PDF fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice. fileToPDF.submit=Converter para PDF diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 55f5e3d9..382b1760 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Converteste -navbar.security=Securitate -navbar.other=Altele +navbar.favorite=Favorites navbar.darkmode=Mod întunecat -navbar.pageOps=Operații pe pagină +navbar.language=Languages navbar.settings=Setări +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Repară #flatten flatten.title=Nivelare flatten.header=Nivelează documente PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Nivelează @@ -741,6 +749,7 @@ extractImages.submit=Extrage fileToPDF.title=Fișier în PDF fileToPDF.header=Convertiți orice fișier în PDF fileToPDF.credit=Acest serviciu utilizează LibreOffice și Unoconv pentru conversia fișierelor. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Tipurile de fișiere suportate ar trebui să includă cele de mai jos. Pentru o listă completă și actualizată a formatelor suportate, consultați documentația LibreOffice. fileToPDF.submit=Convertiți în PDF diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index fc7f3965..38d51610 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -57,6 +57,7 @@ usernameExistsMessage=Новое имя пользователя уже суще invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры. deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему. deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено. +info=Info downgradeCurrentUserMessage=Невозможно понизить роль текущего пользователя downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться. error=Ошибка @@ -72,6 +73,7 @@ sponsor=Спонсор + ############### # Pipeline # ############### @@ -102,12 +104,18 @@ pipelineOptions.validateButton=Проверить ############# # NAVBAR # ############# -navbar.convert=Конвертировать -navbar.security=Безопасность -navbar.other=Другое +navbar.favorite=Favorites navbar.darkmode=Темный режим -navbar.pageOps=Операции с страницей +navbar.language=Languages navbar.settings=Настройки +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 ############# # SETTINGS # @@ -694,6 +702,7 @@ repair.submit=Ремонт #flatten flatten.title=Сглаживание flatten.header=Сглаживание PDF ов +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Сгладить @@ -741,6 +750,7 @@ extractImages.submit=Извлечь fileToPDF.title=Файл в PDF fileToPDF.header=Конвертировать любой файл в PDF fileToPDF.credit=Этот сервис использует LibreOffice и Unoconv для преобразования файлов. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Поддерживаемые типы файлов должны включать приведенные ниже, однако полный обновленный список поддерживаемых форматов см. в документации LibreOffice. fileToPDF.submit=Преобразовать в PDF diff --git a/src/main/resources/messages_sk_SK.properties b/src/main/resources/messages_sk_SK.properties new file mode 100644 index 00000000..124f51f9 --- /dev/null +++ b/src/main/resources/messages_sk_SK.properties @@ -0,0 +1,1064 @@ +########### +# Generic # +########### +# the direction that the language is written (ltr=left to right, rtl = right to left) +language.direction=ltr + +pdfPrompt=Vyberte PDF súbor(y) +multiPdfPrompt=Vyberte PDF súbory (2+) +multiPdfDropPrompt=Vyberte (alebo pretiahnite) všetky požadované PDF súbory +imgPrompt=Vyberte obrázok(y) +genericSubmit=Odoslať +processTimeWarning=Varovanie: Tento proces môže trvať až minútu v závislosti od veľkosti súboru +pageOrderPrompt=Vlastné poradie stránok (Zadajte zoznam čísel stránok oddelených čiarkou alebo funkcie ako 2n+1): +pageSelectionPrompt=Vlastný výber stránok (Zadajte zoznam čísel stránok oddelených čiarkou 1,5,6 alebo funkcie ako 2n+1): +goToPage=Choď +true=Áno +false=Nie +unknown=Neznáme +save=Uložiť +saveToBrowser=Uložiť do prehliadača +close=Zatvoriť +filesSelected=vybrané súbory +noFavourites=Žiadne obľúbené položky +downloadComplete=Stiahnutie dokončené +bored=Nudíte sa pri čakaní? +alphabet=Abeceda +downloadPdf=Stiahnuť PDF +text=Text +font=Font +selectFillter=-- Vyberte -- +pageNum=Číslo stránky +sizes.small=Malé +sizes.medium=Stredné +sizes.large=Veľké +sizes.x-large=Veľmi veľké +error.pdfPassword=PDF dokument je chránený heslom a buď heslo nebolo zadané, alebo bolo nesprávne +delete=Vymazať +username=Používateľské meno +password=Heslo +welcome=Vitajte +property=Vlastnosť +black=Čierna +white=Biela +red=Červená +green=Zelená +blue=Modrá +custom=Vlastné... +WorkInProgess=Práca prebieha, nemusí fungovať alebo môže byť chybová, prosím nahláste akékoľvek problémy! +poweredBy=Poskytované +yes=Áno +no=Nie +changedCredsMessage=Údaje zmenené! +notAuthenticatedMessage=Používateľ nie je overený. +userNotFoundMessage=Používateľ nebol nájdený. +incorrectPasswordMessage=Aktuálne heslo je nesprávne. +usernameExistsMessage=Nové používateľské meno už existuje. +invalidUsernameMessage=Neplatné používateľské meno, používateľské meno musí obsahovať len abecedné znaky a čísla. +deleteCurrentUserMessage=Nie je možné zmazať aktuálne prihláseného používateľa. +deleteUsernameExistsMessage=Používateľské meno neexistuje a nemôže byť zmazané. +downgradeCurrentUserMessage=Nie je možné znížiť rolu aktuálneho používateľa +downgradeCurrentUserLongMessage=Nie je možné znížiť rolu aktuálneho používateľa. Preto, aktuálny používateľ nebude zobrazený. +error=Chyba +oops=Ups! +help=Pomoc +goHomepage=Prejsť na domovskú stránku +joinDiscord=Pripojte sa na náš Discord server +seeDockerHub=Pozrieť Docker Hub +visitGithub=Navštíviť GitHub repozitár +donate=Darovať +color=Farba +sponsor=Sponzorovať + + + +############### +# Pipeline # +############### +pipeline.header=Menu pipeline (Beta) +pipeline.uploadButton=Nahrať vlastný +pipeline.configureButton=Konfigurovať +pipeline.defaultOption=Vlastné +pipeline.submitButton=Odoslať +pipeline.help=Pomoc s pipeline +pipeline.scanHelp=Pomoc so skenovaním priečinka + +###################### +# Pipeline Options # +###################### +pipelineOptions.header=Konfigurácia pipeline +pipelineOptions.pipelineNameLabel=Názov pipeline +pipelineOptions.saveSettings=Uložiť nastavenia operácie +pipelineOptions.pipelineNamePrompt=Zadajte názov pipeline tu +pipelineOptions.selectOperation=Vybrať operáciu +pipelineOptions.addOperationButton=Pridať operáciu +pipelineOptions.pipelineHeader=Pipeline: +pipelineOptions.saveButton=Stiahnuť +pipelineOptions.validateButton=Overiť + + + + +############# +# NAVBAR # +############# +navbar.convert=Konvertovať +navbar.security=Bezpečnosť +navbar.other=Rôzne +navbar.darkmode=Tmavý režim +navbar.pageOps=Operácie so stránkami +navbar.settings=Nastavenia + +############# +# SETTINGS # +############# +settings.title=Nastavenia +settings.update=Dostupná aktualizácia +settings.updateAvailable={0} je aktuálne nainštalovaná verzia. Nová verzia ({1}) je dostupná. +settings.appVersion=Verzia aplikácie: +settings.downloadOption.title=Vyberte možnosť sťahovania (Pre jednotlivé neskomprimované súbory): +settings.downloadOption.1=Otvoriť v rovnakom okne +settings.downloadOption.2=Otvoriť v novom okne +settings.downloadOption.3=Stiahnuť súbor +settings.zipThreshold=Komprimovať súbory, keď počet stiahnutých súborov prekročí +settings.signOut=Odhlásiť sa +settings.accountSettings=Nastavenia účtu +settings.bored.help=Umožňuje veľkonočnú hru +settings.cacheInputs.name=Uložiť vstupy formulára +settings.cacheInputs.help=Umožňuje uložiť predtým použité vstupy na budúce použitie + +changeCreds.title=Zmeniť údaje +changeCreds.header=Aktualizujte údaje svojho účtu +changeCreds.changePassword=Používate predvolené prihlasovacie údaje. Prosím, zadajte nové heslo +changeCreds.newUsername=Nové používateľské meno +changeCreds.oldPassword=Aktuálne heslo +changeCreds.newPassword=Nové heslo +changeCreds.confirmNewPassword=Potvrďte nové heslo +changeCreds.submit=Odoslať zmeny + + + +account.title=Nastavenia účtu +account.accountSettings=Nastavenia účtu +account.adminSettings=Admin nastavenia - Zobraziť a pridať používateľov +account.userControlSettings=Nastavenia kontroly používateľov +account.changeUsername=Zmeniť používateľské meno +account.newUsername=Nové používateľské meno +account.password=Potvrdzovacie heslo +account.oldPassword=Staré heslo +account.newPassword=Nové heslo +account.changePassword=Zmeniť heslo +account.confirmNewPassword=Potvrďte nové heslo +account.signOut=Odhlásiť sa +account.yourApiKey=Váš API kľúč +account.syncTitle=Synchronizovať nastavenia prehliadača s účtom +account.settingsCompare=Porovnanie nastavení: +account.property=Vlastnosť +account.webBrowserSettings=Nastavenie webového prehliadača +account.syncToBrowser=Synchronizovať účet -> Prehliadač +account.syncToAccount=Synchronizovať účet <- Prehliadač + + +adminUserSettings.title=Nastavenia kontroly používateľov +adminUserSettings.header=Admin nastavenia kontroly používateľov +adminUserSettings.admin=Admin +adminUserSettings.user=Používateľ +adminUserSettings.addUser=Pridať nového používateľa +adminUserSettings.usernameInfo=Používateľské meno musí obsahovať iba písmená a čísla, žiadne medzery alebo špeciálne znaky. +adminUserSettings.roles=Role +adminUserSettings.role=Rola +adminUserSettings.actions=Akcie +adminUserSettings.apiUser=Obmedzený API používateľ +adminUserSettings.extraApiUser=Ďalší obmedzený API používateľ +adminUserSettings.webOnlyUser=Používateľ iba pre web +adminUserSettings.demoUser=Demo používateľ (Bez vlastných nastavení) +adminUserSettings.internalApiUser=Interný API používateľ +adminUserSettings.forceChange=Donútiť používateľa zmeniť heslo pri prihlásení +adminUserSettings.submit=Uložiť používateľa +adminUserSettings.changeUserRole=Zmeniť rolu používateľa + +############# +# HOME-PAGE # +############# +home.desc=Vaša lokálne hostovaná jednorazová zástavka pre všetky potreby PDF. +home.searchBar=Vyhľadať funkcie... + + +home.viewPdf.title=Zobraziť PDF +home.viewPdf.desc=Zobraziť, anotovať, pridať text alebo obrázky +viewPdf.tags=zobraziť,čítať,anotovať,text,obrázok + +home.multiTool.title=PDF Multi Tool +home.multiTool.desc=Zlúčiť, otočiť, preusporiadať a odstrániť stránky +multiTool.tags=Multi Tool,Multi operácie,UI,klik drag,front end,beží na klientovi,interaktívne,intraktívne,posunúť + +home.merge.title=Zlúčiť +home.merge.desc=Jednoducho zlúčte viacero PDF súborov do jedného. +merge.tags=zlúčenie,operácie so stránkami,back end,beží na serveri + +home.split.title=Rozdeliť +home.split.desc=Rozdeľte PDF súbory na viacero dokumentov +split.tags=operácie so stránkami,rozdelenie,viacstranové,rozrezať,beží na serveri + +home.rotate.title=Otočiť +home.rotate.desc=Jednoducho otáčajte svoje PDF súbory. +rotate.tags=beží na serveri + + +home.imageToPdf.title=Obrázok na PDF +home.imageToPdf.desc=Konvertujte obrázok (PNG, JPEG, GIF) na PDF. +imageToPdf.tags=konverzia,img,jpg,obrázok,fotografia + +home.pdfToImage.title=PDF na obrázok +home.pdfToImage.desc=Konvertujte PDF na obrázok. (PNG, JPEG, GIF) +pdfToImage.tags=konverzia,img,jpg,obrázok,fotografia + +home.pdfOrganiser.title=Organizovať +home.pdfOrganiser.desc=Odstráňte/preusporiadajte stránky v ľubovoľnom poradí +pdfOrganiser.tags=duplex,nepárne,párne,zoradiť,posunúť + + +home.addImage.title=Pridať obrázok +home.addImage.desc=Pridať obrázok na zadané miesto v PDF +addImage.tags=img,jpg,obrázok,fotografia + +home.watermark.title=Pridať vodotlač +home.watermark.desc=Pridať vlastnú vodotlač do vášho PDF dokumentu. +watermark.tags=Text,opakujúci sa,označenie,vlastné,autorské práva,ochranná známka,img,jpg,obrázok,fotografia + +home.permissions.title=Zmeniť povolenia +home.permissions.desc=Zmena povolení vášho PDF dokumentu +permissions.tags=čítať,písať,upravovať,tlačiť + + +home.removePages.title=Odstrániť +home.removePages.desc=Odstrániť nechcené stránky z vášho PDF dokumentu. +removePages.tags=Odstrániť stránky,vymazať stránky + +home.addPassword.title=Pridať heslo +home.addPassword.desc=Šifrovať váš PDF dokument heslom. +addPassword.tags=zaistiť,bezpečnosť + +home.removePassword.title=Odstrániť heslo +home.removePassword.desc=Odstrániť ochranu heslom z vášho PDF dokumentu. +removePassword.tags=zaistiť,Dešifrovať,bezpečnosť,odheslovať,vymazať heslo + +home.compressPdfs.title=Komprimovať +home.compressPdfs.desc=Komprimujte PDF na zmenšenie jeho veľkosti. +compressPdfs.tags=stlačiť,malé,drobné + + +home.changeMetadata.title=Zmeniť metadáta +home.changeMetadata.desc=Zmena/Odstránenie/Pridanie metadát z PDF dokumentu +changeMetadata.tags=Názov,autor,dátum,vytvorenie,čas,vydavateľ,producent,štatistiky + +home.fileToPDF.title=Konvertovať súbor na PDF +home.fileToPDF.desc=Konvertujte takmer akýkoľvek súbor na PDF (DOCX, PNG, XLS, PPT, TXT a ďalšie) +fileToPDF.tags=transformácia,formát,dokument,obrázok,prezentácia,text,konverzia,kancelária,dokumenty,word,excel,powerpoint + +home.ocr.title=OCR / Čistenie skenov +home.ocr.desc=Čistenie skenov a rozpoznanie textu z obrázkov v PDF a opätovné pridanie ako text. +ocr.tags=rozpoznanie,text,obrázok,scan,čítať,identifikovať,detekcia,upraviteľné + + +home.extractImages.title=Extrahovať obrázky +home.extractImages.desc=Extrahuje všetky obrázky z PDF a uloží ich do zipu +extractImages.tags=obrázok,fotografia,uložiť,archív,zip,zachytiť,chytiť + +home.pdfToPDFA.title=PDF na PDF/A +home.pdfToPDFA.desc=Konvertujte PDF na PDF/A pre dlhodobé uchovávanie +pdfToPDFA.tags=archív,dĺhodobé,štandard,konverzia,uchovanie + +home.PDFToWord.title=PDF na Word +home.PDFToWord.desc=Konvertujte PDF na formáty Word (DOC, DOCX a ODT) +PDFToWord.tags=doc,docx,odt,word,transformácia,formát,konverzia,kancelária,microsoft,dokument + +home.PDFToPresentation.title=PDF na Prezentáciu +home.PDFToPresentation.desc=Konvertujte PDF na formáty prezentácie (PPT, PPTX a ODP) +PDFToPresentation.tags=slajdy,prezentácia,kancelária,microsoft + +home.PDFToText.title=PDF na RTF (Text) +home.PDFToText.desc=Konvertujte PDF na RTF alebo textový formát +PDFToText.tags=bohatý formát,bohatý textový formát,bohatý text + +home.PDFToHTML.title=PDF na HTML +home.PDFToHTML.desc=Konvertujte PDF na HTML formát +PDFToHTML.tags=webový obsah,prehliadač priateľský + + +home.PDFToXML.title=PDF na XML +home.PDFToXML.desc=Konvertujte PDF na XML formát +PDFToXML.tags=extrakcia dát,štruktúrovaný obsah,interop,transformácia,konvertovať + +home.ScannerImageSplit.title=Detekcia/Rozdelenie skenovaných fotografií +home.ScannerImageSplit.desc=Rozdelí viacero fotografií v rámci fotografie/PDF +ScannerImageSplit.tags=rozdeliť,auto-detekcia,skeny,viac-fotografií,organizovať + +home.sign.title=Podpísať +home.sign.desc=Pridáva podpis do PDF kreslením, textom alebo obrázkom +sign.tags=autorizovať,iniciály,kreslený podpis,textový podpis,obrázkový podpis + +home.flatten.title=Zploštiť +home.flatten.desc=Odstrániť všetky interaktívne prvky a formuláre z PDF +flatten.tags=statické,deaktivovať,neinteraktívne,zjednodušiť + +home.repair.title=Opraviť +home.repair.desc=Skúša opraviť poškodené/rozbité PDF +repair.tags=opraviť,obnoviť,oprava,obnovenie + +home.removeBlanks.title=Odstrániť prázdne stránky +home.removeBlanks.desc=Detekuje a odstraňuje prázdne stránky z dokumentu +removeBlanks.tags=čistenie,zjednodušiť,neobsah,organizovať + +home.removeAnnotations.title=Odstrániť anotácie +home.removeAnnotations.desc=Odstraňuje všetky komentáre/anotácie z PDF +removeAnnotations.tags=komentáre,zdôraznenie,poznámky,označenie,odstrániť + +home.compare.title=Porovnať +home.compare.desc=Porovnáva a zobrazuje rozdiely medzi 2 PDF dokumentmi +compare.tags=odlišovať,kontrast,zmeny,analýza + +home.certSign.title=Podpísať s certifikátom +home.certSign.desc=Podpísať PDF s certifikátom/kľúčom (PEM/P12) +certSign.tags=autentifikovať,PEM,P12,oficiálne,šifrovať + +home.pageLayout.title=Viacstranové usporiadanie +home.pageLayout.desc=Zlúčte viacero stránok PDF dokumentu do jednej stránky +pageLayout.tags=zlúčiť,zjednotiť,jednostranový pohľad,organizovať + +home.scalePages.title=Prispôsobiť veľkosť/škálovanie stránok +home.scalePages.desc=Zmeniť veľkosť/škálovanie stránky a/alebo jej obsahu. +scalePages.tags=veľkosť,modifikovať,rozmery,prispôsobiť + +home.pipeline.title=Pipeline (Pokročilé) +home.pipeline.desc=Spustiť viacero akcií na PDF definovaním pipeline skriptov +pipeline.tags=automatizovať,sekvencia,skriptované,dávkové spracovanie + +home.add-page-numbers.title=Pridať čísla stránok +home.add-page-numbers.desc=Pridať čísla stránok po celom dokumente na určenom mieste +add-page-numbers.tags=číslovať,označiť,organizovať,indexovať + +home.auto-rename.title=Automatické premenovanie PDF súboru +home.auto-rename.desc=Automaticky premenuje PDF súbor na základe zisteného záhlavia +auto-rename.tags=auto-detekcia, založené na záhlaví, organizovať, premenovať + +home.adjust-contrast.title=Upraviť farby/kontrast +home.adjust-contrast.desc=Upravte kontrast, sýtosť a jas PDF +adjust-contrast.tags=farbová korekcia, doladenie, upraviť, zlepšiť + +home.crop.title=Orezať PDF +home.crop.desc=Orezať PDF na zmenšenie jeho veľkosti (zachováva text!) +crop.tags=orezať, zmenšiť, upraviť, tvarovať + +home.autoSplitPDF.title=Automatické rozdelenie stránok +home.autoSplitPDF.desc=Automatické rozdelenie skenovaného PDF pomocou fyzického skenovaného rozdeľovača stránok QR kódom +autoSplitPDF.tags=QR-založené, rozdeľ, skenovanie-segment, organizovať + +home.sanitizePdf.title=Vyčistiť +home.sanitizePdf.desc=Odstrániť skripty a ďalšie prvky z PDF súborov +sanitizePdf.tags=čistiť, zabezpečiť, bezpečné, odstrániť hrozby + +home.URLToPDF.title=URL/Webstránka do PDF +home.URLToPDF.desc=Konvertuje akúkoľvek http(s)URL do PDF +URLToPDF.tags=webová snímka, uložiť stránku, web do dokumentu, archív + +home.HTMLToPDF.title=HTML do PDF +home.HTMLToPDF.desc=Konvertuje akýkoľvek HTML súbor alebo zip do PDF +HTMLToPDF.tags=markup, webový obsah, transformácia, konvertovať + + +home.MarkdownToPDF.title=Markdown do PDF +home.MarkdownToPDF.desc=Konvertuje akýkoľvek Markdown súbor do PDF +MarkdownToPDF.tags=markup, webový obsah, transformácia, konvertovať + + +home.getPdfInfo.title=Získať všetky informácie o PDF +home.getPdfInfo.desc=Získava všetky dostupné informácie o PDF +getPdfInfo.tags=informácie, údaje, štatistiky + + +home.extractPage.title=Extrahovať stránku(y) +home.extractPage.desc=Extrahuje vybrané stránky z PDF +extractPage.tags=extrahovať + + +home.PdfToSinglePage.title=PDF na jednu veľkú stránku +home.PdfToSinglePage.desc=Zlúči všetky stránky PDF do jednej veľkej stránky +PdfToSinglePage.tags=jedna stránka + + +home.showJS.title=Zobraziť JavaScript +home.showJS.desc=Vyhľadá a zobrazuje akýkoľvek JS vložený do PDF +showJS.tags=JS + +home.autoRedact.title=Automatické redigovanie +home.autoRedact.desc=Automaticky rediguje (zatieni) text v PDF na základe zadaného textu +autoRedact.tags=redigovať, skryť, zatieniť, čierne, marker, skryté + +home.tableExtraxt.title=PDF do CSV +home.tableExtraxt.desc=Extrahuje tabuľky z PDF a konvertuje ich do CSV +tableExtraxt.tags=CSV, extrakcia tabuliek, extrahovať, konvertovať + + +home.autoSizeSplitPDF.title=Automatické rozdelenie podľa veľkosti/počtu +home.autoSizeSplitPDF.desc=Rozdelí jeden PDF na viacero dokumentov na základe veľkosti, počtu stránok alebo počtu dokumentov +autoSizeSplitPDF.tags=pdf, rozdelenie, dokument, organizácia + + +home.overlay-pdfs.title=Prekrývanie PDF +home.overlay-pdfs.desc=Prekrýva PDF súbory na iný PDF +overlay-pdfs.tags=prekrývanie + +home.split-by-sections.title=Rozdelenie PDF podľa sekcií +home.split-by-sections.desc=Rozdelí každú stránku PDF na menšie horizontálne a vertikálne sekcie +split-by-sections.tags=rozdelenie sekcií, rozdeliť, prispôsobiť + +home.AddStampRequest.title=Pridať pečiatku do PDF +home.AddStampRequest.desc=Pridať text alebo obrázkové pečiatky na určené miesta +AddStampRequest.tags=pečiatka, pridať obrázok, stred obrázka, vodotlač, PDF, vložiť, prispôsobiť + + +home.PDFToBook.title=PDF do knihy +home.PDFToBook.desc=Konvertuje PDF do formátov knihy/komiksu pomocou Calibre +PDFToBook.tags=kniha, komiks, Calibre, konvertovať, manga, amazon, kindle + +home.BookToPDF.title=Kniha do PDF +home.BookToPDF.desc=Konvertuje formáty kníh/komiksov do PDF pomocou Calibre +BookToPDF.tags=kniha, komiks, Calibre, konvertovať, manga, amazon, kindle + + +########################### +# # +# WEB PAGES # +# # +########################### +#login +login.title=Prihlásenie +login.header=Prihlásenie +login.signin=Prihlásiť sa +login.rememberme=Zapamätať si ma +login.invalid=Neplatné používateľské meno alebo heslo. +login.locked=Váš účet bol uzamknutý. +login.signinTitle=Prosím, prihláste sa +login.ssoSignIn=Prihlásiť sa cez Single Sign-on +login.oauth2AutoCreateDisabled=Vytváranie používateľa cez OAUTH2 je zakázané + + +#auto-redact +autoRedact.title=Automatické redigovanie +autoRedact.header=Automatické redigovanie +autoRedact.colorLabel=Farba +autoRedact.textsToRedactLabel=Text na redigovanie (oddelený riadkami) +autoRedact.textsToRedactPlaceholder=napr. \nDôverné \nPrísne tajné +autoRedact.useRegexLabel=Použiť Regex +autoRedact.wholeWordSearchLabel=Vyhľadávanie celých slov +autoRedact.customPaddingLabel=Vlastné odsadenie +autoRedact.convertPDFToImageLabel=Konvertovať PDF na PDF-Obrázok (Používa sa na odstránenie textu za boxom) +autoRedact.submitButton=Odoslať + + +#showJS +showJS.title=Zobraziť JavaScript +showJS.header=Zobraziť JavaScript +showJS.downloadJS=Stiahnuť JavaScript +showJS.submit=Zobraziť + + +#pdfToSinglePage +pdfToSinglePage.title=PDF na jednu stránku +pdfToSinglePage.header=PDF na jednu stránku +pdfToSinglePage.submit=Konvertovať na jednu stránku + + +#pageExtracter +pageExtracter.title=Extrahovať stránky +pageExtracter.header=Extrahovať stránky +pageExtracter.submit=Extrahovať +pageExtracter.placeholder=(napr. 1,2,8 alebo 4,7,12-16 alebo 2n-1) + + +#getPdfInfo +getPdfInfo.title=Získať informácie o PDF +getPdfInfo.header=Získať informácie o PDF +getPdfInfo.submit=Získať info +getPdfInfo.downloadJson=Stiahnuť JSON + + +#markdown-to-pdf +MarkdownToPDF.title=Markdown do PDF +MarkdownToPDF.header=Markdown do PDF +MarkdownToPDF.submit=Konvertovať +MarkdownToPDF.help=Práca prebieha +MarkdownToPDF.credit=Používa WeasyPrint + + + +#url-to-pdf +URLToPDF.title=URL do PDF +URLToPDF.header=URL do PDF +URLToPDF.submit=Konvertovať +URLToPDF.credit=Používa WeasyPrint + + +#html-to-pdf +HTMLToPDF.title=HTML do PDF +HTMLToPDF.header=HTML do PDF +HTMLToPDF.help=Akceptuje HTML súbory a ZIPy obsahujúce html/css/obrázky atď. potrebné +HTMLToPDF.submit=Konvertovať +HTMLToPDF.credit=Používa WeasyPrint +HTMLToPDF.zoom=Úroveň priblíženia pre zobrazenie webstránky. +HTMLToPDF.pageWidth=Šírka stránky v centimetroch. (Prázdne pre predvolené) +HTMLToPDF.pageHeight=Výška stránky v centimetroch. (Prázdne pre predvolené) +HTMLToPDF.marginTop=Horný okraj stránky v milimetroch. (Prázdne pre predvolené) +HTMLToPDF.marginBottom=Dolný okraj stránky v milimetroch. (Prázdne pre predvolené) +HTMLToPDF.marginLeft=Ľavý okraj stránky v milimetroch. (Prázdne pre predvolené) +HTMLToPDF.marginRight=Pravý okraj stránky v milimetroch. (Prázdne pre predvolené) +HTMLToPDF.printBackground=Vykresliť pozadie webstránok. +HTMLToPDF.defaultHeader=Povoliť predvolené záhlavie (Názov a číslo stránky) +HTMLToPDF.cssMediaType=Zmeniť typ CSS médií stránky. +HTMLToPDF.none=Žiadne +HTMLToPDF.print=Tlač +HTMLToPDF.screen=Obrazovka + + +#AddStampRequest +AddStampRequest.header=Pečiatka PDF +AddStampRequest.title=Pečiatka PDF +AddStampRequest.stampType=Typ pečiatky +AddStampRequest.stampText=Text pečiatky +AddStampRequest.stampImage=Obrázok pečiatky +AddStampRequest.alphabet=Abeceda +AddStampRequest.fontSize=Veľkosť písma/obrázka +AddStampRequest.rotation=Rotácia +AddStampRequest.opacity=Priehľadnosť +AddStampRequest.position=Poloha +AddStampRequest.overrideX=Nahradiť súradnicu X +AddStampRequest.overrideY=Nahradiť súradnicu Y +AddStampRequest.customMargin=Vlastný okraj +AddStampRequest.customColor=Vlastná farba textu +AddStampRequest.submit=Odoslať + + +#sanitizePDF +sanitizePDF.title=Vyčistiť PDF +sanitizePDF.header=Vyčistiť PDF súbor +sanitizePDF.selectText.1=Odstrániť JavaScript akcie +sanitizePDF.selectText.2=Odstrániť vložené súbory +sanitizePDF.selectText.3=Odstrániť metadáta +sanitizePDF.selectText.4=Odstrániť odkazy +sanitizePDF.selectText.5=Odstrániť fonty +sanitizePDF.submit=Vyčistiť PDF + + +#addPageNumbers +addPageNumbers.title=Pridať čísla stránok +addPageNumbers.header=Pridať čísla stránok +addPageNumbers.selectText.1=Vybrať PDF súbor: +addPageNumbers.selectText.2=Veľkosť okraja +addPageNumbers.selectText.3=Pozícia +addPageNumbers.selectText.4=Počiatočné číslo +addPageNumbers.selectText.5=Stránky na číslovanie +addPageNumbers.selectText.6=Vlastný text +addPageNumbers.customTextDesc=Vlastný text +addPageNumbers.numberPagesDesc=Ktoré stránky číslovať, predvolené 'všetky', tiež akceptuje 1-5 alebo 2,5,9 atď. +addPageNumbers.customNumberDesc=Predvolené {n}, tiež akceptuje 'Strana {n} z {total}', 'Text-{n}', '{filename}-{n} +addPageNumbers.submit=Pridať čísla stránok + + +#auto-rename +auto-rename.title=Automatické premenovanie +auto-rename.header=Automatické premenovanie PDF +auto-rename.submit=Automaticky premenovať + + +#adjustContrast +adjustContrast.title=Upraviť kontrast +adjustContrast.header=Upraviť kontrast +adjustContrast.contrast=Kontrast: +adjustContrast.brightness=Jas: +adjustContrast.saturation=Sýtosť: +adjustContrast.download=Stiahnuť + + +#crop +crop.title=Orezať +crop.header=Orezať obrázok +crop.submit=Odoslať + + +#autoSplitPDF +autoSplitPDF.title=Automatické rozdelenie PDF +autoSplitPDF.header=Automatické rozdelenie PDF +autoSplitPDF.description=Vytlačte, vložte, naskenujte, nahrajte a nechajte nás automaticky oddeliť vaše dokumenty. Žiadna manuálna práca nie je potrebná. +autoSplitPDF.selectText.1=Vytlačte si niekoľko rozdeľovacích listov nižšie (Čierno-biele je v poriadku). +autoSplitPDF.selectText.2=Naskenujte všetky svoje dokumenty naraz vložením rozdeľovacieho listu medzi ne. +autoSplitPDF.selectText.3=Nahrajte jeden veľký naskenovaný PDF súbor a nechajte Stirling PDF urobiť zvyšok. +autoSplitPDF.selectText.4=Rozdeľovacie stránky sú automaticky detekované a odstránené, čo zaručuje čistý konečný dokument. +autoSplitPDF.formPrompt=Odoslať PDF obsahujúce Stirling-PDF rozdeľovače stránok: +autoSplitPDF.duplexMode=Duplex režim (skanovanie prednej a zadnej strany) +autoSplitPDF.dividerDownload1=Stiahnuť 'Auto Splitter Divider (minimálny).pdf' +autoSplitPDF.dividerDownload2=Stiahnuť 'Auto Splitter Divider (s inštrukciami).pdf' +autoSplitPDF.submit=Odoslať + + +#pipeline +pipeline.title=Pipeline + + +#pageLayout +pageLayout.title=Viacstranové usporiadanie +pageLayout.header=Viacstranové usporiadanie +pageLayout.pagesPerSheet=Stránky na list: +pageLayout.addBorder=Pridať okraje +pageLayout.submit=Odoslať + + +#scalePages +scalePages.title=Upraviť mierku stránky +scalePages.header=Upraviť mierku stránky +scalePages.pageSize=Veľkosť stránky dokumentu. +scalePages.scaleFactor=Úroveň priblíženia (orezania) stránky. +scalePages.submit=Odoslať + + +#certSign +certSign.title=Podpis certifikátom +certSign.header=Podpísať PDF certifikátom (Práca prebieha) +certSign.selectPDF=Vyberte PDF súbor na podpis: +certSign.jksNote=Poznámka: Ak váš typ certifikátu nie je uvedený nižšie, prosím, konvertujte ho na Java Keystore (.jks) súbor pomocou nástroja keytool. Potom vyberte možnosť .jks súbor nižšie. +certSign.selectKey=Vyberte váš súkromný kľúčový súbor (formát PKCS#8, môže byť .pem alebo .der): +certSign.selectCert=Vyberte váš certifikátový súbor (formát X.509, môže byť .pem alebo .der): +certSign.selectP12=Vyberte váš PKCS#12 Keystore súbor (.p12 alebo .pfx) (Voliteľné, ak je poskytnuté, malo by obsahovať váš súkromný kľúč a certifikát): +certSign.selectJKS=Vyberte váš Java Keystore súbor (.jks alebo .keystore): +certSign.certType=Typ certifikátu +certSign.password=Zadajte heslo pre Keystore alebo súkromný kľúč (ak existuje): +certSign.showSig=Zobraziť podpis +certSign.reason=Dôvod +certSign.location=Miesto +certSign.name=Meno +certSign.submit=Podpísať PDF + + +#removeBlanks +removeBlanks.title=Odstrániť prázdne stránky +removeBlanks.header=Odstrániť prázdne stránky +removeBlanks.threshold=Prahová hodnota bielych pixelov: +removeBlanks.thresholdDesc=Prahová hodnota pre určenie, ako biely musí byť biely pixel, aby bol klasifikovaný ako 'biely'. 0 = čierny, 255 = čistá biela. +removeBlanks.whitePercent=Percento bielych pixelov (%): +removeBlanks.whitePercentDesc=Percento stránky, ktoré musí byť 'biele' pixely, aby bola odstránená +removeBlanks.submit=Odstrániť prázdne stránky + + +#removeAnnotations +removeAnnotations.title=Odstrániť anotácie +removeAnnotations.header=Odstrániť anotácie +removeAnnotations.submit=Odstrániť + + +#compare +compare.title=Porovnať +compare.header=Porovnať PDF +compare.document.1=Dokument 1 +compare.document.2=Dokument 2 +compare.submit=Porovnať + +#BookToPDF +BookToPDF.title=Knihy a komiksy do PDF +BookToPDF.header=Kniha do PDF +BookToPDF.credit=Používa Calibre +BookToPDF.submit=Konvertovať + +#PDFToBook +PDFToBook.title=PDF do knihy +PDFToBook.header=PDF do knihy +PDFToBook.selectText.1=Formát +PDFToBook.credit=Používa Calibre +PDFToBook.submit=Konvertovať + +#sign +sign.title=Podpísať +sign.header=Podpísať PDF +sign.upload=Nahrať obrázok +sign.draw=Kresliť podpis +sign.text=Textový vstup +sign.clear=Vymazať +sign.add=Pridať + + +#repair +repair.title=Opraviť +repair.header=Opraviť PDF +repair.submit=Opraviť + + +#flatten +flatten.title=Zploštiť +flatten.header=Zploštiť PDF +flatten.flattenOnlyForms=Zploštiť iba formuláre +flatten.submit=Zploštiť + + +#ScannerImageSplit +ScannerImageSplit.selectText.1=Prahová hodnota uhla: +ScannerImageSplit.selectText.2=Nastaví minimálny absolútny uhol potrebný na otočenie obrázka (predvolené: 10). +ScannerImageSplit.selectText.3=Tolerancia: +ScannerImageSplit.selectText.4=Určuje rozsah farebnej variácie okolo odhadovanej farby pozadia (predvolené: 30). +ScannerImageSplit.selectText.5=Minimálna plocha: +ScannerImageSplit.selectText.6=Nastaví minimálnu prahovú hodnotu plochy pre fotografiu (predvolené: 10000). +ScannerImageSplit.selectText.7=Minimálna plocha obrysu: +ScannerImageSplit.selectText.8=Nastaví minimálnu prahovú hodnotu plochy obrysu pre fotografiu +ScannerImageSplit.selectText.9=Veľkosť okraja: +ScannerImageSplit.selectText.10=Nastaví veľkosť okraja pridaného a odstráneného, aby sa zabránilo bielym okrajom vo výstupe (predvolené: 1). + + +#OCR +ocr.title=OCR / Čistenie skenov +ocr.header=Čistenie skenov / OCR (Optické rozpoznávanie znakov) +ocr.selectText.1=Vyberte jazyky, ktoré majú byť detekované v PDF (Uvedené sú tie, ktoré sú aktuálne detekované): +ocr.selectText.2=Vytvoriť textový súbor obsahujúci OCR text spolu s OCR PDF +ocr.selectText.3=Opraviť stránky, ktoré boli naskenované pod uhlom, otočením späť na miesto +ocr.selectText.4=Vyčistiť stránku, aby OCR menej pravdepodobne našlo text v šume pozadia. (Žiadna zmena výstupu) +ocr.selectText.5=Vyčistiť stránku, aby OCR menej pravdepodobne našlo text v šume pozadia, zachováva čistenie vo výstupe. +ocr.selectText.6=Ignoruje stránky, ktoré majú interaktívny text, OCR iba stránky, ktoré sú obrázky +ocr.selectText.7=Vynútiť OCR, OCR každú stránku odstránením všetkých pôvodných textových prvkov +ocr.selectText.8=Normálne (Chyba, ak PDF obsahuje text) +ocr.selectText.9=Ďalšie nastavenia +ocr.selectText.10=OCR režim +ocr.selectText.11=Odstrániť obrázky po OCR (Odstráni VŠETKY obrázky, užitočné iba ak je súčasťou konverzného kroku) +ocr.selectText.12=Typ vykreslenia (Pokročilé) +ocr.help=Prosím, prečítajte si túto dokumentáciu o tom, ako používať OCR pre iné jazyky a/alebo použitie mimo docker +ocr.credit=Táto služba používa OCRmyPDF a Tesseract pre OCR. +ocr.submit=Spracovať PDF s OCR + + +#extractImages +extractImages.title=Extrahovať obrázky +extractImages.header=Extrahovať obrázky +extractImages.selectText=Vyberte formát obrázka na konverziu extrahovaných obrázkov +extractImages.submit=Extrahovať + + +#File to PDF +fileToPDF.title=Súbor do PDF +fileToPDF.header=Konvertovať akýkoľvek súbor do PDF +fileToPDF.credit=Táto služba používa LibreOffice a Unoconv pre konverziu súborov. +fileToPDF.supportedFileTypes=Podporované typy súborov by mali zahŕňať nižšie uvedené, avšak pre úplný aktualizovaný zoznam podporovaných formátov, prosím, odkazujte na dokumentáciu LibreOffice +fileToPDF.submit=Konvertovať do PDF + + +#compress +compress.title=Komprimovať +compress.header=Komprimovať PDF +compress.credit=Táto služba používa Ghostscript pre kompresiu/optimalizáciu PDF. +compress.selectText.1=Manuálny režim - Od 1 do 4 +compress.selectText.2=Úroveň optimalizácie: +compress.selectText.3=4 (Hrozné pre textové obrázky) +compress.selectText.4=Automatický režim - Automaticky upravuje kvalitu, aby sa PDF dostalo na presnú veľkosť +compress.selectText.5=Očakávaná veľkosť PDF (napr. 25MB, 10.8MB, 25KB) +compress.submit=Komprimovať + + +#Add image +addImage.title=Pridať obrázok +addImage.header=Pridať obrázok do PDF +addImage.everyPage=Každá stránka? +addImage.upload=Pridať obrázok +addImage.submit=Pridať obrázok + + +#merge +merge.title=Zlúčiť +merge.header=Zlúčiť viacero PDF (2+) +merge.sortByName=Zoradiť podľa názvu +merge.sortByDate=Zoradiť podľa dátumu +merge.submit=Zlúčiť + + +#pdfOrganiser +pdfOrganiser.title=Organizátor stránok +pdfOrganiser.header=Organizátor stránok PDF +pdfOrganiser.submit=Preusporiadať stránky +pdfOrganiser.mode=Režim +pdfOrganiser.mode.1=Vlastné poradie stránok +pdfOrganiser.mode.2=Obrátené poradie +pdfOrganiser.mode.3=Duplexné triedenie +pdfOrganiser.mode.4=Triedená brožúra +pdfOrganiser.mode.5=Brožúra s bočným šitím +pdfOrganiser.mode.6=Rozdelenie na nepárne a párne +pdfOrganiser.mode.7=Odstrániť prvú +pdfOrganiser.mode.8=Odstrániť poslednú +pdfOrganiser.mode.9=Odstrániť prvú aj poslednú +pdfOrganiser.placeholder=(napr. 1,3,2 alebo 4-8,2,10-12 alebo 2n-1) + + +#multiTool +multiTool.title=PDF Multi Nástroj +multiTool.header=PDF Multi Nástroj +multiTool.uploadPrompts=Prosím, nahrajte PDF + +#view pdf +viewPdf.title=Zobraziť PDF +viewPdf.header=Zobraziť PDF + +#pageRemover +pageRemover.title=Odstraňovač stránok +pageRemover.header=Odstraňovač stránok PDF +pageRemover.pagesToDelete=Stránky na odstránenie (Zadajte zoznam čísel stránok oddelených čiarkami): +pageRemover.submit=Odstrániť stránky +pageRemover.placeholder=(napr. 1,2,6 alebo 1-10,15-30) + + +#rotate +rotate.title=Otočiť PDF +rotate.header=Otočiť PDF +rotate.selectAngle=Vyberte uhol otočenia (v násobkoch 90 stupňov): +rotate.submit=Otočiť + + +#split-pdfs +split.title=Rozdeliť PDF +split.header=Rozdeliť PDF +split.desc.1=Čísla vybrané sú čísla stránok, na ktorých chcete urobiť rozdelenie +split.desc.2=Takže výber 1,3,7-9 by rozdelil 10-stranový dokument na 6 samostatných PDF s: +split.desc.3=Dokument č. 1: Strana 1 +split.desc.4=Dokument č. 2: Strany 2 a 3 +split.desc.5=Dokument č. 3: Strany 4, 5, 6, 7 +split.desc.6=Dokument č. 4: Strana 8 +split.desc.7=Dokument č. 5: Strana 9 +split.desc.8=Dokument č. 6: Strana 10 +split.splitPages=Zadajte stránky na rozdelenie: +split.submit=Rozdeliť + + +#merge +imageToPDF.title=Obrázok na PDF +imageToPDF.header=Obrázok na PDF +imageToPDF.submit=Konvertovať +imageToPDF.selectLabel=Možnosti prispôsobenia obrázka +imageToPDF.fillPage=Vyplniť stránku +imageToPDF.fitDocumentToImage=Prispôsobiť stránku obrázku +imageToPDF.maintainAspectRatio=Zachovať pomery strán +imageToPDF.selectText.2=Automatické otočenie PDF +imageToPDF.selectText.3=Logika pre viac súborov (Povolí sa len, ak pracujete s viacerými obrázkami) +imageToPDF.selectText.4=Zlúčiť do jedného PDF +imageToPDF.selectText.5=Konvertovať na samostatné PDF + + +#pdfToImage +pdfToImage.title=PDF na obrázok +pdfToImage.header=PDF na obrázok +pdfToImage.selectText=Formát obrázka +pdfToImage.singleOrMultiple=Typ výsledného obrázka +pdfToImage.single=Jedna veľká snímka +pdfToImage.multi=Viaceré snímky +pdfToImage.colorType=Typ farby +pdfToImage.color=Farba +pdfToImage.grey=Odtiene šedej +pdfToImage.blackwhite=Čierno-biele (Môže stratiť údaje!) +pdfToImage.submit=Konvertovať + + +#addPassword +addPassword.title=Pridať heslo +addPassword.header=Pridať heslo (Zašifrovať) +addPassword.selectText.1=Vyberte PDF na zašifrovanie +addPassword.selectText.2=Používateľské heslo +addPassword.selectText.3=Dĺžka šifrovacieho kľúča +addPassword.selectText.4=Vyššie hodnoty sú silnejšie, ale nižšie hodnoty majú lepšiu kompatibilitu. +addPassword.selectText.5=Nastavenia povolení (Odporúča sa používať spolu s heslom vlastníka) +addPassword.selectText.6=Zakázať zostavovanie dokumentu +addPassword.selectText.7=Zakázať extrakciu obsahu +addPassword.selectText.8=Zakázať extrakciu pre prístupnosť +addPassword.selectText.9=Zakázať vypĺňanie formulárov +addPassword.selectText.10=Zakázať úpravy +addPassword.selectText.11=Zakázať úpravu anotácií +addPassword.selectText.12=Zakázať tlač +addPassword.selectText.13=Zakázať tlač rôznych formátov +addPassword.selectText.14=Heslo vlastníka +addPassword.selectText.15=Obmedzuje, čo môže byť vykonané s dokumentom po jeho otvorení (Nepodporované všetkými čítačmi) +addPassword.selectText.16=Obmedzuje samotné otvorenie dokumentu +addPassword.submit=Zašifrovať + + +#watermark +watermark.title=Pridať vodotlač +watermark.header=Pridať vodotlač +watermark.selectText.1=Vyberte PDF, do ktorého chcete pridať vodotlač: +watermark.selectText.2=Text vodotlače: +watermark.selectText.3=Veľkosť písma: +watermark.selectText.4=Rotácia (0-360): +watermark.selectText.5=Šírka medzery (Medzera medzi jednotlivými vodotlačami horizontálne): +watermark.selectText.6=Výška medzery (Medzera medzi jednotlivými vodotlačami vertikálne): +watermark.selectText.7=Priehľadnosť (0% - 100%): +watermark.selectText.8=Typ vodotlače: +watermark.selectText.9=Obrázok vodotlače: +watermark.submit=Pridať vodotlač +watermark.type.1=Text +watermark.type.2=Obrázok + + +#Change permissions +permissions.title=Zmeniť povolenia +permissions.header=Zmeniť povolenia +permissions.warning=Varovanie: Aby boli tieto povolenia nemenné, odporúča sa nastaviť ich s heslom cez stránku pridania hesla +permissions.selectText.1=Vyberte PDF na zmenu povolení +permissions.selectText.2=Nastavenia povolení +permissions.selectText.3=Zakázať zostavovanie dokumentu +permissions.selectText.4=Zakázať extrakciu obsahu +permissions.selectText.5=Zakázať extrakciu pre prístupnosť +permissions.selectText.6=Zakázať vypĺňanie formulárov +permissions.selectText.7=Zakázať úpravy +permissions.selectText.8=Zakázať úpravu anotácií +permissions.selectText.9=Zakázať tlač +permissions.selectText.10=Zakázať tlač rôznych formátov +permissions.submit=Zmeniť + + +#remove password +removePassword.title=Odstrániť heslo +removePassword.header=Odstrániť heslo (Dešifrovať) +removePassword.selectText.1=Vyberte PDF na dešifrovanie +removePassword.selectText.2=Heslo +removePassword.submit=Odstrániť + + +#changeMetadata +changeMetadata.title=Zmeniť metadáta +changeMetadata.header=Zmeniť metadáta +changeMetadata.selectText.1=Prosím, upravte premenné, ktoré chcete zmeniť +changeMetadata.selectText.2=Vymazať všetky metadáta +changeMetadata.selectText.3=Zobraziť vlastné metadáta: +changeMetadata.author=Autor: +changeMetadata.creationDate=Dátum vytvorenia (yyyy/MM/dd HH:mm:ss): +changeMetadata.creator=Tvorca: +changeMetadata.keywords=Kľúčové slová: +changeMetadata.modDate=Dátum úpravy (yyyy/MM/dd HH:mm:ss): +changeMetadata.producer=Producent: +changeMetadata.subject=Predmet: +changeMetadata.trapped=Zachytené: +changeMetadata.selectText.4=Iné metadáta: +changeMetadata.selectText.5=Pridať vlastný záznam metadát +changeMetadata.submit=Zmeniť + + +#pdfToPDFA +pdfToPDFA.title=PDF na PDF/A +pdfToPDFA.header=PDF na PDF/A +pdfToPDFA.credit=Táto služba používa OCRmyPDF na konverziu PDF/A +pdfToPDFA.submit=Konvertovať +pdfToPDFA.tip=Momentálne nefunguje pre viacero vstupov naraz +pdfToPDFA.outputFormat=Výstupný formát + + +#PDFToWord +PDFToWord.title=PDF na Word +PDFToWord.header=PDF na Word +PDFToWord.selectText.1=Výstupný formát súboru +PDFToWord.credit=Táto služba používa LibreOffice na konverziu súborov. +PDFToWord.submit=Konvertovať + + +#PDFToPresentation +PDFToPresentation.title=PDF na Prezentáciu +PDFToPresentation.header=PDF na Prezentáciu +PDFToPresentation.selectText.1=Výstupný formát súboru +PDFToPresentation.credit=Táto služba používa LibreOffice na konverziu súborov. +PDFToPresentation.submit=Konvertovať + + +#PDFToText +PDFToText.title=PDF na RTF (Text) +PDFToText.header=PDF na RTF (Text) +PDFToText.selectText.1=Výstupný formát súboru +PDFToText.credit=Táto služba používa LibreOffice na konverziu súborov. +PDFToText.submit=Konvertovať + + +#PDFToHTML +PDFToHTML.title=PDF na HTML +PDFToHTML.header=PDF na HTML +PDFToHTML.credit=Táto služba používa pdftohtml na konverziu súborov. +PDFToHTML.submit=Konvertovať + + +#PDFToXML +PDFToXML.title=PDF na XML +PDFToXML.header=PDF na XML +PDFToXML.credit=Táto služba používa LibreOffice na konverziu súborov. +PDFToXML.submit=Konvertovať + +#PDFToCSV +PDFToCSV.title=PDF na CSV +PDFToCSV.header=PDF na CSV +PDFToCSV.prompt=Vyberte stránku na extrakciu tabuľky +PDFToCSV.submit=Extrahovať + +#split-by-size-or-count +split-by-size-or-count.title=Rozdeliť PDF podľa veľkosti alebo počtu +split-by-size-or-count.header=Rozdeliť PDF podľa veľkosti alebo počtu +split-by-size-or-count.type.label=Vyberte typ rozdelenia +split-by-size-or-count.type.size=Podľa veľkosti +split-by-size-or-count.type.pageCount=Podľa počtu stránok +split-by-size-or-count.type.docCount=Podľa počtu dokumentov +split-by-size-or-count.value.label=Zadajte hodnotu +split-by-size-or-count.value.placeholder=Zadajte veľkosť (napr. 2MB alebo 3KB) alebo počet (napr. 5) +split-by-size-or-count.submit=Odoslať + + +#overlay-pdfs +overlay-pdfs.header=Prekrytie PDF súborov +overlay-pdfs.baseFile.label=Vyberte základný PDF súbor +overlay-pdfs.overlayFiles.label=Vyberte prekryvné PDF súbory +overlay-pdfs.mode.label=Vyberte režim prekrytia +overlay-pdfs.mode.sequential=Sériové prekrytie +overlay-pdfs.mode.interleaved=Prepletené prekrytie +overlay-pdfs.mode.fixedRepeat=Pevné opakované prekrytie +overlay-pdfs.counts.label=Počty prekrytí (pre režim pevného opakovania) +overlay-pdfs.counts.placeholder=Zadajte počty oddelené čiarkami (napr. 2,3,1) +overlay-pdfs.position.label=Vyberte pozíciu prekrytia +overlay-pdfs.position.foreground=Popredie +overlay-pdfs.position.background=Pozadie +overlay-pdfs.submit=Odoslať + + +#split-by-sections +split-by-sections.title=Rozdeliť PDF podľa sekcií +split-by-sections.header=Rozdeliť PDF na sekcie +split-by-sections.horizontal.label=Horizontálne delenia +split-by-sections.vertical.label=Vertikálne delenia +split-by-sections.horizontal.placeholder=Zadajte počet horizontálnych delení +split-by-sections.vertical.placeholder=Zadajte počet vertikálnych delení +split-by-sections.submit=Rozdeliť PDF +split-by-sections.merge=Zlúčiť do jedného PDF + + +#printFile +printFile.title=Vytlačiť súbor +printFile.header=Vytlačiť súbor na tlačiareň +printFile.selectText.1=Vyberte súbor na tlač +printFile.selectText.2=Zadajte názov tlačiarne +printFile.submit=Vytlačiť + + +#licenses +licenses.nav=Licencie +licenses.title=Licencie tretích strán +licenses.header=Licencie tretích strán +licenses.module=Modul +licenses.version=Verzia +licenses.license=Licencia + + +# error +error.sorry=Ospravedlňujeme sa za problém! +error.needHelp=Potrebujete pomoc / Našli ste problém? +error.contactTip=Ak máte stále problémy, neváhajte nás kontaktovať pre pomoc. Môžete podať tiket na našej stránke GitHub alebo nás kontaktovať cez Discord: +error.404.head=404 - Stránka nenájdená | Ups, narazili sme na chybu v kóde! +error.404.1=Nemôžeme nájsť stránku, ktorú hľadáte. +error.404.2=Niečo sa pokazilo +error.github=Podajte tiket na GitHub +error.showStack=Zobraziť sledovanie zásobníka +error.copyStack=Kopírovať sledovanie zásobníka +error.githubSubmit=GitHub - Podajte tiket +error.discordSubmit=Discord - Podajte príspevok na podporu + diff --git a/src/main/resources/messages_sr_LATN_RS.properties b/src/main/resources/messages_sr_LATN_RS.properties index 07c32db3..a200e591 100644 --- a/src/main/resources/messages_sr_LATN_RS.properties +++ b/src/main/resources/messages_sr_LATN_RS.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Proveri ############# # NAVBAR # ############# -navbar.convert=Konvertuj -navbar.security=Bezbednost -navbar.other=Razno +navbar.favorite=Favorites navbar.darkmode=Tamni režim -navbar.pageOps=Operacije stranice +navbar.language=Languages navbar.settings=Podešavanja +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Popravi #flatten flatten.title=Ravnanje flatten.header=Ravnanje PDF fajlova +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Ravnanje @@ -741,6 +749,7 @@ extractImages.submit=Izdvajanje fileToPDF.title=Fajl u PDF fileToPDF.header=Konvertuj bilo koji fajl u PDF fileToPDF.credit=Ova usluga koristi LibreOffice i Unoconv za konverziju fajla. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Podržani tipovi fajlova bi trebali uključivati navedeno, ali za punu ažuriranu listu podržanih formata, molimo pogledajte LibreOffice dokumentaciju fileToPDF.submit=Konvertuj u PDF diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index ac29f553..6120e96d 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Validate ############# # NAVBAR # ############# -navbar.convert=Konvertera -navbar.security=Säkerhet -navbar.other=Annat +navbar.favorite=Favorites navbar.darkmode=Mörkt läge -navbar.pageOps=Sidoperationer +navbar.language=Languages navbar.settings=Inställningar +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Reparera #flatten flatten.title=Platta till flatten.header=Placera PDF-filer +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Platta till @@ -741,6 +749,7 @@ extractImages.submit=Extrahera fileToPDF.title=Fil till PDF fileToPDF.header=Konvertera valfri fil till PDF fileToPDF.credit=Denna tjänst använder LibreOffice och Unoconv för filkonvertering. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Filtyper som stöds bör inkludera nedanstående men för en fullständig uppdaterad lista över format som stöds, se LibreOffice-dokumentationen fileToPDF.submit=Konvertera till PDF diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index c8d3bab6..e0475f25 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -68,6 +68,7 @@ seeDockerHub=Docker Hub'a bakın visitGithub=Github Deposunu Ziyaret Edin donate=Bağış Yapın color=Renk +info=Info sponsor=Bağış @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Doğrula ############# # NAVBAR # ############# -navbar.convert=Dönüştür -navbar.security=Güvenlik -navbar.other=Çeşitli +navbar.favorite=Favorites navbar.darkmode=Karanlık Mod -navbar.pageOps=Sayfa İşlemleri +navbar.language=Languages 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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Onar #flatten flatten.title=Düzleştir flatten.header=PDF'leri Düzleştir +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Düzleştir @@ -741,6 +749,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.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 diff --git a/src/main/resources/messages_uk_UA.properties b/src/main/resources/messages_uk_UA.properties index 6cd0ace0..622f4ec8 100644 --- a/src/main/resources/messages_uk_UA.properties +++ b/src/main/resources/messages_uk_UA.properties @@ -69,6 +69,7 @@ visitGithub=Visit Github Repository donate=Donate color=Color sponsor=Sponsor +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=Перевірити ############# # NAVBAR # ############# -navbar.convert=Конвертувати -navbar.security=Безпека -navbar.other=Інше +navbar.favorite=Favorites navbar.darkmode=Темний режим -navbar.pageOps=Операції зі сторінкою +navbar.language=Languages navbar.settings=Налаштування +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=Ремонтувати #flatten flatten.title=Згладжування flatten.header=Згладжування PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=Згладити @@ -741,6 +749,7 @@ extractImages.submit=Витягнути fileToPDF.title=Файл у PDF fileToPDF.header=Конвертувати будь-який файл у PDF fileToPDF.credit=Цей сервіс використовує LibreOffice та Unoconv для перетворення файлів. +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=Підтримувані типи файлів повинні включати нижченаведені, однак повний оновлений список підтримуваних форматів дивіться у документації LibreOffice. fileToPDF.submit=Перетворити у PDF diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 7ea7ed55..063d1e03 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -69,6 +69,7 @@ visitGithub=访问Github仓库 donate=捐款 color=颜色 sponsor=赞助 +info=Info @@ -102,12 +103,18 @@ pipelineOptions.validateButton=验证 ############# # NAVBAR # ############# -navbar.convert=转换 -navbar.security=安全 -navbar.other=其他 +navbar.favorite=Favorites navbar.darkmode=暗模式 -navbar.pageOps=页面操作 +navbar.language=Languages navbar.settings=设置 +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=修复 #flatten flatten.title=展平 flatten.header=展平 PDF +flatten.flattenOnlyForms=Flatten only forms flatten.submit=展平 @@ -741,6 +749,7 @@ extractImages.submit=提取 fileToPDF.title=文件转换为PDF fileToPDF.header=将任何文件转换为PDF。 fileToPDF.credit=此服务使用LibreOffice和Unoconv进行文件转换。 +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=支持的文件类型应该包括以下几种,但是,对于支持的格式的完整更新列表,请参考LibreOffice文档。 fileToPDF.submit=转换为 PDF diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 2c089b13..a218d0f1 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -57,6 +57,7 @@ usernameExistsMessage=新使用者名稱已存在。 invalidUsernameMessage=使用者名無效,使用者名只能包含字母字元和數位。 deleteCurrentUserMessage=無法刪除目前登錄的使用者。 deleteUsernameExistsMessage=使用者名不存在,無法刪除。 +info=Info downgradeCurrentUserMessage=無法降級目前使用者的角色 downgradeCurrentUserLongMessage=無法降級目前使用者的角色。因此,不會顯示目前的使用者。 error=錯誤 @@ -102,12 +103,18 @@ pipelineOptions.validateButton=驗證 ############# # NAVBAR # ############# -navbar.convert=轉換 -navbar.security=安全 -navbar.other=其他 +navbar.favorite=Favorites navbar.darkmode=暗黑模式 -navbar.pageOps=頁面操作 +navbar.language=Languages navbar.settings=設定 +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 ############# # SETTINGS # @@ -694,6 +701,7 @@ repair.submit=修復 #flatten flatten.title=平坦化 flatten.header=PDF 平坦化 +flatten.flattenOnlyForms=Flatten only forms flatten.submit=平坦化 @@ -741,6 +749,7 @@ extractImages.submit=提取 fileToPDF.title=檔案轉 PDF fileToPDF.header=將任何檔案轉換為 PDF fileToPDF.credit=此服務使用 LibreOffice 和 Unoconv 進行檔案轉換。 +fileToPDF.supportedFileTypesInfo=Supported File types fileToPDF.supportedFileTypes=支援的檔案類型應包括以下內容,但要獲得完整的更新支援格式列表,請參閱 LibreOffice 的文件 fileToPDF.submit=轉換為 PDF diff --git a/src/main/resources/static/css/dark-mode.css b/src/main/resources/static/css/dark-mode.css deleted file mode 100644 index b874f410..00000000 --- a/src/main/resources/static/css/dark-mode.css +++ /dev/null @@ -1,141 +0,0 @@ -/* Dark Mode Styles */ -body, -select, -textarea { - --body-background-color: 51, 51, 51; - --base-font-color: 255, 255, 255; - background-color: rgb(var(--body-background-color)) !important; - color: rgb(var(--base-font-color)) !important; -} -.card { - background-color: rgb(var(--body-background-color)) !important; - border: 1px solid #999; - color: rgb(var(--base-font-color)) !important; -} - -a { - color: #add8e6; -} -a:hover { - color: #87ceeb; /* Slightly brighter blue on hover for accessibility */ -} - -.dark-card { - background-color: rgb(var(--body-background-color)) !important; - color: rgb(var(--base-font-color)) !important; -} -.jumbotron { - background-color: #222; /* or any other dark color */ - color: rgb(var(--base-font-color)) !important; /* or any other light color */ -} - -.list-group { - background-color: #222 !important; - color: rgb(var(--base-font-color)) !important; -} -.list-group-item { - background-color: #222 !important; - color: rgb(var(--base-font-color)) !important; -} -#support-section { - background-color: #444 !important; -} - -#pages-container-wrapper { - --background-color: rgba(255, 255, 255, 0.046) !important; - --scroll-bar-color: #4c4c4c !important; - --scroll-bar-thumb: #d3d3d3 !important; - --scroll-bar-thumb-hover: rgb(var(--base-font-color)) !important; -} - -.favorite-icon img { - filter: brightness(0) invert(1) !important; -} -table thead { - background-color: #333 !important; - border: 1px solid #444; -} -table th, -table td { - border: 1px solid #444 !important; - color: white; -} -.btn { - background-color: #444 !important; - border: none; - color: #fff !important; -} -.btn-primary { - background-color: #007bff !important; - border: none; - color: #fff !important; -} -.btn-secondary { - background-color: #6c757d !important; - border: none; - color: #fff !important; -} -.btn-info { - background-color: #17a2b8 !important; - border: none; - color: #fff !important; -} -.btn-danger { - background-color: #dc3545 !important; - border: none; - color: #fff !important; -} - -.btn-warning { - background-color: #ffc107 !important; - border: none; - color: #000 !important; -} - -.btn-outline-secondary { - color: #fff !important; - border-color: #fff; -} -.btn-outline-secondary:hover { - background-color: #444 !important; - color: #007bff !important; - border-color: #007bff; -} -.blackwhite-icon { - filter: brightness(0) invert(1); -} -hr { - border-color: rgba(255, 255, 255, 0.6); /* semi-transparent white */ - background-color: rgba(255, 255, 255, 0.6); /* for some browsers that might use background instead of border for
*/ -} - -.modal-content { - color: #fff !important; - border-color: #fff; -} - -.global-buttons-container input { - background-color: #323948; - caret-color: #ffffff; - color: #ffffff; -} -.global-buttons-container input::placeholder { - color: #ffffff; -} - -.global-buttons-container input:disabled::-webkit-input-placeholder { - /* WebKit browsers */ - color: #6e6865; -} -.global-buttons-container input:disabled:-moz-placeholder { - /* Mozilla Firefox 4 to 18 */ - color: #6e6865; -} -.global-buttons-container input:disabled::-moz-placeholder { - /* Mozilla Firefox 19+ */ - color: #6e6865; -} -.global-buttons-container input:disabled:-ms-input-placeholder { - /* Internet Explorer 10+ */ - color: #6e6865; -} diff --git a/src/main/resources/static/css/error.css b/src/main/resources/static/css/error.css index 5cc37b61..40ff7669 100644 --- a/src/main/resources/static/css/error.css +++ b/src/main/resources/static/css/error.css @@ -1,17 +1,8 @@ -h1 { - text-align: center; - margin-top: 10%; -} - p { text-align: center; margin-top: 2em; } -.button:hover { - background-color: #005b7f; -} - .features-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 3fr)); @@ -31,58 +22,21 @@ p { flex: 1; } -#support-section { - background-color: #f9f9f9; - padding: 4rem; - margin-top: 1rem; - text-align: center; -} - -#support-section h1 { - margin-top: 0; -} - -#support-section p { - margin-top: 0; -} - #button-group { display: flex; justify-content: center; flex-wrap: wrap; } +#home-button, #github-button, #discord-button { display: inline-block; padding: 1rem 2rem; margin: 1rem; - background-color: #008cba; - color: #fff; font-size: 1.2rem; text-align: center; text-decoration: none; border-radius: 3rem; transition: all 0.3s ease-in-out; -} - -#github-button:hover, -#discord-button:hover, -.home-button:hover { - background-color: #005b7f; -} - -.home-button { - display: block; - width: 200px; - height: 50px; - margin: 2em auto; - background-color: #008cba; - color: white; - text-align: center; - line-height: 50px; - text-decoration: none; - font-weight: bold; - border-radius: 25px; - transition: all 0.3s ease-in-out; -} +} \ No newline at end of file diff --git a/src/main/resources/static/css/errorBanner.css b/src/main/resources/static/css/errorBanner.css index 75618731..adeb3dfa 100644 --- a/src/main/resources/static/css/errorBanner.css +++ b/src/main/resources/static/css/errorBanner.css @@ -1,5 +1,6 @@ #errorContainer { - margin: 20px; /* adjust this value as needed */ + margin: 1rem 0rem 2rem; + border-radius: 3rem; } #helpModalDialog { @@ -18,7 +19,7 @@ } #helpModal .button:hover { - background-color: #005b7f; + background-color: var(--md-sys-color-primary); } #helpModal .features-container { @@ -40,58 +41,21 @@ flex: 1; } -#support-section { - background-color: #f9f9f9; - padding: 4rem; - margin-top: 1rem; - text-align: center; -} - -#support-section h1 { - margin-top: 0; -} - -#support-section p { - margin-top: 0; -} - #button-group { display: flex; justify-content: center; flex-wrap: wrap; } +#home-button, #github-button, #discord-button { display: inline-block; padding: 1rem 2rem; margin: 1rem; - background-color: #008cba; - color: #fff; font-size: 1.2rem; text-align: center; text-decoration: none; border-radius: 3rem; transition: all 0.3s ease-in-out; -} - -#github-button:hover, -#discord-button:hover, -.home-button:hover { - background-color: #005b7f; -} - -.home-button { - display: block; - width: 200px; - height: 50px; - margin: 2em auto; - background-color: #008cba; - color: white; - text-align: center; - line-height: 50px; - text-decoration: none; - font-weight: bold; - border-radius: 25px; - transition: all 0.3s ease-in-out; -} +} \ No newline at end of file diff --git a/src/main/resources/static/css/footer.css b/src/main/resources/static/css/footer.css index f6cf093d..b004cc27 100644 --- a/src/main/resources/static/css/footer.css +++ b/src/main/resources/static/css/footer.css @@ -10,11 +10,15 @@ display: flex; align-items: center; /* Center children horizontally */ flex-grow: 1; + flex-direction: column; } .footer-powered-by { margin-top: auto; /* Pushes the text to the bottom */ - color: grey; text-align: center; /* Centers the text inside the div */ width: 100%; /* Full width to center the text properly */ } + +.footer-icon { + font-size: 2rem; +} \ No newline at end of file diff --git a/src/main/resources/static/css/home.css b/src/main/resources/static/css/home.css index ff8d1cf7..a6f89ed0 100644 --- a/src/main/resources/static/css/home.css +++ b/src/main/resources/static/css/home.css @@ -1,18 +1,19 @@ #searchBar { - background-image: url("../images/search.svg"); - background-position: 16px 16px; - background-repeat: no-repeat; + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-container-low); width: 100%; font-size: 16px; - margin-bottom: 12px; - padding: 12px 20px 12px 40px; - border: 1px solid #ddd; + margin-bottom: 2rem; + padding: 0.75rem 3.5rem; + border: 0.1rem solid var(--md-sys-color-outline-variant); + border-radius: 3rem; + outline-color: var(--md-sys-color-outline-variant); } -.dark-mode-search { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' hei… 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E") !important; - color: #f8f9fa !important; - background-color: #212529 !important; - border-color: #343a40 !important; + +.search-icon { + position: absolute; + margin: 0.75rem 1rem; + border: 0.1rem solid transparent; } .features-container { @@ -22,23 +23,23 @@ } .feature-card { - border: 2px solid rgba(0, 0, 0, 0.25); - border-radius: 0.25rem; + border: 2px solid var(--md-sys-color-surface-5); + border-radius: 2rem; padding: 1.25rem; display: flex; flex-direction: column; align-items: flex-start; - background: rgba(13, 110, 253, 0.05); + background: var(--md-sys-color-surface-5); transition: transform 0.3s, border 0.3s; transform-origin: center center; - outline: 2px solid transparent; + outline: 0px solid transparent; } .feature-card a { text-decoration: none; - color: inherit; + color: var(--md-sys-color-on-surface); display: flex; flex-direction: column; width: 100%; @@ -50,44 +51,53 @@ } .feature-card:hover { - outline: 1px solid rgba(0, 0, 0, 0.5); cursor: pointer; transform: scale(1.1); + box-shadow: var(--md-sys-elevation-3); } -.feature-card:hover .card-title { - text-decoration: underline; -} .card-title.text-primary { - color: #000; /* Replace with your desired shade of blue */ + color: #000; } .home-card-icon { - width: 30px; - height: 30px; + width: 3rem; + height: 3rem; transform: translateY(-5px); } -.home-card-icon-colour { - filter: invert(0.2) sepia(2) saturate(50) hue-rotate(190deg); -} .favorite-icon { display: none; position: absolute; top: 10px; right: 10px; + color: var(--md-sys-color-secondary); +} + +#tool-icon { + height: 100%; +} + +#tool-text { + margin: 0.5rem 0.5rem 0rem; +} + +.card-title { + margin-bottom: 1rem; } /* Only show the favorite icons when the parent card is being hovered over */ .feature-card:hover .favorite-icon { display: block; } + .favorite-icon img { - filter: brightness(0); + filter: brightness(0) invert(var(--md-theme-filter-color)); } .jumbotron { - padding: 3rem 3rem; /* Reduce vertical padding */ + padding: 3rem 3rem; + /* Reduce vertical padding */ } .lookatme { @@ -124,3 +134,21 @@ opacity: 0; } } + +.update-notice { + animation: scale 1s infinite alternate; +} + +@keyframes scale { + 0% { + transform: scale(0.96); + } + + 100% { + transform: scale(1); + } +} + +.hidden { + visibility: hidden; +} diff --git a/src/main/resources/static/css/light-mode.css b/src/main/resources/static/css/light-mode.css deleted file mode 100644 index f7e79b90..00000000 --- a/src/main/resources/static/css/light-mode.css +++ /dev/null @@ -1,23 +0,0 @@ -/* Dark Mode Styles */ -body { - --body-background-color: 255, 255, 255; - --base-font-color: 33, 37, 41; -} - -.global-buttons-container input { - background-color: #ffffff; - /*caret-color: #ffffff;*/ - /*color: #ffffff;*/ -} -/*.global-buttons-container input:disabled::-webkit-input-placeholder { !* WebKit browsers *!*/ -/* color: #98A0AB;*/ -/*}*/ -/*.global-buttons-container input:disabled:-moz-placeholder { !* Mozilla Firefox 4 to 18 *!*/ -/* color: #98A0AB;*/ -/*}*/ -/*.global-buttons-container input:disabled::-moz-placeholder { !* Mozilla Firefox 19+ *!*/ -/* color: #98A0AB;*/ -/*}*/ -/*.global-buttons-container input:disabled:-ms-input-placeholder { !* Internet Explorer 10+ *!*/ -/* color: #98A0AB;*/ -/*}*/ diff --git a/src/main/resources/static/css/login.css b/src/main/resources/static/css/login.css index 743ee606..7ed2a90b 100644 --- a/src/main/resources/static/css/login.css +++ b/src/main/resources/static/css/login.css @@ -8,7 +8,6 @@ body { align-items: center; padding-top: 40px; padding-bottom: 40px; - background-color: #f5f5f5; } .form-signin { @@ -37,6 +36,7 @@ body { border-top-left-radius: 0; border-top-right-radius: 0; } + .container-flex { display: flex; flex-direction: column; @@ -44,41 +44,22 @@ body { width: 100%; /* Set width to 100% */ align-items: center; /* Center its children horizontally */ } + .footer-bottom { margin-top: auto; } -body.light-mode input:-webkit-autofill, -body.light-mode input:-webkit-autofill:hover, -body.light-mode input:-webkit-autofill:focus, -body.light-mode input:-webkit-autofill:active { - -webkit-text-fill-color: #212529; /* Dark font color */ - -webkit-box-shadow: 0 0 0 1000px #f8f9fa inset; /* Light background color */ + +.form-control { + border-radius: 1.25rem !important; } -/* Dark Mode */ -body.dark-mode input:-webkit-autofill, -body.dark-mode input:-webkit-autofill:hover, -body.dark-mode input:-webkit-autofill:focus, -body.dark-mode input:-webkit-autofill:active { - -webkit-text-fill-color: #f8f9fa; /* Light font color */ - -webkit-box-shadow: 0 0 0 1000px #212529 inset; /* Dark background color */ -} -/* Light Mode */ -body.light-mode .form-floating > input:focus + label { - color: #212529 !important; /* Dark text for light background */ +.form-signin .form-floating { + margin: 1rem 0px; } -/* Dark Mode */ -body.dark-mode .form-floating > input:focus + label { - color: #fff !important; /* Light text for dark background */ -} - -body.light-mode .form-floating > label { - color: #212529 !important; /* Dark text for light background */ -} - -body.dark-mode .form-floating > label { - color: #fff !important; /* Light text for dark background */ +input[type="checkbox" i] { + margin: 0px 5px; + vertical-align: middle; } /* Removing default styles for ul and li */ diff --git a/src/main/resources/static/css/multi-tool.css b/src/main/resources/static/css/multi-tool.css index 50e038ce..f9c359dc 100644 --- a/src/main/resources/static/css/multi-tool.css +++ b/src/main/resources/static/css/multi-tool.css @@ -3,43 +3,80 @@ margin: 0 auto; } -.global-buttons-container { +label { + text-align: left; + display: block; + padding: 0rem 0.25rem; + font-size: 1.25rem; +} + +.form-control { + border-radius: 16px !important; + padding: 0.75rem; + border: 1px solid var(--theme-color-outline-variant); +} + +.mt-action-bar { display: flex; gap: 10px; align-items: start; - - background-color: rgba(13, 110, 253, 0.1); - border: 1px solid rgba(0, 0, 0, 0.25); + background-color: var(--md-sys-color-surface-5); + border: none; backdrop-filter: blur(2px); - top: 10px; z-index: 10; - padding: 10px; - border-radius: 8px; -} -.global-buttons-container > * { - padding: 0.6rem 0.75rem; + padding: 1.25rem; + border-radius: 2rem; + margin: 0px 25px; } -.global-buttons-container svg { +.mt-action-bar>* { + padding-bottom: 0.5rem; +} + +.mt-action-bar svg, +.mt-action-btn svg { width: 20px; height: 20px; } + +.mt-action-bar .mt-filename { + width: 100%; +} + +.mt-action-btn { + display: flex; + gap: 10px; + align-items: start; + top: 10px; + z-index: 10; + padding: 12px 0px 0px; + width: 100%; +} + +.mt-action-btn .btn { + width: 3rem; + height: 3rem; + border-radius: 20px; + padding: 0; +} + #export-button { margin-left: auto; } +#bg-card { + background-color: var(--md-sys-color-surface-5); + border-radius: 3rem; + padding: 25px 0 0; +} + #pages-container-wrapper { - --background-color: rgba(0, 0, 0, 0.025); - --scroll-bar-color: #f1f1f1; - --scroll-bar-thumb: #888; - --scroll-bar-thumb-hover: #555; - background-color: var(--background-color); width: 100%; display: flex; flex-direction: column; - padding: 10px 25px; - border-radius: 10px; + padding: 1rem; + border-radius: 25px; overflow-y: hidden; overflow-x: auto; min-height: 275px; @@ -47,11 +84,11 @@ } #pages-container { - margin: auto; gap: 0px; display: flex; - align-items: center; - justify-content: center; + flex-wrap: wrap; + margin-left: -15px; + margin-right: -15px; } /* width */ @@ -86,6 +123,58 @@ position: relative; user-select: none; transition: width 1s linear; + margin-top: 16px; + margin-bottom: 16px; +} + +/* Pushes the last item to the left */ +.page-container:last-child { + margin-right: auto; +} + +.page-container:last-child:lang(ar), +/* Arabic */ +.page-container:last-child:lang(he), +/* Hebrew */ +.page-container:last-child:lang(fa), +/* Persian */ +.page-container:last-child:lang(ur), +/* Urdu */ +.page-container:last-child:lang(ckb), +/* Sorani Kurdish */ +.page-container:last-child:lang(ks), +/* Kashmiri */ +.page-container:last-child:lang(kk), +/* Kazakh */ +.page-container:last-child:lang(uz), +/* Uzbek */ +.page-container:last-child:lang(ky), +/* Kyrgyz */ +.page-container:last-child:lang(bal), +/* Baluchi */ +.page-container:last-child:lang(dv), +/* Divehi */ +.page-container:last-child:lang(ps), +/* Pashto */ +.page-container:last-child:lang(sdg), +/* Southern Kurdish */ +.page-container:last-child:lang(syr), +/* Syriac */ +.page-container:last-child:lang(mzn), +/* Mazanderani */ +.page-container:last-child:lang(tgl), +/* Tagalog */ +.page-container:last-child:lang(pnb), +/* Western Punjabi */ +.page-container:last-child:lang(ug), +/* Uyghur */ +.page-container:last-child:lang(nqo), +/* N'Ko */ +.page-container:last-child:lang(bqi) +/* Bakhtiari */ +{ + margin-left: auto !important; + margin-right: 0 !important; } .page-container img { @@ -109,11 +198,15 @@ .page-number { position: absolute; top: 5px; - right: 5px; - color: white; - background-color: #007bff; /* Primary blue color */ - padding: 3px 6px; - border-radius: 4px; - font-size: 12px; + right: 0px; + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-5); + padding: 6px 8px; + border-radius: 8px; + font-size: 16px; z-index: 2; } + +.tool-header { + margin: 0.5rem 1rem 2rem; +} \ No newline at end of file diff --git a/src/main/resources/static/css/navbar.css b/src/main/resources/static/css/navbar.css index f46c44a6..bd24738b 100644 --- a/src/main/resources/static/css/navbar.css +++ b/src/main/resources/static/css/navbar.css @@ -7,28 +7,18 @@ } #navbarSearch.show { - max-height: 300px; /* Adjust this to your desired max height */ -} - -#searchForm { - width: 200px; /* Adjust this value as needed */ -} - -/* Style the search results to match the navbar */ -#searchResults { - max-height: 200px; /* Adjust this value as needed */ - overflow-y: auto; - width: 100%; - max-width: 300px; /* Adjust to your preferred width */ - transition: height 0.3s ease; /* Smooth height transition */ + max-height: 300px; + /* Adjust this to your desired max height */ } #searchResults .dropdown-item { display: flex; align-items: center; white-space: nowrap; - height: 50px; /* Fixed height */ - overflow: hidden; /* Hide overflow */ + height: 50px; + /* Fixed height */ + overflow: hidden; + /* Hide overflow */ } #searchResults .icon { @@ -37,40 +27,34 @@ #searchResults .icon-text { display: inline; - overflow: hidden; /* Hide overflow */ - text-overflow: ellipsis; /* Add ellipsis for long text */ + overflow: hidden; + /* Hide overflow */ + text-overflow: ellipsis; + /* Add ellipsis for long text */ } #search-icon i { - font-size: 24px; /* Adjust this to your desired size */ + font-size: 24px; + /* Adjust this to your desired size */ transition: color 0.3s; } #search-icon:hover i { - color: #666; /* Adjust this to your hover color */ + color: #666; + /* Adjust this to your hover color */ } .search-input { - transition: - border 0.3s, - box-shadow 0.3s; + transition: border 0.3s, box-shadow 0.3s; } .search-input:focus { - border-color: #666; /* Adjust this to your focus color */ - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); /* Adjust this to your desired shadow */ + border-color: #666; + /* Adjust this to your focus color */ + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); + /* Adjust this to your desired shadow */ } -/* Set a fixed height and styling for each search result item */ -.search-results a { - display: flex; - align-items: center; - gap: 10px; /* space between icon and text */ - height: 40px; /* Adjust based on your design */ - overflow: hidden; /* Prevent content from overflowing */ - white-space: nowrap; /* Prevent text from wrapping to next line */ - text-overflow: ellipsis; /* Truncate text if it's too long */ -} .main-icon { width: 36px; @@ -79,34 +63,59 @@ transform: translateY(-2px); } -.icon { - width: 16px; - height: 16px; +.nav-icon { vertical-align: middle; - transform: translateY(-2px); + font-size: 2rem !important; + padding: 0.25rem; + border-radius: 1rem; } -.icon + .icon { +.icon+.icon { margin-left: -4px; } .icon-text { margin-left: 4px; + margin-right: 4px; + display: inline-flex; + flex-direction: column; + justify-content: space-between; + vertical-align: middle; +} + +.dropdown-item .icon-text { + text-wrap: wrap; + word-break: break-word; + width: 80%; +} + +span.icon-text::after { + content: attr(data-text); + content: attr(data-text) / ""; + font-weight: 600; + height: 0; + visibility: hidden; + overflow: hidden; + user-select: none; + pointer-events: none; } .nav-item-separator { position: relative; - margin: 0 4px; /* Adjust the margin as needed */ + margin: 0 4px; + /* Adjust the margin as needed */ } .nav-item-separator::before { content: ""; position: absolute; left: 0; - top: 10%; /* Adjust the top and bottom margins as needed */ + top: 10%; + /* Adjust the top and bottom margins as needed */ bottom: 10%; width: 1px; - background-color: #ccc; /* Adjust the color as needed */ + background-color: #ccc; + /* Adjust the color as needed */ } .navbar-icon { @@ -114,3 +123,168 @@ height: 20px; transform: translateY(-2px); } + +.navbar-toggler { + color: var(--md-sys-color-on-surface-variant); +} + +.dropdown-menu.scrollable-y { + overflow-y: scroll; + height: 360px; +} + +/* Dropdown Scrollbar*/ +.scrollable-y { + overflow-y: scroll; + height: 360px; +} + +.scrollable-y::-webkit-scrollbar { + background: transparent; + width: 0.7rem; +} + +.scrollable-y::-webkit-scrollbar-track { + background: transparent; +} + +.scrollable-y::-webkit-scrollbar-thumb { + border-radius: 2rem; + background-color: var(--md-sys-color-surface-5); + border: 3px solid var(--md-sys-color-surface-5); +} + +/* Mega Menu */ +.dropdown-mega .dropdown-menu { + width: 98%; +} + +.dropdown-mega .title { + padding-bottom: 1rem; + margin: 0; +} + +.dropdown-menu .list-group { + padding: 1rem; +} + +.mega-content .dropdown-item:focus .nav-icon, +.mega-content .dropdown-item:hover .nav-icon, +.mega-content .dropdown-item.active .nav-icon { + background-color: transparent; +} + +.dropdown-item:focus.sign, +.dropdown-item:hover.sign, +.dropdown-item.active.sign { + color: var(--md-nav-on-section-color-sign); + background-color: var(--md-nav-section-color-sign); +} + +.dropdown-item:focus.organize, +.dropdown-item:hover.organize, +.dropdown-item.active.organize { + color: var(--md-nav-on-section-color-organize); + background-color: var(--md-nav-section-color-organize); +} + +.dropdown-item:focus.convert, +.dropdown-item:hover.convert, +.dropdown-item.active.convert { + color: var(--md-nav-on-section-color-convert); + background-color: var(--md-nav-section-color-convert); +} + +.dropdown-item:focus.image, +.dropdown-item:hover.image, +.dropdown-item.active.image { + color: var(--md-nav-on-section-color-image); + background-color: var(--md-nav-section-color-image); +} + +.dropdown-item:focus.word, +.dropdown-item:hover.word, +.dropdown-item.active.word { + color: var(--md-nav-on-section-color-word); + background-color: var(--md-nav-section-color-word); +} + +.dropdown-item:focus.ppt, +.dropdown-item:hover.ppt, +.dropdown-item.active.ppt { + color: var(--md-nav-on-section-color-ppt); + background-color: var(--md-nav-section-color-ppt); +} + +.dropdown-item:focus.security, +.dropdown-item:hover.security, +.dropdown-item.active.security { + color: var(--md-nav-on-section-color-security); + background-color: var(--md-nav-section-color-security); +} + +.dropdown-item:focus.other, +.dropdown-item:hover.other, +.dropdown-item.active.other { + color: var(--md-nav-on-section-color-other); + background-color: var(--md-nav-section-color-other); +} + +.dropdown-item:focus.advance, +.dropdown-item:hover.advance, +.dropdown-item.active.advance { + color: var(--md-nav-on-section-color-advance); + background-color: var(--md-nav-section-color-advance); +} + +/* Dropdown min-width */ +.dropdown-mw-28 { + min-width: 280px; +} + +.dropdown-mw-20 { + min-width: 200px; +} + +/* Dropdown open on hover */ +.dropdown-menu { + padding-top: 0.5rem; + top: auto; + left: 0; +} + +.dropdown-menu[data-bs-popper] { + top: auto; + left: 0; + margin-top: 0 !important; +} + +.dropdown-menu-wrapper { + padding: 1.5rem 0; + border-radius: 1rem; + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-container); + border: 1px solid var(--md-sys-color-surface-5); + box-shadow: var(--md-sys-elevation-2); +} + +.dropdown-menu-tp { + color: transparent; + background-color: transparent; + border: none; + box-shadow: none; +} + +.icon-hide { + display: inline-flex; +} + +@media (min-width:992px) { + .dropdown:hover .dropdown-menu { + display: block; + margin-top: 0; + } + .icon-hide { + display: none; + } +} \ No newline at end of file diff --git a/src/main/resources/static/css/pdfActions.css b/src/main/resources/static/css/pdfActions.css index 455de860..e8a51224 100644 --- a/src/main/resources/static/css/pdfActions.css +++ b/src/main/resources/static/css/pdfActions.css @@ -9,19 +9,33 @@ opacity: 1; } -.pdf-actions_button-container > * { +.pdf-actions_button-container>* { padding: 0.25rem 0.5rem; - margin: 3px; display: block; } +.pdf-actions_button-container>*:focus { + box-shadow: none !important; +} + +.pdf-actions_button-container .btn { + border-radius: 12px; +} + +.pdf-actions_button-container> :first-child, +.pdf-actions_container:first-child>.pdf-actions_button-container> :first-child+* { + border-radius: 12px 0px 0px 12px; +} + .pdf-actions_container svg { width: 16px; height: 16px; } + .pdf-actions_container:nth-child(1) .pdf-actions_move-left-button { display: none; } + .pdf-actions_container:last-child .pdf-actions_move-right-button { display: none; } @@ -37,6 +51,25 @@ transition: opacity 0.2s; } +.pdf-actions_insert-file-button-container button .material-symbols-rounded { + vertical-align: top; +} + +.pdf-actions_insert-file-button-container.left button, +.pdf-actions_insert-file-button-container.right button { + padding: 0.45rem; +} + +.pdf-actions_button-container button .material-symbols-rounded { + font-size: 1.25rem; + vertical-align: sub; +} + +.pdf-actions_insert-file-button { + padding: 0; + vertical-align: sub; +} + .pdf-actions_insert-file-button-container.left { left: -20px; } @@ -63,11 +96,11 @@ html[dir="rtl"] .pdf-actions_insert-file-button-container.left { translate: 0 -50%; } -html[dir="ltr"] .pdf-actions_container:last-child > .pdf-actions_insert-file-button-container.right { +html[dir="ltr"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.right { display: block; } -html[dir="rtl"] .pdf-actions_container:last-child > .pdf-actions_insert-file-button-container.left { +html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-button-container.left { display: block; } @@ -75,6 +108,7 @@ html[dir="rtl"] .pdf-actions_container:last-child > .pdf-actions_insert-file-but opacity: 1; transition: opacity 0.05s; } + .pdf-actions_insert-file-button { position: absolute; top: 50%; @@ -82,4 +116,4 @@ html[dir="rtl"] .pdf-actions_container:last-child > .pdf-actions_insert-file-but translate: 50% -50%; aspect-ratio: 1; border-radius: 100px; -} +} \ No newline at end of file diff --git a/src/main/resources/static/css/pipeline.css b/src/main/resources/static/css/pipeline.css index 9468333b..2b7218f7 100644 --- a/src/main/resources/static/css/pipeline.css +++ b/src/main/resources/static/css/pipeline.css @@ -4,18 +4,23 @@ .bordered-box { border: 1px solid #ddd; - padding: 20px; - margin: 20px; + padding: 2rem; + margin: 2rem; width: 70%; } .center-element { - width: 80%; + width: 100%; text-align: center; margin: auto; + margin-top: 2rem; } .element-margin { - margin: 10px 0; + margin: 1rem 0; /* Adjust this value to increase/decrease the margin as needed */ } + +#pipelineList { + margin-bottom: 2rem; +} \ No newline at end of file diff --git a/src/main/resources/static/css/theme/componentes.css b/src/main/resources/static/css/theme/componentes.css new file mode 100644 index 00000000..d588d686 --- /dev/null +++ b/src/main/resources/static/css/theme/componentes.css @@ -0,0 +1,917 @@ +/* Dark Mode Styles */ +body, +select, +textarea { + background-color: var(--md-sys-color-surface); + color: var(--md-sys-color-on-surface); +} + +.transition-theme { + transition: background 0.5s ease, color 0.5s ease, border 0.5s ease; +} + + +/*.global-buttons-container input:disabled::-webkit-input-placeholder { !* WebKit browsers *!*/ +/* color: #98A0AB;*/ +/*}*/ +/*.global-buttons-container input:disabled:-moz-placeholder { !* Mozilla Firefox 4 to 18 *!*/ +/* color: #98A0AB;*/ +/*}*/ +/*.global-buttons-container input:disabled::-moz-placeholder { !* Mozilla Firefox 19+ *!*/ +/* color: #98A0AB;*/ +/*}*/ +/*.global-buttons-container input:disabled:-ms-input-placeholder { !* Internet Explorer 10+ *!*/ +/* color: #98A0AB;*/ +/*}*/ +/* Scrollbar */ +*::-webkit-scrollbar { + background: var(--md-sys-color-surface); + width: 1rem; +} + +*::-webkit-scrollbar-track { + background: var(--md-sys-color-surface); +} + +*::-webkit-scrollbar-thumb { + border-radius: 2rem; + background-color: var(--md-sys-color-surface-5); + border: 5px solid var(--md-sys-color-surface-5); +} + +/* Alerts */ +.alert { + border-radius: 3rem; +} + +/* Table */ +td { + word-break: break-word; +} + +.input-group-append { + margin: 0rem 0.5rem !important; +} + +.card-header { + background-color: transparent; + border-bottom: none; +} + +#bg-card { + background-color: var(--md-sys-color-surface-5); + border-radius: 3rem; + padding: 2.5rem; +} + +.card { + padding: 1.25rem; + border-radius: 2rem; + background-color: var(--md-sys-color-surface-5); + border: none; +} + +/* Modal */ +.modal-content { + background-color: var(--md-sys-color-surface); + border-radius: 2rem; + border: transparent; +} + +.modal-header, +.modal-body, +.modal-footer { + background-color: var(--md-sys-color-surface-5); + padding: 1.5rem 2rem; + border: none; +} + +.modal-header { + border-radius: 2rem 2rem 0rem 0rem; +} + +.modal-footer { + border-radius: 0rem 0rem 2rem 2rem; +} + +/* Icon fill */ +.material-symbols-rounded { + vertical-align: text-top; +} + +/* Navbar Icon*/ +.nav-icon { + color: var(--md-sys-color-surface); +} + +.sign .nav-icon, +.sign.tool-header-icon { + color: var(--md-nav-on-section-color-sign); + background-color: var(--md-nav-section-color-sign); +} + +.organize .nav-icon, +.organize.tool-header-icon { + color: var(--md-nav-on-section-color-organize); + background-color: var(--md-nav-section-color-organize); +} + +.convert .nav-icon, +.convert.tool-header-icon { + color: var(--md-nav-on-section-color-convert); + background-color: var(--md-nav-section-color-convert); +} + +.security .nav-icon, +.security.tool-header-icon { + color: var(--md-nav-on-section-color-security); + background-color: var(--md-nav-section-color-security); +} + +.other .nav-icon, +.other.tool-header-icon { + color: var(--md-nav-on-section-color-other); + background-color: var(--md-nav-section-color-other); +} + +.advance .nav-icon, +.advance.tool-header-icon { + color: var(--md-nav-on-section-color-advance); + background-color: var(--md-nav-section-color-advance); +} + +.image .nav-icon, +.image.tool-header-icon { + color: var(--md-nav-on-section-color-image); + background-color: var(--md-nav-section-color-image); +} + +.word .nav-icon, +.word.tool-header-icon { + color: var(--md-nav-on-section-color-word); + background-color: var(--md-nav-section-color-word); +} + +.ppt .nav-icon, +.ppt.tool-header-icon { + color: var(--md-nav-on-section-color-ppt); + background-color: var(--md-nav-section-color-ppt); +} + +/* Tool Page Header*/ +.tool-header { + margin-bottom: 2rem; +} + +.tool-header .tool-header-icon { + margin: 0px 1rem; + height: 4rem; + width: 4rem; + border-radius: 25px; + font-size: 3rem; + padding: 0.5rem; + vertical-align: middle; + pointer-events: none; + user-select: none; + -webkit-user-select: none; + -webkit-tap-highlight-color: rgb(0 0 0 / 0%); +} + +.tool-header .tool-header-text { + font-size: 2.5rem; + font-weight: 400; + vertical-align: middle; +} + +/* Home Card Colors*/ +.feature-card .nav-icon { + vertical-align: middle; + font-size: 2rem !important; + padding: 0.5rem; + border-radius: 1.25rem; + color: var(--md-sys-color-surface); +} + +.feature-card .sign .nav-icon { + color: var(--md-nav-on-section-color-sign); + background-color: var(--md-nav-section-color-sign); +} + +.feature-card .organize .nav-icon { + color: var(--md-nav-on-section-color-organize); + background-color: var(--md-nav-section-color-organize); +} + +.feature-card .convert .nav-icon { + color: var(--md-nav-on-section-color-convert); + background-color: var(--md-nav-section-color-convert); +} + +.feature-card .security .nav-icon { + color: var(--md-nav-on-section-color-security); + background-color: var(--md-nav-section-color-security); +} + +.feature-card .other .nav-icon { + color: var(--md-nav-on-section-color-other); + background-color: var(--md-nav-section-color-other); +} + +.feature-card .advance .nav-icon { + color: var(--md-nav-on-section-color-advance); + background-color: var(--md-nav-section-color-advance); +} + +.feature-card .image .nav-icon { + color: var(--md-nav-on-section-color-image); + background-color: var(--md-nav-section-color-image); +} + +.feature-card .word .nav-icon { + color: var(--md-nav-on-section-color-word); + background-color: var(--md-nav-section-color-word); +} + +.feature-card .ppt .nav-icon { + color: var(--md-nav-on-section-color-ppt); + background-color: var(--md-nav-section-color-ppt); +} + +/* Buttons Components */ +.btn { + border-radius: 1.25rem; +} + +.btn-close { + width: auto; + height: auto; + color: var(--md-sys-color-on-surface); + background: transparent; +} + +.btn-close:hover { + color: var(--md-sys-color-on-surface); +} + +.modal-header .btn-close { + margin: 0; +} + +/* Primary btn */ +.btn-primary { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); + box-shadow: none !important; +} + +.btn-primary.disabled, +.btn-primary:disabled { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); +} + +.btn-primary:hover { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:active+.btn-primary, +.btn-check:checked+.btn-primary, +.btn-primary.active, +.btn-primary:active, +.show>.btn-primary.dropdown-toggle { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:focus+.btn-primary, +.btn-primary:focus { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Secondary btn */ +.btn-secondary { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); + box-shadow: none !important; +} + +.btn-secondary.disabled, +.btn-secondary:disabled { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); +} + +.btn-secondary:hover { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:active+.btn-secondary, +.btn-check:checked+.btn-secondary, +.btn-secondary.active, +.btn-secondary:active, +.show>.btn-secondary.dropdown-toggle { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:focus+.btn-secondary, +.btn-secondary:focus { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Danger btn */ +.btn-danger { + color: var(--md-sys-color-on-error); + background-color: var(--md-sys-color-error); + border-color: var(--md-sys-color-error); + box-shadow: none !important; +} + +.btn-danger.disabled, +.btn-danger:disabled { + color: var(--md-sys-color-on-error); + background-color: var(--md-sys-color-error); + border-color: var(--md-sys-color-error); +} + +.btn-danger:hover { + color: var(--md-sys-color-on-error); + background-color: var(--md-sys-color-error); + border-color: var(--md-sys-color-error); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:active+.btn-danger, +.btn-check:checked+.btn-danger, +.btn-danger.active, +.btn-danger:active, +.show>.btn-danger.dropdown-toggle { + color: var(--md-sys-color-on-error); + background-color: var(--md-sys-color-error); + border-color: var(--md-sys-color-error); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:focus+.btn-danger, +.btn-danger:focus { + color: var(--md-sys-color-on-error); + background-color: var(--md-sys-color-error); + border-color: var(--md-sys-color-error); + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Info btn */ +.btn-info { + color: var(--md-sys-color-on-tertiary); + background-color: var(--md-sys-color-tertiary); + border-color: var(--md-sys-color-tertiary); + box-shadow: none !important; +} + +.btn-info .disabled, +.btn-info:disabled { + color: var(--md-sys-color-on-tertiary); + background-color: var(--md-sys-color-tertiary); + border-color: var(--md-sys-color-tertiary); +} + +.btn-info:hover { + color: var(--md-sys-color-on-tertiary); + background-color: var(--md-sys-color-tertiary); + border-color: var(--md-sys-color-tertiary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:active+.btn-info, +.btn-check:checked+.btn-info, +.btn-info .active, +.btn-info:active, +.show>.btn-info.dropdown-toggle { + color: var(--md-sys-color-on-tertiary); + background-color: var(--md-sys-color-tertiary); + border-color: var(--md-sys-color-tertiary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +.btn-check:focus+.btn-info, +.btn-info:focus { + color: var(--md-sys-color-on-tertiary); + background-color: var(--md-sys-color-tertiary); + border-color: var(--md-sys-color-tertiary); + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Info btn */ +.btn-success { + box-shadow: none !important; +} + +.btn-success:hover, +.btn-check:active+.btn-success, +.btn-check:checked+.btn-success, +.btn-success .active, +.btn-success:active, +.show>.btn-success.dropdown-toggle, +.btn-check:focus+.btn-success, +.btn-success:focus { + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Warning btn */ +.btn-warning { + box-shadow: none !important; +} + +.btn-warning:hover, +.btn-check:active+.btn-warning, +.btn-check:checked+.btn-warning, +.btn-warning .active, +.btn-warning:active, +.show>.btn-warning.dropdown-toggle, +.btn-check:focus+.btn-warning, +.btn-warning:focus { + box-shadow: var(--md-sys-elevation-3) !important; +} + +/* Outline Primary btn */ +.btn-outline-primary { + color: var(--md-sys-color-primary); + background-color: transparent; + border-color: var(--md-sys-color-primary); + box-shadow: none !important; +} + +.btn-outline-primary .disabled, +.btn-outline-primary:disabled { + color: var(--md-sys-color-primary); + background-color: transparent; + border-color: var(--md-sys-color-primary); +} + +.btn-outline-primary:hover { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); +} + +.btn-check:active+.btn-outline-primary, +.btn-check:checked+.btn-outline-primary, +.btn-outline-primary .active, +.btn-outline-primary:active, +.show>.btn-outline-primary.dropdown-toggle { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); +} + +.btn-check:focus+.btn-outline-primary, +.btn-outline-primary:focus { + color: var(--md-sys-color-on-primary); + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); +} + +/* Outline Secondary btn */ +.btn-outline-secondary { + color: var(--md-sys-color-secondary); + background-color: transparent; + border-color: var(--md-sys-color-secondary); + box-shadow: none !important; +} + +.btn-outline-secondary .disabled, +.btn-outline-secondary:disabled { + color: var(--md-sys-color-secondary); + background-color: transparent; + border-color: var(--md-sys-color-secondary); +} + +.btn-outline-secondary:hover { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); +} + +.btn-check:active+.btn-outline-secondary, +.btn-check:checked+.btn-outline-secondary, +.btn-outline-secondary .active, +.btn-outline-secondary:active, +.show>.btn-outline-secondary.dropdown-toggle { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); +} + +.btn-check:focus+.btn-outline-secondary, +.btn-outline-secondary:focus { + color: var(--md-sys-color-on-secondary); + background-color: var(--md-sys-color-secondary); + border-color: var(--md-sys-color-secondary); +} + +/* Disabled btn */ +.btn.disabled, +.btn:disabled, +fieldset:disabled .btn { + pointer-events: none; + opacity: 0.65; +} + +/* Range Slider */ +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px var(--md-sys-color-surface), 0 0 0 .25rem var(--md-sys-color-primary) +} + +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px var(--md-sys-color-surface), 0 0 0 .25rem var(--md-sys-color-primary) +} + +.form-range::-webkit-slider-thumb { + background-color: var(--md-sys-color-primary); +} + + +.form-range::-webkit-slider-thumb:active { + background-color: var(--md-sys-color-primary) +} + +.form-range::-webkit-slider-runnable-track { + background-color: var(--md-sys-color-on-primary) +} + +.form-range::-moz-range-thumb { + background-color: var(--md-sys-color-primary); +} + + +/* checkbox */ +.form-check { + margin-bottom: 1rem; +} + +.form-check-label { + margin-left: 0.5rem; + margin-right: 0.5rem; +} + +.form-check-input { + width: 1.5rem; + height: 1.5rem; + margin: 0; + background-color: var(--md-sys-color-surface); + border: 2px solid var(--md-sys-color-outline-variant); +} + +.form-check-input:checked { + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-outline-variant); + border: none; +} + +.form-check-input:focus { + border-color: var(--md-sys-color-outline-variant); + outline: 0; + box-shadow: 0 0 0 .25rem var(--md-sys-color-outline-variant); +} + +.form-check-input:checked[type=checkbox] { + background-image: none; +} + +.form-check input[type="checkbox"]:checked+span.material-symbols-rounded { + display: block; +} + +.form-check span.material-symbols-rounded { + display: none; + color: var(--md-sys-color-surface); + position: absolute; + margin-left: -1.5rem; + margin-right: -1.5rem; + pointer-events: none; + user-select: none; + -webkit-user-select: none; + -webkit-tap-highlight-color: rgb(0 0 0 / 0%); +} + +.form-check { + min-height: 22px; + padding-left: 0; +} + +.form-check > label { + padding-left: 29px !important; + min-height: 22px; + line-height: 22px; + display: inline-block; + position: relative; + vertical-align: top; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; + padding-right: 29px !important; +} + +.form-check > input:first-child { + position: absolute !important; + opacity: 0; + margin: 0; + background-color: var(--md-sys-state-hover-opacity); + border-radius: 50%; + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + display: block; + width: 22px; + height: 22px; + outline: none; + transform: scale(1.65); + -ms-transform: scale(1.65); + transition: opacity .3s; +} + +.form-check > input:first-child:hover { + opacity: 1; + transform: scale(1.65); + -ms-transform: scale(1.65); +} + +.form-check > input:first-child:disabled { + cursor: default; +} + +.form-check > input:first-child:disabled + label, +.form-check > input:first-child:disabled + input[type="hidden"] + label, +.form-check > input:first-child:disabled + label::before, +.form-check > input:first-child:disabled + input[type="hidden"] + label::before { + pointer-events: none; + cursor: default; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} + +.form-check > input:first-child + label::before, +.form-check > input:first-child + input[type="hidden"] + label::before { + content: ""; + display: inline-block; + position: absolute; + width: 22px; + height: 22px; + border: 2px solid var(--md-sys-color-on-surface-variant); + border-radius: 3px; + margin-left: -29px; + box-sizing: border-box; + margin-right: -29px; +} + +.form-check > input:first-child:checked + label::after, +.form-check > input:first-child:checked + input[type="hidden"] + label::after { + content: ""; + display: inline-block; + position: absolute; + top: 0; + left: 0; + width: 7px; + height: 10px; + border: solid 2px; + border-left: none; + border-top: none; + transform: translate(7.75px, 4.5px) rotate(45deg); + -ms-transform: translate(7.75px, 4.5px) rotate(45deg); + box-sizing: border-box; + right: 0; + margin-right: 14px; + border-bottom-color: var(--md-sys-color-on-primary); + border-right-color: var(--md-sys-color-on-primary); +} + +.form-check > input:first-child::-ms-check { + opacity: 0; + border-radius: 50%; + background-color: var(--md-sys-color-primary); +} + +.form-check > input:first-child:active { + transform: scale(0); + -ms-transform: scale(0); + opacity: 1; + transition: opacity 0s, transform 0s; +} + +.form-check > input[type="radio"]:first-child + label::before, +.form-check > input[type="radio"]:first-child + input[type="hidden"] + label::before { + border-radius: 50%; +} + +.form-check > input[type="radio"]:first-child:checked + label::before, +.form-check > input[type="radio"]:first-child:checked + input[type="hidden"] + label::before { + background-color: transparent; +} + +.form-check > input[type="radio"]:first-child:checked + label::after, +.form-check > input[type="radio"]:first-child:checked + input[type="hidden"] + label::after { + content: ""; + position: absolute; + width: 10px; + height: 10px; + border-radius: 50%; + border: none; + top: 6px; + left: 6px; + transform: none; + -ms-transform: none; +} + +.form-check > input[type="checkbox"]:first-child:checked + label::after, +.form-check > input[type="checkbox"]:first-child:checked + input[type="hidden"] + label::after { + width: 8px; + height: 14px; + transform: translate(7px, 2px) rotate(45deg); + -ms-transform: translate(7px, 2px) rotate(45deg); +} + +.form-check-inline { + display: inline-block; +} + +.form-check-inline + .form-check-inline { + margin-left: .75rem; + margin-top: 6px; +} + +.form-check > input:first-child:checked + label::before, +.form-check > input:first-child:checked + input[type="hidden"] + label::before { + background-color: var(--md-sys-color-primary); + border-color: var(--md-sys-color-primary); +} + +/* Forms */ +textarea.form-control { + border-radius: 1.5rem !important; +} + +.form-control, +.form-select, +.form-control:disabled, +.form-control[readonly] { + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-container-low); + border-color: var(--md-sys-color-outline-variant); + border-radius: 3rem !important; +} + +.form-control:focus, +.form-select:focus { + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-container-lowest); + border-color: var(--md-sys-color-outline-variant); + outline: 0; + box-shadow: 0 0 0 0.25rem var(--md-sys-color-outline-variant); +} + +/* Navbar Components */ +.navbar-brand { + color: var(--md-sys-color-on-surface) !important; +} + +.nav-link { + transition: none !important; + padding: 0.5rem 1rem !important; + border: 1px transparent; +} + +.navbar-nav li { + flex: 1; +} + +.navbar-nav .nav-link { + color: var(--md-sys-color-on-surface-variant); +} + +.navbar-nav .nav-link:focus, +.navbar-nav .nav-link:hover { + color: var(--md-sys-color-on-secondary-container); + background-color: var(--md-sys-color-surface-3); + border-radius: 3rem; + font-weight: 500; + font-variation-settings: var(--md-sys-icon-fill-1); +} + +.navbar-nav .nav-link.active, +.navbar-nav .show>.nav-link { + color: var(--md-sys-color-on-secondary-container); + background-color: var(--md-sys-color-surface-5); + border-radius: 3rem; + font-weight: 500; + font-variation-settings: var(--md-sys-icon-fill-1); +} + +.menu-title { + padding: 0 1rem; +} + +.dropdown-menu { + margin: 0 1%; + padding: 1.5rem 0; + border-radius: 1rem; + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-container); + border: 1px solid var(--md-sys-color-surface-5); + box-shadow: var(--md-sys-elevation-2); +} + +.dropdown-item { + color: var(--md-sys-color-on-surface); + padding: 0.25rem 1rem; +} + +.dropdown-item:focus, +.dropdown-item:hover { + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-5); + border-radius: 3rem; + font-weight: 500; + font-variation-settings: var(--md-sys-icon-fill-1); +} + +.dropdown-item.active, +.dropdown-item:active { + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-5); + border-radius: 3rem; + font-weight: 500; + font-variation-settings: var(--md-sys-icon-fill-1); +} + +/* list-group-item */ +.list-group-item { + color: var(--md-sys-color-on-surface); + background-color: var(--md-sys-color-surface-5); + border: 1px solid var(--md-sys-color-outline-variant); +} + +.list-group-item:first-child { + border-radius: 1rem 1rem 0rem 0rem; +} + +.list-group-item:last-child { + border-radius: 0rem 0rem 1rem 1rem; +} + +.list-group-item:only-child { + border-radius: 1rem 1rem 1rem 1rem; +} + +.list-group-item .btn { + padding: .375rem .5rem; +} + +/*Alert */ +.alert-container { + padding: 2rem 3rem; + border-radius: 3rem; + margin: 1rem 0rem 2rem; +} + +.alert-header { + display: flex !important; + justify-content: space-between; +} + +.alert-heading { + font-size: calc(1.275rem + .3vw); +} + +.alert-dismissible .btn-close { + position: relative; + padding: 0; +} + +.alert-danger { + color: var(--md-sys-color-on-error-container); + background-color: var(--md-sys-color-error-container); + border-color: transparent; +} \ No newline at end of file diff --git a/src/main/resources/static/css/theme/font.css b/src/main/resources/static/css/theme/font.css new file mode 100644 index 00000000..dfb1c1b8 --- /dev/null +++ b/src/main/resources/static/css/theme/font.css @@ -0,0 +1,22 @@ +@font-face { + font-family: 'Material Symbols Rounded'; + font-style: normal; + font-weight: 100 700; + src: url(../../fonts/google-symbol.woff2) format('woff2'); +} + +.material-symbols-rounded { + font-family: 'Material Symbols Rounded'; + font-weight: normal; + font-style: normal; + font-size: 24px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; +} \ No newline at end of file diff --git a/src/main/resources/static/css/theme/theme.css b/src/main/resources/static/css/theme/theme.css new file mode 100644 index 00000000..3c9565d1 --- /dev/null +++ b/src/main/resources/static/css/theme/theme.css @@ -0,0 +1,34 @@ +:where(html, .light-theme, .dark-theme), +.tokens, +:host { + /* Define surface colors based on primary color */ + --md-sys-color-surface-1: color-mix(in srgb, var(--md-sys-color-primary) 13%, rgba(0, 0, 0, 0.05) 5%); + --md-sys-color-surface-2: color-mix(in srgb, var(--md-sys-color-primary) 13%, rgba(0, 0, 0, 0.08) 5%); + --md-sys-color-surface-3: color-mix(in srgb, var(--md-sys-color-primary) 13%, rgba(0, 0, 0, 0.11) 5%); + --md-sys-color-surface-4: color-mix(in srgb, var(--md-sys-color-primary) 13%, rgba(0, 0, 0, 0.12) 5%); + --md-sys-color-surface-5: color-mix(in srgb, var(--md-sys-color-primary) 13%, rgba(0, 0, 0, 0.14) 5%); + /* Icon fill */ + --md-sys-icon-fill-0: 'FILL' 0, 'wght' 500; + --md-sys-icon-fill-1: 'FILL' 1, 'wght' 500; + /* Hover Color */ + --md-sys-state-hover-opacity: color-mix(in srgb, var(--md-sys-color-primary), rgba(0, 0, 0, 0) 80%); + /* Shadow */ + --md-sys-color-shadow: #000000; + --md-elevation-shadow-color-rgb: 0, 0, 0; + --md-elevation-shadow-color: var(--md-elevation-shadow-color-rgb); + /* Shadow Elevation*/ + --md-sys-elevation-0: 0px 0px 0px 0px rgb(var(--md-elevation-shadow-color), 0.2), 0px 0px 0px 0px rgb(var(--md-elevation-shadow-color), 0.14), 0px 0px 0px 0px rgb(var(--md-elevation-shadow-color), 0.12); + --md-sys-elevation-1: 0px 3px 1px -2px rgb(var(--md-elevation-shadow-color), 0.2), 0px 2px 2px 0px rgb(var(--md-elevation-shadow-color), 0.14), 0px 1px 5px 0px rgb(var(--md-elevation-shadow-color), 0.12); + --md-sys-elevation-2: 0px 2px 4px -1px rgb(var(--md-elevation-shadow-color), 0.2), 0px 4px 5px 0px rgb(var(--md-elevation-shadow-color), 0.14), 0px 1px 10px 0px rgb(var(--md-elevation-shadow-color), 0.12); + --md-sys-elevation-3: 0px 5px 5px -3px rgb(var(--md-elevation-shadow-color), 0.2), 0px 8px 10px 1px rgb(var(--md-elevation-shadow-color), 0.14), 0px 3px 14px 2px rgb(var(--md-elevation-shadow-color), 0.12); + --md-sys-elevation-4: 0px 5px 5px -3px rgb(var(--md-elevation-shadow-color) / 0.2), 0px 8px 10px 1px rgb(var(--md-elevation-shadow-color), 0.14), 0px 3px 14px 2px rgb(var(--md-elevation-shadow-color), 0.12); + --md-sys-elevation-5: 0px 8px 10px -6px rgb(var(--md-elevation-shadow-color), 0.2), 0px 16px 24px 2px rgb(var(--md-elevation-shadow-color), 0.14), 0px 6px 30px 5px rgb(var(--md-elevation-shadow-color), 0.12); +} + +.fill { + font-variation-settings: var(--md-sys-icon-fill-1); +} + +.no-fill { + font-variation-settings: var(--md-sys-icon-fill-0); +} \ No newline at end of file diff --git a/src/main/resources/static/css/theme/theme.dark.css b/src/main/resources/static/css/theme/theme.dark.css new file mode 100644 index 00000000..ad665788 --- /dev/null +++ b/src/main/resources/static/css/theme/theme.dark.css @@ -0,0 +1,73 @@ +:root { + /* Colors */ + --md-sys-color-primary: rgb(162 201 255); + --md-sys-color-surface-tint: rgb(162 201 255); + --md-sys-color-on-primary: rgb(0 49 92); + --md-sys-color-primary-container: rgb(0 118 208); + --md-sys-color-on-primary-container: rgb(255 255 255); + --md-sys-color-secondary: rgb(169 201 246); + --md-sys-color-on-secondary: rgb(12 49 87); + --md-sys-color-secondary-container: rgb(29 62 100); + --md-sys-color-on-secondary-container: rgb(180 210 255); + --md-sys-color-tertiary: rgb(193 194 248); + --md-sys-color-on-tertiary: rgb(42 44 88); + --md-sys-color-tertiary-container: rgb(110 112 161); + --md-sys-color-on-tertiary-container: rgb(255 255 255); + --md-sys-color-error: rgb(255 180 171); + --md-sys-color-on-error: rgb(105 0 5); + --md-sys-color-error-container: rgb(147 0 10); + --md-sys-color-on-error-container: rgb(255 218 214); + --md-sys-color-background: rgb(15 20 26); + --md-sys-color-on-background: rgb(223 226 235); + --md-sys-color-surface: rgb(15 20 26); + --md-sys-color-on-surface: rgb(223 226 235); + --md-sys-color-surface-variant: rgb(64 71 83); + --md-sys-color-on-surface-variant: rgb(192 199 213); + --md-sys-color-outline: rgb(138 145 158); + --md-sys-color-outline-variant: rgb(64 71 83); + --md-sys-color-shadow: rgb(0 0 0); + --md-sys-color-scrim: rgb(0 0 0); + --md-sys-color-inverse-surface: rgb(223 226 235); + --md-sys-color-inverse-on-surface: rgb(45 49 55); + --md-sys-color-inverse-primary: rgb(0 96 170); + --md-sys-color-primary-fixed: rgb(211 228 255); + --md-sys-color-on-primary-fixed: rgb(0 28 56); + --md-sys-color-primary-fixed-dim: rgb(162 201 255); + --md-sys-color-on-primary-fixed-variant: rgb(0 72 130); + --md-sys-color-secondary-fixed: rgb(211 228 255); + --md-sys-color-on-secondary-fixed: rgb(0 28 56); + --md-sys-color-secondary-fixed-dim: rgb(169 201 246); + --md-sys-color-on-secondary-fixed-variant: rgb(40 72 111); + --md-sys-color-tertiary-fixed: rgb(225 224 255); + --md-sys-color-on-tertiary-fixed: rgb(20 22 66); + --md-sys-color-tertiary-fixed-dim: rgb(193 194 248); + --md-sys-color-on-tertiary-fixed-variant: rgb(64 67 112); + --md-sys-color-surface-dim: rgb(15 20 26); + --md-sys-color-surface-bright: rgb(53 57 64); + --md-sys-color-surface-container-lowest: rgb(10 14 20); + --md-sys-color-surface-container-low: rgb(24 28 34); + --md-sys-color-surface-container: rgb(28 32 38); + --md-sys-color-surface-container-high: rgb(38 42 49); + --md-sys-color-surface-container-highest: rgb(49 53 60); + /* Tools Color */ + --md-nav-section-color-opacity: 1; + --md-nav-on-section-color-opacity: 1; + --md-nav-section-color-sign: rgba(25, 101, 212, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-sign: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-organize: rgba(120, 130, 255, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-organize: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-convert: rgba(25, 177, 212, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-convert: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-security: rgba(255, 120, 146, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-security: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-other: rgba(72, 189, 84, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-other: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-advance: rgba(245, 84, 84, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-advance: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-image: rgba(212, 172, 25, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-image: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-word: rgba(61, 153, 245, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-word: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-ppt: rgba(255, 128, 0, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-ppt: rgba(28, 27, 31, var(--md-nav-on-section-color-opacity)); +} \ No newline at end of file diff --git a/src/main/resources/static/css/theme/theme.light.css b/src/main/resources/static/css/theme/theme.light.css new file mode 100644 index 00000000..74101fe2 --- /dev/null +++ b/src/main/resources/static/css/theme/theme.light.css @@ -0,0 +1,73 @@ +:root { + /* Colors */ + --md-sys-color-primary: rgb(0 96 170); + --md-sys-color-surface-tint: rgb(0 96 170); + --md-sys-color-on-primary: rgb(255 255 255); + --md-sys-color-primary-container: rgb(80 163 255); + --md-sys-color-on-primary-container: rgb(0 20 43); + --md-sys-color-secondary: rgb(65 96 136); + --md-sys-color-on-secondary: rgb(255 255 255); + --md-sys-color-secondary-container: rgb(188 215 255); + --md-sys-color-on-secondary-container: rgb(32 65 103); + --md-sys-color-tertiary: rgb(88 90 138); + --md-sys-color-on-tertiary: rgb(255 255 255); + --md-sys-color-tertiary-container: rgb(151 153 205); + --md-sys-color-on-tertiary-container: rgb(7 9 55); + --md-sys-color-error: rgb(186 26 26); + --md-sys-color-on-error: rgb(255 255 255); + --md-sys-color-error-container: rgb(255 218 214); + --md-sys-color-on-error-container: rgb(65 0 2); + --md-sys-color-background: rgb(248 249 255); + --md-sys-color-on-background: rgb(24 28 34); + --md-sys-color-surface: rgb(248 249 255); + --md-sys-color-on-surface: rgb(24 28 34); + --md-sys-color-surface-variant: rgb(220 227 241); + --md-sys-color-on-surface-variant: rgb(64 71 83); + --md-sys-color-outline: rgb(112 119 132); + --md-sys-color-outline-variant: rgb(192 199 213); + --md-sys-color-shadow: rgb(0 0 0); + --md-sys-color-scrim: rgb(0 0 0); + --md-sys-color-inverse-surface: rgb(45 49 55); + --md-sys-color-inverse-on-surface: rgb(238 241 250); + --md-sys-color-inverse-primary: rgb(162 201 255); + --md-sys-color-primary-fixed: rgb(211 228 255); + --md-sys-color-on-primary-fixed: rgb(0 28 56); + --md-sys-color-primary-fixed-dim: rgb(162 201 255); + --md-sys-color-on-primary-fixed-variant: rgb(0 72 130); + --md-sys-color-secondary-fixed: rgb(211 228 255); + --md-sys-color-on-secondary-fixed: rgb(0 28 56); + --md-sys-color-secondary-fixed-dim: rgb(169 201 246); + --md-sys-color-on-secondary-fixed-variant: rgb(40 72 111); + --md-sys-color-tertiary-fixed: rgb(225 224 255); + --md-sys-color-on-tertiary-fixed: rgb(20 22 66); + --md-sys-color-tertiary-fixed-dim: rgb(193 194 248); + --md-sys-color-on-tertiary-fixed-variant: rgb(64 67 112); + --md-sys-color-surface-dim: rgb(215 218 227); + --md-sys-color-surface-bright: rgb(248 249 255); + --md-sys-color-surface-container-lowest: rgb(255 255 255); + --md-sys-color-surface-container-low: rgb(241 243 253); + --md-sys-color-surface-container: rgb(235 238 247); + --md-sys-color-surface-container-high: rgb(229 232 241); + --md-sys-color-surface-container-highest: rgb(223 226 235); + /* Tools Color */ + --md-nav-section-color-opacity: 1; + --md-nav-on-section-color-opacity: 1; + --md-nav-section-color-sign: rgba(25, 101, 212, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-sign: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-organize: rgba(120, 130, 255, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-organize: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-convert: rgba(25, 177, 212, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-convert: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-security: rgba(255, 120, 146, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-security: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-other: rgba(72, 189, 84, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-other: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-advance: rgba(245, 84, 84, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-advance: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-image: rgba(212, 172, 25, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-image: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-word: rgba(61, 153, 245, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-word: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); + --md-nav-section-color-ppt: rgba(255, 128, 0, var(--md-nav-section-color-opacity)); + --md-nav-on-section-color-ppt: rgba(255, 251, 254, var(--md-nav-on-section-color-opacity)); +} \ No newline at end of file diff --git a/src/main/resources/static/fonts/google-symbol.woff2 b/src/main/resources/static/fonts/google-symbol.woff2 new file mode 100644 index 00000000..e96cb008 Binary files /dev/null and b/src/main/resources/static/fonts/google-symbol.woff2 differ diff --git a/src/main/resources/static/images/add-page-numbers.svg b/src/main/resources/static/images/add-page-numbers.svg deleted file mode 100644 index 3ee3396c..00000000 --- a/src/main/resources/static/images/add-page-numbers.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/adjust-contrast.svg b/src/main/resources/static/images/adjust-contrast.svg deleted file mode 100644 index fea76d92..00000000 --- a/src/main/resources/static/images/adjust-contrast.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/arrow-clockwise.svg b/src/main/resources/static/images/arrow-clockwise.svg deleted file mode 100644 index b072eb09..00000000 --- a/src/main/resources/static/images/arrow-clockwise.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/arrow-left-right.svg b/src/main/resources/static/images/arrow-left-right.svg deleted file mode 100644 index 8aabd7be..00000000 --- a/src/main/resources/static/images/arrow-left-right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/award.svg b/src/main/resources/static/images/award.svg deleted file mode 100644 index 8f572ff0..00000000 --- a/src/main/resources/static/images/award.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/blank-file.svg b/src/main/resources/static/images/blank-file.svg deleted file mode 100644 index 3562fb2b..00000000 --- a/src/main/resources/static/images/blank-file.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/book-opened.svg b/src/main/resources/static/images/book-opened.svg deleted file mode 100644 index e642d31a..00000000 --- a/src/main/resources/static/images/book-opened.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/card-list.svg b/src/main/resources/static/images/card-list.svg deleted file mode 100644 index 3dc5d429..00000000 --- a/src/main/resources/static/images/card-list.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/clipboard-data.svg b/src/main/resources/static/images/clipboard-data.svg deleted file mode 100644 index b4fcb336..00000000 --- a/src/main/resources/static/images/clipboard-data.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/crop.svg b/src/main/resources/static/images/crop.svg deleted file mode 100644 index b7e17490..00000000 --- a/src/main/resources/static/images/crop.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/droplet.svg b/src/main/resources/static/images/droplet.svg deleted file mode 100644 index 2b405d68..00000000 --- a/src/main/resources/static/images/droplet.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/eraser-fill.svg b/src/main/resources/static/images/eraser-fill.svg deleted file mode 100644 index 10959b3d..00000000 --- a/src/main/resources/static/images/eraser-fill.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/extract.svg b/src/main/resources/static/images/extract.svg deleted file mode 100644 index d21f03eb..00000000 --- a/src/main/resources/static/images/extract.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/eye-slash.svg b/src/main/resources/static/images/eye-slash.svg deleted file mode 100644 index c5208375..00000000 --- a/src/main/resources/static/images/eye-slash.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/eye.svg b/src/main/resources/static/images/eye.svg deleted file mode 100644 index 412ff692..00000000 --- a/src/main/resources/static/images/eye.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-earmark-pdf.svg b/src/main/resources/static/images/file-earmark-pdf.svg deleted file mode 100644 index 52da96fe..00000000 --- a/src/main/resources/static/images/file-earmark-pdf.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-earmark-ppt.svg b/src/main/resources/static/images/file-earmark-ppt.svg deleted file mode 100644 index bedf5526..00000000 --- a/src/main/resources/static/images/file-earmark-ppt.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-earmark-richtext.svg b/src/main/resources/static/images/file-earmark-richtext.svg deleted file mode 100644 index 35af1467..00000000 --- a/src/main/resources/static/images/file-earmark-richtext.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-earmark-word.svg b/src/main/resources/static/images/file-earmark-word.svg deleted file mode 100644 index 7186b69e..00000000 --- a/src/main/resources/static/images/file-earmark-word.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-earmark-x.svg b/src/main/resources/static/images/file-earmark-x.svg deleted file mode 100644 index bedb970d..00000000 --- a/src/main/resources/static/images/file-earmark-x.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-pdf.svg b/src/main/resources/static/images/file-pdf.svg deleted file mode 100644 index e8ba0a15..00000000 --- a/src/main/resources/static/images/file-pdf.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file-zip.svg b/src/main/resources/static/images/file-zip.svg deleted file mode 100644 index 3da93c8c..00000000 --- a/src/main/resources/static/images/file-zip.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/file.svg b/src/main/resources/static/images/file.svg deleted file mode 100644 index c3d086b9..00000000 --- a/src/main/resources/static/images/file.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/filetype-html.svg b/src/main/resources/static/images/filetype-html.svg deleted file mode 100644 index 35d72185..00000000 --- a/src/main/resources/static/images/filetype-html.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/filetype-txt.svg b/src/main/resources/static/images/filetype-txt.svg deleted file mode 100644 index 6fae02a0..00000000 --- a/src/main/resources/static/images/filetype-txt.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/filetype-xml.svg b/src/main/resources/static/images/filetype-xml.svg deleted file mode 100644 index d8226455..00000000 --- a/src/main/resources/static/images/filetype-xml.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/flags/sk.svg b/src/main/resources/static/images/flags/sk.svg new file mode 100644 index 00000000..81476940 --- /dev/null +++ b/src/main/resources/static/images/flags/sk.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/main/resources/static/images/flatten.svg b/src/main/resources/static/images/flatten.svg deleted file mode 100644 index 944240cf..00000000 --- a/src/main/resources/static/images/flatten.svg +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - diff --git a/src/main/resources/static/images/fonts.svg b/src/main/resources/static/images/fonts.svg deleted file mode 100644 index 3afc7d2e..00000000 --- a/src/main/resources/static/images/fonts.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/gear.svg b/src/main/resources/static/images/gear.svg deleted file mode 100644 index c11dbc1d..00000000 --- a/src/main/resources/static/images/gear.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/html.svg b/src/main/resources/static/images/html.svg deleted file mode 100644 index 35d72185..00000000 --- a/src/main/resources/static/images/html.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/image.svg b/src/main/resources/static/images/image.svg deleted file mode 100644 index 1e1964b4..00000000 --- a/src/main/resources/static/images/image.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/images.svg b/src/main/resources/static/images/images.svg deleted file mode 100644 index b35ecebc..00000000 --- a/src/main/resources/static/images/images.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/info.svg b/src/main/resources/static/images/info.svg deleted file mode 100644 index 8f48f86c..00000000 --- a/src/main/resources/static/images/info.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/js.svg b/src/main/resources/static/images/js.svg deleted file mode 100644 index 8b198bfc..00000000 --- a/src/main/resources/static/images/js.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/layout-split.svg b/src/main/resources/static/images/layout-split.svg deleted file mode 100644 index 71f33d2e..00000000 --- a/src/main/resources/static/images/layout-split.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/lock.svg b/src/main/resources/static/images/lock.svg deleted file mode 100644 index b50a68ef..00000000 --- a/src/main/resources/static/images/lock.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/markdown.svg b/src/main/resources/static/images/markdown.svg deleted file mode 100644 index ca5cd597..00000000 --- a/src/main/resources/static/images/markdown.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/no-chat.svg b/src/main/resources/static/images/no-chat.svg deleted file mode 100644 index 8db22038..00000000 --- a/src/main/resources/static/images/no-chat.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/overlay.svg b/src/main/resources/static/images/overlay.svg deleted file mode 100644 index 393ce40c..00000000 --- a/src/main/resources/static/images/overlay.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/page-layout.svg b/src/main/resources/static/images/page-layout.svg deleted file mode 100644 index bc505957..00000000 --- a/src/main/resources/static/images/page-layout.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/pdf-csv.svg b/src/main/resources/static/images/pdf-csv.svg deleted file mode 100644 index 95d68c10..00000000 --- a/src/main/resources/static/images/pdf-csv.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/main/resources/static/images/pipeline.svg b/src/main/resources/static/images/pipeline.svg deleted file mode 100644 index 48722d0c..00000000 --- a/src/main/resources/static/images/pipeline.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/sanitize.svg b/src/main/resources/static/images/sanitize.svg deleted file mode 100644 index fc4dd2f9..00000000 --- a/src/main/resources/static/images/sanitize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/main/resources/static/images/scale-pages.svg b/src/main/resources/static/images/scale-pages.svg deleted file mode 100644 index dc0acc3c..00000000 --- a/src/main/resources/static/images/scale-pages.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/scales.svg b/src/main/resources/static/images/scales.svg deleted file mode 100644 index 61b9c381..00000000 --- a/src/main/resources/static/images/scales.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - -image/svg+xmlOpenclipartscales of justice2009-06-26T04:35:18https://openclipart.org/detail/26849/scales-of-justice-by-johnny_automaticjohnny_automaticjusticelawmeasurementscalessilhouetteweight diff --git a/src/main/resources/static/images/scanner.svg b/src/main/resources/static/images/scanner.svg deleted file mode 100644 index 4dca053b..00000000 --- a/src/main/resources/static/images/scanner.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/search.svg b/src/main/resources/static/images/search.svg deleted file mode 100644 index d3dc7ca1..00000000 --- a/src/main/resources/static/images/search.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/shield-check.svg b/src/main/resources/static/images/shield-check.svg deleted file mode 100644 index ecbf5439..00000000 --- a/src/main/resources/static/images/shield-check.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/shield-lock.svg b/src/main/resources/static/images/shield-lock.svg deleted file mode 100644 index ff384250..00000000 --- a/src/main/resources/static/images/shield-lock.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/sign.svg b/src/main/resources/static/images/sign.svg deleted file mode 100644 index 013acc25..00000000 --- a/src/main/resources/static/images/sign.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/single-page.svg b/src/main/resources/static/images/single-page.svg deleted file mode 100644 index 4f57d79b..00000000 --- a/src/main/resources/static/images/single-page.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/sort-numeric-down.svg b/src/main/resources/static/images/sort-numeric-down.svg deleted file mode 100644 index 57a3fb03..00000000 --- a/src/main/resources/static/images/sort-numeric-down.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/stamp.svg b/src/main/resources/static/images/stamp.svg deleted file mode 100644 index aa35a6cb..00000000 --- a/src/main/resources/static/images/stamp.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/star-fill.svg b/src/main/resources/static/images/star-fill.svg deleted file mode 100644 index de09c4aa..00000000 --- a/src/main/resources/static/images/star-fill.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/star.svg b/src/main/resources/static/images/star.svg deleted file mode 100644 index 742b5e25..00000000 --- a/src/main/resources/static/images/star.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/suit-heart-fill.svg b/src/main/resources/static/images/suit-heart-fill.svg deleted file mode 100644 index 74a0f27a..00000000 --- a/src/main/resources/static/images/suit-heart-fill.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/tools.svg b/src/main/resources/static/images/tools.svg deleted file mode 100644 index fcc8362f..00000000 --- a/src/main/resources/static/images/tools.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/trash.svg b/src/main/resources/static/images/trash.svg deleted file mode 100644 index 4d0ee364..00000000 --- a/src/main/resources/static/images/trash.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/union.svg b/src/main/resources/static/images/union.svg deleted file mode 100644 index e694d774..00000000 --- a/src/main/resources/static/images/union.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/unlock.svg b/src/main/resources/static/images/unlock.svg deleted file mode 100644 index 8eb0925d..00000000 --- a/src/main/resources/static/images/unlock.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/images/url.svg b/src/main/resources/static/images/url.svg deleted file mode 100644 index df35bc8a..00000000 --- a/src/main/resources/static/images/url.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/static/images/wrench.svg b/src/main/resources/static/images/wrench.svg deleted file mode 100644 index bef07136..00000000 --- a/src/main/resources/static/images/wrench.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main/resources/static/js/darkmode.js b/src/main/resources/static/js/darkmode.js index cb119a8a..08c0c380 100644 --- a/src/main/resources/static/js/darkmode.js +++ b/src/main/resources/static/js/darkmode.js @@ -8,7 +8,6 @@ var elements = { darkModeIcon: null, searchBar: null, formControls: null, - navbar: null, navIcons: null, navDropdownMenus: null, }; @@ -20,8 +19,6 @@ function getElements() { elements.darkModeIcon = document.getElementById("dark-mode-icon"); elements.searchBar = document.getElementById("searchBar"); elements.formControls = document.querySelectorAll(".form-control"); - elements.navbar = document.querySelectorAll("nav.navbar"); - elements.navIcons = document.querySelectorAll("nav .icon, .navbar-icon"); elements.navDropdownMenus = document.querySelectorAll(".dropdown-menu"); } function setMode(mode) { @@ -42,67 +39,23 @@ function setMode(mode) { if (mode === "on") { if (elements && elements.darkModeIcon) { - elements.darkModeIcon.src = "moon.svg"; - } - if (elements && elements.searchBar) { - elements.searchBar.classList.add("dark-mode-search"); - } - if (elements && elements.formControls) { - elements.formControls.forEach((input) => input.classList.add("bg-dark", "text-white")); - } - if (elements && elements.navbar) { - elements.navbar.forEach((navElement) => { - navElement.classList.remove("navbar-light", "bg-light"); - navElement.classList.add("navbar-dark", "bg-dark"); - }); - } - if (elements && elements.navDropdownMenus) { - elements.navDropdownMenus.forEach((menu) => menu.classList.add("dropdown-menu-dark")); - } - if (elements && elements.navIcons) { - elements.navIcons.forEach((icon) => (icon.style.filter = "invert(1)")); + elements.darkModeIcon.textContent = "dark_mode"; } var tables = document.querySelectorAll(".table"); tables.forEach((table) => { table.classList.add("table-dark"); }); - if (jumbotron) { - jumbotron.classList.add("bg-dark"); - jumbotron.classList.remove("bg-light"); - } } else if (mode === "off") { if (elements && elements.darkModeIcon) { - elements.darkModeIcon.src = "sun.svg"; - } - if (elements && elements.searchBar) { - elements.searchBar.classList.remove("dark-mode-search"); - } - if (elements && elements.formControls) { - elements.formControls.forEach((input) => input.classList.remove("bg-dark", "text-white")); - } - if (elements && elements.navbar) { - elements.navbar.forEach((navElement) => { - navElement.classList.remove("navbar-dark", "bg-dark"); - navElement.classList.add("navbar-light", "bg-light"); - }); - } - if (elements && elements.navDropdownMenus) { - elements.navDropdownMenus.forEach((menu) => menu.classList.remove("dropdown-menu-dark")); - } - if (elements && elements.navIcons) { - elements.navIcons.forEach((icon) => (icon.style.filter = "none")); + elements.darkModeIcon.textContent = "light_mode"; } var tables = document.querySelectorAll(".table-dark"); tables.forEach((table) => { table.classList.remove("table-dark"); }); - if (jumbotron) { - jumbotron.classList.remove("bg-dark"); - jumbotron.classList.add("bg-light"); - } } else if (mode === "rainbow") { if (elements && elements.darkModeIcon) { - elements.darkModeIcon.src = "rainbow.svg"; + elements.darkModeIcon.textContent = "looks"; } } } @@ -116,6 +69,8 @@ function toggleDarkMode() { } lastToggleTime = currentTime; + document.body.classList.add("transition-theme"); + if (toggleCount >= 18) { localStorage.setItem("dark-mode", "rainbow"); setMode("rainbow"); @@ -147,4 +102,4 @@ document.addEventListener("DOMContentLoaded", function () { toggleDarkMode(); }); } -}); +}); \ No newline at end of file diff --git a/src/main/resources/static/js/homecard.js b/src/main/resources/static/js/homecard.js index c461af3c..818e62e9 100644 --- a/src/main/resources/static/js/homecard.js +++ b/src/main/resources/static/js/homecard.js @@ -23,15 +23,17 @@ function filterCards() { } function toggleFavorite(element) { - var img = element.querySelector("img"); + var span = element.querySelector("span.material-symbols-rounded"); var card = element.closest(".feature-card"); var cardId = card.id; - if (img.src.endsWith("star.svg")) { - img.src = "images/star-fill.svg"; + if (span.classList.contains("no-fill")) { + span.classList.remove("no-fill"); + span.classList.add("fill"); card.classList.add("favorite"); localStorage.setItem(cardId, "favorite"); } else { - img.src = "images/star.svg"; + span.classList.remove("fill"); + span.classList.add("no-fill"); card.classList.remove("favorite"); localStorage.removeItem(cardId); } @@ -40,6 +42,7 @@ function toggleFavorite(element) { filterCards(); } + function reorderCards() { var container = document.querySelector(".features-container"); var cards = Array.from(container.getElementsByClassName("feature-card")); @@ -64,13 +67,15 @@ function reorderCards() { container.appendChild(card); }); } + function initializeCards() { var cards = document.querySelectorAll(".feature-card"); cards.forEach(function (card) { var cardId = card.id; - var img = card.querySelector(".favorite-icon img"); + var span = card.querySelector(".favorite-icon span.material-symbols-rounded"); if (localStorage.getItem(cardId) === "favorite") { - img.src = "images/star-fill.svg"; + span.classList.remove("no-fill"); + span.classList.add("fill"); card.classList.add("favorite"); } }); @@ -80,3 +85,15 @@ function initializeCards() { } window.onload = initializeCards; + + document.addEventListener("DOMContentLoaded", function() { + const materialIcons = new FontFaceObserver('Material Symbols Rounded'); + + materialIcons.load().then(() => { + document.querySelectorAll('.feature-card.hidden').forEach(el => { + el.classList.remove('hidden'); + }); + }).catch(() => { + console.error('Material Symbols Rounded font failed to load.'); + }); + }); diff --git a/src/main/resources/static/js/multitool/PdfActionsManager.js b/src/main/resources/static/js/multitool/PdfActionsManager.js index 163dff3a..8135bed3 100644 --- a/src/main/resources/static/js/multitool/PdfActionsManager.js +++ b/src/main/resources/static/js/multitool/PdfActionsManager.js @@ -92,44 +92,35 @@ class PdfActionsManager { const rightDirection = this.pageDirection === "rtl" ? "left" : "right"; const buttonContainer = document.createElement("div"); - buttonContainer.classList.add("pdf-actions_button-container", "hide-on-drag"); + buttonContainer.classList.add("btn-group", "pdf-actions_button-container", "hide-on-drag"); const moveUp = document.createElement("button"); moveUp.classList.add("pdf-actions_move-left-button", "btn", "btn-secondary"); - moveUp.innerHTML = ``; + moveUp.innerHTML = `arrow_${leftDirection}_alt`; moveUp.onclick = this.moveUpButtonCallback; buttonContainer.appendChild(moveUp); const moveDown = document.createElement("button"); moveDown.classList.add("pdf-actions_move-right-button", "btn", "btn-secondary"); - moveDown.innerHTML = ``; + moveDown.innerHTML = `arrow_${rightDirection}_alt`; moveDown.onclick = this.moveDownButtonCallback; buttonContainer.appendChild(moveDown); const rotateCCW = document.createElement("button"); rotateCCW.classList.add("btn", "btn-secondary"); - rotateCCW.innerHTML = ` - - - `; + rotateCCW.innerHTML = `rotate_left`; rotateCCW.onclick = this.rotateCCWButtonCallback; buttonContainer.appendChild(rotateCCW); const rotateCW = document.createElement("button"); rotateCW.classList.add("btn", "btn-secondary"); - rotateCW.innerHTML = ` - - - `; + rotateCW.innerHTML = `rotate_right`; rotateCW.onclick = this.rotateCWButtonCallback; buttonContainer.appendChild(rotateCW); const deletePage = document.createElement("button"); deletePage.classList.add("btn", "btn-danger"); - deletePage.innerHTML = ` - - - `; + deletePage.innerHTML = `delete`; deletePage.onclick = this.deletePageButtonCallback; buttonContainer.appendChild(deletePage); @@ -145,10 +136,7 @@ class PdfActionsManager { const insertFileButton = document.createElement("button"); insertFileButton.classList.add("btn", "btn-primary", "pdf-actions_insert-file-button"); - insertFileButton.innerHTML = ` - - - `; + insertFileButton.innerHTML = `add`; insertFileButton.onclick = this.insertFileButtonCallback; insertFileButtonContainer.appendChild(insertFileButton); @@ -164,10 +152,7 @@ class PdfActionsManager { const insertFileButtonRight = document.createElement("button"); insertFileButtonRight.classList.add("btn", "btn-primary", "pdf-actions_insert-file-button"); - insertFileButtonRight.innerHTML = ` - - - insertFileButtonRight`; + insertFileButtonRight.innerHTML = `add`; insertFileButtonRight.onclick = () => addPdfs(); insertFileButtonRightContainer.appendChild(insertFileButtonRight); diff --git a/src/main/resources/static/js/pipeline.js b/src/main/resources/static/js/pipeline.js index afe1d4d7..1c57dfd9 100644 --- a/src/main/resources/static/js/pipeline.js +++ b/src/main/resources/static/js/pipeline.js @@ -251,14 +251,14 @@ document.getElementById("addOperationBtn").addEventListener("click", function ()
${selectedOperation}
- - + + - +
`; diff --git a/src/main/resources/static/js/search.js b/src/main/resources/static/js/search.js index 2329f998..a5b9d70f 100644 --- a/src/main/resources/static/js/search.js +++ b/src/main/resources/static/js/search.js @@ -1,9 +1,4 @@ -// Toggle search bar when the search icon is clicked -document.querySelector("#search-icon").addEventListener("click", function (e) { - e.preventDefault(); - var searchBar = document.querySelector("#navbarSearch"); - searchBar.classList.toggle("show"); -}); + window.onload = function () { var items = document.querySelectorAll(".dropdown-item, .nav-link"); var dummyContainer = document.createElement("div"); @@ -32,45 +27,47 @@ window.onload = function () { // Show search results as user types in search box document.querySelector("#navbarSearchInput").addEventListener("input", function (e) { - var searchText = e.target.value.toLowerCase(); + var searchText = e.target.value.trim().toLowerCase(); // Trim whitespace and convert to lowercase var items = document.querySelectorAll(".dropdown-item, .nav-link"); var resultsBox = document.querySelector("#searchResults"); // Clear any previous results resultsBox.innerHTML = ""; - + if (searchText !== "") { items.forEach(function (item) { var titleElement = item.querySelector(".icon-text"); - var iconElement = item.querySelector(".icon"); + var iconElement = item.querySelector(".material-symbols-rounded, .icon"); var itemHref = item.getAttribute("href"); var tags = item.getAttribute("data-bs-tags") || ""; // If no tags, default to empty string - if (titleElement && iconElement && itemHref !== "#") { - var title = titleElement.innerText; - if ( - (title.toLowerCase().indexOf(searchText) !== -1 || tags.toLowerCase().indexOf(searchText) !== -1) && - !resultsBox.querySelector(`a[href="${item.getAttribute("href")}"]`) - ) { - var result = document.createElement("a"); - result.href = itemHref; - result.classList.add("dropdown-item"); + + if (titleElement && iconElement && itemHref !== "#") { + var title = titleElement.innerText; + if ( + (title.toLowerCase().indexOf(searchText) !== -1 || tags.toLowerCase().indexOf(searchText) !== -1) && + !resultsBox.querySelector(`a[href="${itemHref}"]`) + ) { + var result = document.createElement("a"); + result.href = itemHref; + result.classList.add("dropdown-item"); - var resultIcon = document.createElement("img"); - resultIcon.src = iconElement.src; - resultIcon.alt = "icon"; - resultIcon.classList.add("icon"); + var resultIcon = document.createElement("span"); + resultIcon.classList.add("material-symbols-rounded"); + resultIcon.textContent = iconElement.textContent; result.appendChild(resultIcon); - var resultText = document.createElement("span"); - resultText.textContent = title; - resultText.classList.add("icon-text"); - result.appendChild(resultText); + var resultText = document.createElement("span"); + resultText.textContent = title; + resultText.classList.add("icon-text"); + result.appendChild(resultText); - resultsBox.appendChild(result); + resultsBox.appendChild(result); + } } - } - }); + }); + } // Set the width of the search results box to the maximum width resultsBox.style.width = window.navItemMaxWidth + "px"; }); + diff --git a/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js b/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js new file mode 100644 index 00000000..66c5cd69 --- /dev/null +++ b/src/main/resources/static/js/thirdParty/fontfaceobserver.standalone.js @@ -0,0 +1,8 @@ +/* Font Face Observer v2.1.0 - © Bram Stein. License: BSD-3-Clause */(function(){function l(a,b){document.addEventListener?a.addEventListener("scroll",b,!1):a.attachEvent("scroll",b)}function m(a){document.body?a():document.addEventListener?document.addEventListener("DOMContentLoaded",function c(){document.removeEventListener("DOMContentLoaded",c);a()}):document.attachEvent("onreadystatechange",function k(){if("interactive"==document.readyState||"complete"==document.readyState)document.detachEvent("onreadystatechange",k),a()})};function t(a){this.a=document.createElement("div");this.a.setAttribute("aria-hidden","true");this.a.appendChild(document.createTextNode(a));this.b=document.createElement("span");this.c=document.createElement("span");this.h=document.createElement("span");this.f=document.createElement("span");this.g=-1;this.b.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.c.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;"; +this.f.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.h.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;";this.b.appendChild(this.h);this.c.appendChild(this.f);this.a.appendChild(this.b);this.a.appendChild(this.c)} +function u(a,b){a.a.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+b+";"}function z(a){var b=a.a.offsetWidth,c=b+100;a.f.style.width=c+"px";a.c.scrollLeft=c;a.b.scrollLeft=a.b.scrollWidth+100;return a.g!==b?(a.g=b,!0):!1}function A(a,b){function c(){var a=k;z(a)&&a.a.parentNode&&b(a.g)}var k=a;l(a.b,c);l(a.c,c);z(a)};function B(a,b){var c=b||{};this.family=a;this.style=c.style||"normal";this.weight=c.weight||"normal";this.stretch=c.stretch||"normal"}var C=null,D=null,E=null,F=null;function G(){if(null===D)if(J()&&/Apple/.test(window.navigator.vendor)){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent);D=!!a&&603>parseInt(a[1],10)}else D=!1;return D}function J(){null===F&&(F=!!document.fonts);return F} +function K(){if(null===E){var a=document.createElement("div");try{a.style.font="condensed 100px sans-serif"}catch(b){}E=""!==a.style.font}return E}function L(a,b){return[a.style,a.weight,K()?a.stretch:"","100px",b].join(" ")} +B.prototype.load=function(a,b){var c=this,k=a||"BESbswy",r=0,n=b||3E3,H=(new Date).getTime();return new Promise(function(a,b){if(J()&&!G()){var M=new Promise(function(a,b){function e(){(new Date).getTime()-H>=n?b(Error(""+n+"ms timeout exceeded")):document.fonts.load(L(c,'"'+c.family+'"'),k).then(function(c){1<=c.length?a():setTimeout(e,25)},b)}e()}),N=new Promise(function(a,c){r=setTimeout(function(){c(Error(""+n+"ms timeout exceeded"))},n)});Promise.race([N,M]).then(function(){clearTimeout(r);a(c)}, +b)}else m(function(){function v(){var b;if(b=-1!=f&&-1!=g||-1!=f&&-1!=h||-1!=g&&-1!=h)(b=f!=g&&f!=h&&g!=h)||(null===C&&(b=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),C=!!b&&(536>parseInt(b[1],10)||536===parseInt(b[1],10)&&11>=parseInt(b[2],10))),b=C&&(f==w&&g==w&&h==w||f==x&&g==x&&h==x||f==y&&g==y&&h==y)),b=!b;b&&(d.parentNode&&d.parentNode.removeChild(d),clearTimeout(r),a(c))}function I(){if((new Date).getTime()-H>=n)d.parentNode&&d.parentNode.removeChild(d),b(Error(""+ +n+"ms timeout exceeded"));else{var a=document.hidden;if(!0===a||void 0===a)f=e.a.offsetWidth,g=p.a.offsetWidth,h=q.a.offsetWidth,v();r=setTimeout(I,50)}}var e=new t(k),p=new t(k),q=new t(k),f=-1,g=-1,h=-1,w=-1,x=-1,y=-1,d=document.createElement("div");d.dir="ltr";u(e,L(c,"sans-serif"));u(p,L(c,"serif"));u(q,L(c,"monospace"));d.appendChild(e.a);d.appendChild(p.a);d.appendChild(q.a);document.body.appendChild(d);w=e.a.offsetWidth;x=p.a.offsetWidth;y=q.a.offsetWidth;I();A(e,function(a){f=a;v()});u(e, +L(c,'"'+c.family+'",sans-serif'));A(p,function(a){g=a;v()});u(p,L(c,'"'+c.family+'",serif'));A(q,function(a){h=a;v()});u(q,L(c,'"'+c.family+'",monospace'))})})};"object"===typeof module?module.exports=B:(window.FontFaceObserver=B,window.FontFaceObserver.prototype.load=B.prototype.load);}()); diff --git a/src/main/resources/templates/about.html b/src/main/resources/templates/about.html index 2870fb41..c29d2ffa 100644 --- a/src/main/resources/templates/about.html +++ b/src/main/resources/templates/about.html @@ -11,7 +11,7 @@

-
+
diff --git a/src/main/resources/templates/account.html b/src/main/resources/templates/account.html index e8ed623a..c82c97cb 100644 --- a/src/main/resources/templates/account.html +++ b/src/main/resources/templates/account.html @@ -1,23 +1,24 @@ - - + + + - + - - -
-
- -

-
-
-
+ + +
+
+ +

+
+
+
- -

User Settings

-
- + +

User Settings

+
Default message if not found
@@ -33,251 +34,267 @@
Default message if not found
-
- -

User!

- + + +

User!

+ - - -
-
- - -
-
- - -
-
- -
-
+
+ +

Change Username?

+
+
+ + +
+
+ + +
+
+ +
+
-
+ +

Change Password?

+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
- -

Change Password?

-
-
- - -
-
- - -
-
- - -
-
- -
-
-
- -
-
-
-
- -
- - - -
+ +

API Key

+
+
+
+
+ +
+ + +
+
- + }); + -
+

Sync browser settings with Account

+
+

Settings Comparison:

+ + + + + + + + + + + +
PropertyAccount SettingWeb Browser Setting
-

Sync browser settings with Account

-
-

Settings Comparison:

- - - - - - - - - - - -
PropertyAccount SettingWeb Browser Setting
- -
- - -
+
+ +
+
- - + + document.getElementById('syncToBrowser').addEventListener('click', function () { + // First, clear the local storage + localStorage.clear(); + + // Then, set the account settings to local storage + for (let key in accountSettings) { + if (key !== 'debug' && key !== '0' && key !== '1') { // Only sync non-ignored keys + localStorage.setItem(key, accountSettings[key]); + } + } + location.reload(); // Refresh the page after sync + }); + + document.getElementById('syncToAccount').addEventListener('click', function () { + let form = document.createElement("form"); + form.method = "POST"; + form.action = "api/v1/user/updateUserSettings"; // Your endpoint URL + + for (let i = 0; i < localStorage.length; i++) { + const key = localStorage.key(i); + if (key !== 'debug' && key !== '0' && key !== '1') { // Only send non-ignored keys + let hiddenField = document.createElement("input"); + hiddenField.type = "hidden"; + hiddenField.name = key; + hiddenField.value = localStorage.getItem(key); + form.appendChild(hiddenField); + } + } + + document.body.appendChild(form); + form.submit(); + }); + + }); + +
-
- + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/addUsers.html b/src/main/resources/templates/addUsers.html index d5fb14ee..8eda8eab 100644 --- a/src/main/resources/templates/addUsers.html +++ b/src/main/resources/templates/addUsers.html @@ -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 914b9d60..fa6b1d16 100644 --- a/src/main/resources/templates/auto-split-pdf.html +++ b/src/main/resources/templates/auto-split-pdf.html @@ -1,43 +1,62 @@ - - - - + - - -
-
- -

-
-
-
-

- -

-
    -
  • -
  • -
  • -
  • -
-
-

-
-
- - -
-

-

- -
+ + + + + + + +
+
+ +

+
+
+
+
+ cut +
+ +
+

+
+
+
+ + +
+

+ +

+
+ +

+
    +
  • +
  • +
  • +
  • +
+

+

+
+ + +
-
- + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/change-creds.html b/src/main/resources/templates/change-creds.html index 08a3ade7..feee43c1 100644 --- a/src/main/resources/templates/change-creds.html +++ b/src/main/resources/templates/change-creds.html @@ -12,7 +12,7 @@

-
+

User Settings

diff --git a/src/main/resources/templates/convert/file-to-pdf.html b/src/main/resources/templates/convert/file-to-pdf.html index d8c8b969..f822a593 100644 --- a/src/main/resources/templates/convert/file-to-pdf.html +++ b/src/main/resources/templates/convert/file-to-pdf.html @@ -1,43 +1,57 @@ - - - - + - - -
-
- -

-
-
-
-

-

-
-
- -
-

-

-

Microsoft Word: (DOC, DOCX, DOT, DOTX)

-

Microsoft Excel: (CSV, XLS, XLSX, XLT, XLTX, SLK, DIF)

-

Microsoft PowerPoint: (PPT, PPTX)

-

OpenDocument Formats: (ODT, OTT, ODS, OTS, ODP, OTP, ODG, OTG)

-

Plain Text: (TXT, TEXT, XML)

-

Rich Text Format: (RTF)

-

Images: (BMP, GIF, JPEG, PNG, TIF, PBM, PGM, PPM, RAS, XBM, XPM, SVG, SVM, WMF)

-

HTML: (HTML)

-

Lotus Word Pro: (LWP)

-

StarOffice: (SDA, SDC, SDD, SDW, STC, STD, STI, STW, SXD, SXG, SXI, SXW)

-

Other: (DBF, FODS, VSD, VOR, VOR3, VOR4, UOP, PCT, PS, PDF)

- https://help.libreoffice.org/latest/en-US/text/shared/guide/supported_formats.html + + + + + + +
+
+ +

+
+
+
+
+ draft +
+

+
+
+ +
+

+

+

Microsoft Word: (DOC, DOCX, DOT, DOTX)

+

Microsoft Excel: (CSV, XLS, XLSX, XLT, XLTX, SLK, DIF)

+

Microsoft PowerPoint: (PPT, PPTX)

+

OpenDocument Formats: (ODT, OTT, ODS, OTS, ODP, OTP, ODG, OTG)

+

Plain Text: (TXT, TEXT, XML)

+

Rich Text Format: (RTF)

+

Images: (BMP, GIF, JPEG, PNG, TIF, PBM, PGM, PPM, RAS, XBM, XPM, SVG, SVM, WMF)

+

HTML: (HTML)

+

Lotus Word Pro: (LWP)

+

StarOffice: (SDA, SDC, SDD, SDW, STC, STD, STI, STW, SXD, SXG, SXI, SXW)

+

Other: (DBF, FODS, VSD, VOR, VOR3, VOR4, UOP, PCT, PS, PDF)

+ https://help.libreoffice.org/latest/en-US/text/shared/guide/supported_formats.html +
+
+ + +
+
-
- + +
+ + \ No newline at end of file diff --git a/src/main/resources/templates/convert/html-to-pdf.html b/src/main/resources/templates/convert/html-to-pdf.html index 3c426917..94b4f842 100644 --- a/src/main/resources/templates/convert/html-to-pdf.html +++ b/src/main/resources/templates/convert/html-to-pdf.html @@ -12,8 +12,11 @@

-
-

+
+
+ html + +
diff --git a/src/main/resources/templates/convert/img-to-pdf.html b/src/main/resources/templates/convert/img-to-pdf.html index a8633ad1..ec49e1c4 100644 --- a/src/main/resources/templates/convert/img-to-pdf.html +++ b/src/main/resources/templates/convert/img-to-pdf.html @@ -12,8 +12,11 @@

-
-

+
+
+ image + +
@@ -25,9 +28,9 @@
-
- - +
+ +
diff --git a/src/main/resources/templates/convert/markdown-to-pdf.html b/src/main/resources/templates/convert/markdown-to-pdf.html index 7a51a29c..748c5c66 100644 --- a/src/main/resources/templates/convert/markdown-to-pdf.html +++ b/src/main/resources/templates/convert/markdown-to-pdf.html @@ -12,8 +12,11 @@

-
-

+
+
+ markdown + +
diff --git a/src/main/resources/templates/convert/pdf-to-csv.html b/src/main/resources/templates/convert/pdf-to-csv.html index 9fba9430..be78d1da 100644 --- a/src/main/resources/templates/convert/pdf-to-csv.html +++ b/src/main/resources/templates/convert/pdf-to-csv.html @@ -11,8 +11,11 @@

-
-

+
+
+ csv + +
diff --git a/src/main/resources/templates/convert/pdf-to-html.html b/src/main/resources/templates/convert/pdf-to-html.html index c9256805..395f9829 100644 --- a/src/main/resources/templates/convert/pdf-to-html.html +++ b/src/main/resources/templates/convert/pdf-to-html.html @@ -12,8 +12,11 @@

-
-

+
+
+ html + +

diff --git a/src/main/resources/templates/convert/pdf-to-img.html b/src/main/resources/templates/convert/pdf-to-img.html index 039c52e0..d6b5f871 100644 --- a/src/main/resources/templates/convert/pdf-to-img.html +++ b/src/main/resources/templates/convert/pdf-to-img.html @@ -12,8 +12,11 @@

-
-

+
+
+ image + +

diff --git a/src/main/resources/templates/convert/pdf-to-pdfa.html b/src/main/resources/templates/convert/pdf-to-pdfa.html index 6f558a1e..7b51a86c 100644 --- a/src/main/resources/templates/convert/pdf-to-pdfa.html +++ b/src/main/resources/templates/convert/pdf-to-pdfa.html @@ -12,8 +12,11 @@

-
-

+
+
+ 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 48d27d24..8d4a4284 100644 --- a/src/main/resources/templates/convert/pdf-to-presentation.html +++ b/src/main/resources/templates/convert/pdf-to-presentation.html @@ -12,8 +12,11 @@

-
-

+
+
+ slideshow + +
diff --git a/src/main/resources/templates/convert/pdf-to-text.html b/src/main/resources/templates/convert/pdf-to-text.html index 52d461e0..21bf1fae 100644 --- a/src/main/resources/templates/convert/pdf-to-text.html +++ b/src/main/resources/templates/convert/pdf-to-text.html @@ -12,8 +12,11 @@

-
-

+
+
+ 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 fbbbf45d..cce75d76 100644 --- a/src/main/resources/templates/convert/pdf-to-word.html +++ b/src/main/resources/templates/convert/pdf-to-word.html @@ -12,8 +12,11 @@

-
-

+
+
+ description + +
diff --git a/src/main/resources/templates/convert/pdf-to-xml.html b/src/main/resources/templates/convert/pdf-to-xml.html index cad43da2..388ed80b 100644 --- a/src/main/resources/templates/convert/pdf-to-xml.html +++ b/src/main/resources/templates/convert/pdf-to-xml.html @@ -12,8 +12,11 @@

-
-

+
+
+ code + +

diff --git a/src/main/resources/templates/convert/url-to-pdf.html b/src/main/resources/templates/convert/url-to-pdf.html index 714bd1c4..26c13ad1 100644 --- a/src/main/resources/templates/convert/url-to-pdf.html +++ b/src/main/resources/templates/convert/url-to-pdf.html @@ -12,8 +12,11 @@

-
-

+
+
+ link + +

diff --git a/src/main/resources/templates/crop.html b/src/main/resources/templates/crop.html index f2049572..0af2509c 100644 --- a/src/main/resources/templates/crop.html +++ b/src/main/resources/templates/crop.html @@ -11,8 +11,11 @@

-
-

+
+
+ crop + +
diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html index d896ecbc..61c69c24 100644 --- a/src/main/resources/templates/error.html +++ b/src/main/resources/templates/error.html @@ -8,9 +8,9 @@
-
-
+
+

@@ -18,10 +18,10 @@

- - + +
- +
diff --git a/src/main/resources/templates/extract-page.html b/src/main/resources/templates/extract-page.html index 9d97b3b4..1f8feec2 100644 --- a/src/main/resources/templates/extract-page.html +++ b/src/main/resources/templates/extract-page.html @@ -11,8 +11,11 @@

-
-

+
+
+ upload + +
diff --git a/src/main/resources/templates/fragments/card.html b/src/main/resources/templates/fragments/card.html index 3f5517d6..df236c58 100644 --- a/src/main/resources/templates/fragments/card.html +++ b/src/main/resources/templates/fragments/card.html @@ -1,12 +1,23 @@ -
- -
- Icon -
-
-

-
-
- Favorite -
-
+ +
diff --git a/src/main/resources/templates/fragments/common.html b/src/main/resources/templates/fragments/common.html index 3d6cc9fd..a1b6828b 100644 --- a/src/main/resources/templates/fragments/common.html +++ b/src/main/resources/templates/fragments/common.html @@ -1,162 +1,174 @@ - - + + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - + + + + - - + + - - + + - - + + - - - - - - - + + + + + + + + + - + - - - - - - - - + + + + + + + + + - - - - - - + + - - - -
-
Lives: 3
-
Score: 0
-
High Score: 0
-
Level: 1
- favicon -
- -
+ + +
- - - -
-
- -
-
-
+ + + + // Find the file input within the form + var fileInput = $('input[type="file"]'); + + // Find the closest enclosing form of the file input + var form = fileInput.closest('form'); + + // Find the submit button within the form + var submitButton = form.find('button[type="submit"], input[type="submit"]'); + + const boredWaitingText = /*[[#{bored}]]*/ 'Bored Waiting?'; + const downloadCompleteText = /*[[#{downloadComplete}]]*/ 'Download Complete'; + window.downloadCompleteText = downloadCompleteText; + // Create the 'show-game-btn' button + var gameButton = $('

'); + + // Insert the 'show-game-btn' just above the submit button + submitButton.before(gameButton); + + function loadGameScript(callback) { + console.log('loadGameScript called'); + const script = document.createElement('script'); + script.src = 'js/game.js'; + script.onload = callback; + document.body.appendChild(script); + } + let gameScriptLoaded = false; + const gameDialog = document.getElementById('game-container-wrapper'); + $('#show-game-btn').on('click', function () { + console.log('Show game button clicked'); + if (!gameScriptLoaded) { + console.log('Show game button load'); + loadGameScript(function () { + console.log('Game script loaded'); + window.initializeGame(); + gameScriptLoaded = true; + }); + } else { + window.resetGame(); + } + gameDialog.showModal(); + }); + gameDialog.addEventListener("click", e => { + const dialogDimensions = gameDialog.getBoundingClientRect() + if ( + e.clientX < dialogDimensions.left || + e.clientX > dialogDimensions.right || + e.clientY < dialogDimensions.top || + e.clientY > dialogDimensions.bottom + ) { + gameDialog.close(); + } + }) + }) + +
+
Lives: 3
+
Score: 0
+
High Score: 0
+
Level: 1
+ favicon +
+ +
+
+ + + + + +
+
+ +
+
+
+ + +
\ No newline at end of file diff --git a/src/main/resources/templates/fragments/errorBanner.html b/src/main/resources/templates/fragments/errorBanner.html index a5070422..66908390 100644 --- a/src/main/resources/templates/fragments/errorBanner.html +++ b/src/main/resources/templates/fragments/errorBanner.html @@ -1,12 +1,18 @@ -
-