Compare commits

...

23 Commits

Author SHA1 Message Date
Anthony Stirling
3868b4eca2 updates 2024-04-05 13:05:16 +01:00
Han
64f8765115 Update messages_tr_TR.properties (#1032)
update TR
2024-04-05 12:58:54 +01:00
github-actions[bot]
3804656218 💾 Update Version (#1033)
💾 Sync Versions
> Made via sync_versions.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-04-05 12:58:05 +01:00
Anthony Stirling
a5d824213c OCR fix for #1019 2024-04-05 12:51:22 +01:00
albanobattistella
160a4e9f8d Update messages_it_IT.properties (#1031) 2024-04-04 21:52:24 +01:00
Ludy
74a0574462 Update progress of language (#1029) 2024-04-04 10:16:10 +01:00
Muhammad Sani Ibrahim
1cf23b3542 Update README.md (#606)
Make the English more standard

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-04-03 22:51:59 +01:00
github-actions[bot]
2ef1242cd8 💾 Update Version (#1015)
💾 Sync Versions
> Made via sync_versions.yml

Co-authored-by: GitHub Action action@github.com <GitHub Action action@github.com>
2024-04-03 22:41:33 +01:00
pixeebot[bot]
54c3bee205 Replaced Stream.collect(Collectors.toList()) with Stream.toList() (Sonar) (#1018)
Co-authored-by: pixeebot[bot] <104101892+pixeebot[bot]@users.noreply.github.com>
2024-04-03 22:41:24 +01:00
NicolasFR
a63c0a3625 lang: update fr_FR (#1020)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-04-03 22:41:07 +01:00
Dimitris Doukas
3103a0bffc Enhance description for "Split PDF" functionality (#1025)
* Update screen of homepage

* Fix description for "Split PDF" except AR

* Fix description for "Split PDF" in AR

* Fix one mistake on AR

* Keep clear this branch from other branches
2024-04-03 22:40:35 +01:00
Dimitris Doukas
5d71ffbfaa Update homepage screen in README (#1021)
Update screen of homepage
2024-04-03 22:40:09 +01:00
CocoMaster-AI
c0c137d1b0 Sponsor information supports translate now (#1023)
Sponsored information supports translate now
2024-04-03 10:02:01 +01:00
Anthony Stirling
8625db2885 Update build.gradle 2024-04-01 22:10:33 +01:00
Anthony Stirling
a2a969a0a0 Chinese font and word conv fix (#1014)
* remove lite package

* alphine update for word conversion issue #995
2024-04-01 22:04:27 +01:00
Anthony Stirling
8a6386ca73 remove lite package (#1012) 2024-04-01 18:33:58 +01:00
NicolasFR
255c018415 Update messages_fr_FR.properties (#1011)
fix(lang): fix a translation error
2024-04-01 17:55:22 +01:00
albanobattistella
df27ed6907 Update messages_it_IT.properties (#1010) 2024-04-01 15:04:05 +01:00
CocoMaster-AI
989491b903 Extract text from error pages and sync text variable to all lang (#1008)
* feat: extract text from error pages

* feat: sync text variables to langs.properties

---------

Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-04-01 11:04:56 +01:00
NicolasFR
664dd62d8b doc: add --break-system-packages (#1001)
Co-authored-by: Anthony Stirling <77850077+Frooodle@users.noreply.github.com>
2024-04-01 10:56:33 +01:00
albanobattistella
3d6b145db5 Update messages_it_IT.properties (#1002) 2024-03-30 19:51:44 +00:00
CocoMaster-AI
37a63242a6 Update messages_ru_RU.properties (#999) 2024-03-30 10:26:51 +00:00
Eric
dfb8c64f5a fix: switch to pdftohtml for pdf to html conversions (#998)
* fix: switch to pdftohtml for pdf to html conversions

* build: include poppler-utils in dockerfile for pdftohtml
2024-03-29 17:02:33 -04:00
56 changed files with 1370 additions and 717 deletions

View File

@@ -115,38 +115,4 @@ jobs:
labels: ${{ steps.meta2.outputs.labels }} labels: ${{ steps.meta2.outputs.labels }}
build-args: build-args:
VERSION_TAG=${{ steps.versionNumber.outputs.versionNumber }} VERSION_TAG=${{ steps.versionNumber.outputs.versionNumber }}
platforms: linux/amd64,linux/arm64/v8 platforms: linux/amd64,linux/arm64/v8
- name: Generate tags lite
id: meta3
uses: docker/metadata-action@v4.4.0
if: github.ref != 'refs/heads/main'
with:
images: |
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
tags: |
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-lite,enable=${{ github.ref == 'refs/heads/master' }}
type=raw,value=latest-lite,enable=${{ github.ref == 'refs/heads/master' }}
- name: Build and push Dockerfile-lite
uses: docker/build-push-action@v4.0.0
if: github.ref != 'refs/heads/main'
with:
context: .
file: ./Dockerfile-lite
push: true
cache-from: type=gha
cache-to: type=gha,mode=max
tags: ${{ steps.meta3.outputs.tags }}
labels: ${{ steps.meta3.outputs.labels }}
build-args:
VERSION_TAG=${{ steps.versionNumber.outputs.versionNumber }}
platforms: linux/amd64,linux/arm64/v8
- name: Build and Push Helm Chart
run: |
helm package chart/stirling-pdf
helm push stirling-pdf-chart-1.0.0.tgz oci://registry-1.docker.io/frooodle

View File

@@ -1,5 +1,5 @@
# Main stage # Main stage
FROM alpine:3.19.1 FROM alpine:20240329
# Copy necessary files # Copy necessary files
COPY scripts /scripts COPY scripts /scripts
@@ -33,9 +33,12 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
curl \ curl \
openjdk17-jre \ openjdk17-jre \
su-exec \ su-exec \
font-noto-cjk \
shadow \ shadow \
# Doc conversion # Doc conversion
libreoffice@testing \ libreoffice@testing \
# pdftohtml
poppler-utils \
# OCR MY PDF (unpaper for descew and other advanced featues) # OCR MY PDF (unpaper for descew and other advanced featues)
ocrmypdf \ ocrmypdf \
tesseract-ocr-data-eng \ tesseract-ocr-data-eng \
@@ -54,7 +57,8 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
# User permissions # User permissions
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \ addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \ chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \
chown stirlingpdfuser:stirlingpdfgroup /app.jar chown stirlingpdfuser:stirlingpdfgroup /app.jar && \
tesseract --list-langs
EXPOSE 8080 EXPOSE 8080

View File

@@ -1,63 +0,0 @@
# use alpine
FROM alpine:3.19.1
ARG VERSION_TAG
# Set Environment Variables
ENV DOCKER_ENABLE_SECURITY=false \
HOME=/home/stirlingpdfuser \
VERSION_TAG=$VERSION_TAG \
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
PUID=1000 \
PGID=1000 \
UMASK=022
# Copy necessary files
COPY scripts/download-security-jar.sh /scripts/download-security-jar.sh
COPY scripts/init-without-ocr.sh /scripts/init-without-ocr.sh
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 build/libs/*.jar app.jar
RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \
apk add --no-cache \
ca-certificates \
tzdata \
tini \
bash \
curl \
gcc \
openjdk17-jre \
su-exec \
shadow \
# Doc conversion
libreoffice@testing \
# python and pip
python3 && \
wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \
# uno unoconv and HTML
pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \
# Set up necessary directories and permissions
mkdir -p /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders && \
# Set font cache and permissions
fc-cache -f -v && \
chmod +x /scripts/*.sh && \
# User permissions
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \
chown stirlingpdfuser:stirlingpdfgroup /app.jar
# Set environment variables
ENV ENDPOINTS_GROUPS_TO_REMOVE=OpenCV,OCRmyPDF
ENV DOCKER_ENABLE_SECURITY=false
EXPOSE 8080
# Run the application
ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"]
CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]

View File

@@ -95,7 +95,7 @@ For Debian-based systems, you can use the following command:
```bash ```bash
sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf sudo apt-get install -y libreoffice-writer libreoffice-calc libreoffice-impress unpaper ocrmypdf
pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint --break-system-packages
``` ```
For Fedora: For Fedora:

View File

@@ -1,5 +1,5 @@
<p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" ><br><h1 align="center">Stirling-PDF</h1> <p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" ></p>
</p> <h1 align="center">Stirling-PDF</h1>
[![Docker Pulls](https://img.shields.io/docker/pulls/frooodle/s-pdf)](https://hub.docker.com/r/frooodle/s-pdf) [![Docker Pulls](https://img.shields.io/docker/pulls/frooodle/s-pdf)](https://hub.docker.com/r/frooodle/s-pdf)
[![Discord](https://img.shields.io/discord/1068636748814483718?label=Discord)](https://discord.gg/Cn8pWhQRxZ) [![Discord](https://img.shields.io/discord/1068636748814483718?label=Discord)](https://discord.gg/Cn8pWhQRxZ)
@@ -10,25 +10,26 @@
[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af) [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af)
This is a powerful locally hosted web based PDF manipulation tool using docker that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application started as a 100% ChatGPT-made application and has evolved to include a wide range of features to handle all your PDF needs. This is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. Originally developed entirely by ChatGPT, this locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements.
Stirling PDF makes no outbound calls for any record keeping or tracking. Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes.
All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point. All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point.
![stirling-home](images/stirling-home.png) ![stirling-home](images/stirling-home.jpg)
## Features ## Features
- Dark mode support. - Dark mode support.
- Custom download options (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/images/settings.png) for example) - Custom download options (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/images/settings.png) for example)
- Parallel file processing and downloads - Parallel file processing and downloads
- API for integration with external scripts - API for integration with external scripts
- Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation) - Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation)
## **PDF Features** ## **PDF Features**
### **Page Operations** ### **Page Operations**
- View and modify PDFs - View multi page PDFs with custom viewing sorting and searching. Plus on page edit features like annotate, draw and adding text and images. (Using PDF.js with Joxit and Liberation.Liberation fonts) - View and modify PDFs - View multi page PDFs with custom viewing sorting and searching. Plus on page edit features like annotate, draw and adding text and images. (Using PDF.js with Joxit and Liberation.Liberation fonts)
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages. - Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages.
- Merge multiple PDFs together into a single resultant file. - Merge multiple PDFs together into a single resultant file.
@@ -45,6 +46,7 @@ All files and PDFs exist either exclusively on the client side, reside in server
- Convert PDF to a single page. - Convert PDF to a single page.
### **Conversion Operations** ### **Conversion Operations**
- Convert PDFs to and from images. - Convert PDFs to and from images.
- Convert any common file to PDF (using LibreOffice). - Convert any common file to PDF (using LibreOffice).
- Convert PDF to Word/Powerpoint/Others (using LibreOffice). - Convert PDF to Word/Powerpoint/Others (using LibreOffice).
@@ -53,6 +55,7 @@ All files and PDFs exist either exclusively on the client side, reside in server
- Markdown to PDF. - Markdown to PDF.
### **Security & Permissions** ### **Security & Permissions**
- Add and remove passwords. - Add and remove passwords.
- Change/set PDF Permissions. - Change/set PDF Permissions.
- Add watermark(s). - Add watermark(s).
@@ -61,6 +64,7 @@ All files and PDFs exist either exclusively on the client side, reside in server
- Auto-redact text. - Auto-redact text.
### **Other Operations** ### **Other Operations**
- Add/Generate/Write signatures. - Add/Generate/Write signatures.
- Repair PDFs. - Repair PDFs.
- Detect and remove blank pages. - Detect and remove blank pages.
@@ -77,11 +81,11 @@ All files and PDFs exist either exclusively on the client side, reside in server
- Flatten PDFs. - Flatten PDFs.
- Get all information on a PDF to view or export as JSON. - Get all information on a PDF to view or export as JSON.
For a overview of the tasks and the technology each uses please view [Endpoint-groups.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md) For a overview of the tasks and the technology each uses please view [Endpoint-groups.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md)
Demo of the app is available [here](https://stirlingpdf.io). username: demo, password: demo Demo of the app is available [here](https://stirlingpdf.io). username: demo, password: demo
## Technologies used ## Technologies used
- Spring Boot + Thymeleaf - Spring Boot + Thymeleaf
- [PDFBox](https://github.com/apache/pdfbox/tree/trunk) - [PDFBox](https://github.com/apache/pdfbox/tree/trunk)
- [LibreOffice](https://www.libreoffice.org/discover/libreoffice/) for advanced conversions - [LibreOffice](https://www.libreoffice.org/discover/libreoffice/) for advanced conversions
@@ -94,19 +98,21 @@ Demo of the app is available [here](https://stirlingpdf.io). username: demo, pas
## How to use ## How to use
### Locally ### Locally
Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/LocalRunGuide.md Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/LocalRunGuide.md
### Docker / Podman ### Docker / Podman
https://hub.docker.com/r/frooodle/s-pdf https://hub.docker.com/r/frooodle/s-pdf
Stirling PDF has 3 different versions, a Full version, Lite, and ultra-Lite. Depending on the types of features you use you may want a smaller image to save on space. Stirling PDF has 2 different versions, a Full version and ultra-Lite version. Depending on the types of features you use you may want a smaller image to save on space.
To see what the different versions offer please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md) To see what the different versions offer please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md)
For people that don't mind about space optimization just use the latest tag. For people that don't mind about space optimization just use the latest tag.
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest?label=Stirling-PDF%20Full) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest?label=Stirling-PDF%20Full)
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-lite?label=Stirling-PDF%20Lite)
![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite) ![Docker Image Size (tag)](https://img.shields.io/docker/image-size/frooodle/s-pdf/latest-ultra-lite?label=Stirling-PDF%20Ultra-Lite)
Docker Run Docker Run
```bash ```bash
docker run -d \ docker run -d \
-p 8080:8080 \ -p 8080:8080 \
@@ -123,7 +129,9 @@ docker run -d \
-v /location/of/customFiles:/customFiles \ -v /location/of/customFiles:/customFiles \
``` ```
Docker Compose Docker Compose
```yaml ```yaml
version: '3.3' version: '3.3'
services: services:
@@ -144,54 +152,60 @@ services:
Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman". Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman".
## Enable OCR/Compression feature ## Enable OCR/Compression feature
Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md
## Supported Languages ## Supported Languages
Stirling PDF currently supports 26! Stirling PDF currently supports 26!
- English (English) (en_GB)
- English (US) (en_US) | Language | Progress |
- Arabic (العربية) (ar_AR) | ------------------------------------------- | -------------------------------------- |
- German (Deutsch) (de_DE) | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) |
- French (Français) (fr_FR) | English (US) (en_US) | ![100%](https://geps.dev/progress/100) |
- Spanish (Español) (es_ES) | Arabic (العربية) (ar_AR) | ![58%](https://geps.dev/progress/58) |
- Simplified Chinese (简体中文) (zh_CN) | German (Deutsch) (de_DE) | ![95%](https://geps.dev/progress/95) |
- Traditional Chinese (繁體中文) (zh_TW) | French (Français) (fr_FR) | ![99%](https://geps.dev/progress/99) |
- Catalan (Català) (ca_CA) | Spanish (Español) (es_ES) | ![95%](https://geps.dev/progress/95) |
- Italian (Italiano) (it_IT) | Simplified Chinese (简体中文) (zh_CN) | ![99%](https://geps.dev/progress/99) |
- Swedish (Svenska) (sv_SE) | Traditional Chinese (繁體中文) (zh_TW) | ![97%](https://geps.dev/progress/97) |
- Polish (Polski) (pl_PL) | Catalan (Català) (ca_CA) | ![65%](https://geps.dev/progress/65) |
- Romanian (Română) (ro_RO) | Italian (Italiano) (it_IT) | ![99%](https://geps.dev/progress/99) |
- Korean (한국어) (ko_KR) | Swedish (Svenska) (sv_SE) | ![58%](https://geps.dev/progress/58) |
- Portuguese Brazilian (Português) (pt_BR) | Polish (Polski) (pl_PL) | ![60%](https://geps.dev/progress/60) |
- Russian (Русский) (ru_RU) | Romanian (Română) (ro_RO) | ![58%](https://geps.dev/progress/58) |
- Basque (Euskara) (eu_ES) | Korean (한국어) (ko_KR) | ![92%](https://geps.dev/progress/92) |
- Japanese (日本語) (ja_JP) | Portuguese Brazilian (Português) (pt_BR) | ![74%](https://geps.dev/progress/74) |
- Dutch (Nederlands) (nl_NL) | Russian (Русский) (ru_RU) | ![92%](https://geps.dev/progress/92) |
- Greek (el_GR) | Basque (Euskara) (eu_ES) | ![76%](https://geps.dev/progress/76) |
- Turkish (Türkçe) (tr_TR) | Japanese (日本語) (ja_JP) | ![92%](https://geps.dev/progress/92) |
- Indonesia (Bahasa Indonesia) (id_ID) | Dutch (Nederlands) (nl_NL) | ![92%](https://geps.dev/progress/92) |
- Hindi (हिंदी) (hi_IN) | Greek (Ελληνικά) (el_GR) | ![77%](https://geps.dev/progress/77) |
- Hungarian (Magyar) (hu_HU) | Turkish (Türkçe) (tr_TR) | ![99%](https://geps.dev/progress/99) |
- Bulgarian (Български) (bg_BG) | Indonesia (Bahasa Indonesia) (id_ID) | ![87%](https://geps.dev/progress/87) |
- Sebian Latin alphabet (Srpski) (sr_LATN_RS) | Hindi (हिंदी) (hi_IN) | ![88%](https://geps.dev/progress/88) |
| Hungarian (Magyar) (hu_HU) | ![87%](https://geps.dev/progress/87) |
| Bulgarian (Български) (bg_BG) | ![82%](https://geps.dev/progress/82) |
| Sebian Latin alphabet (Srpski) (sr_LATN_RS) | ![89%](https://geps.dev/progress/89) |
## Contributing (creating issues, translations, fixing bugs, etc.) ## Contributing (creating issues, translations, fixing bugs, etc.)
Please see our [Contributing Guide](CONTRIBUTING.md)! Please see our [Contributing Guide](CONTRIBUTING.md)!
## Customisation ## Customisation
Stirling PDF allows easy customization of the app. Stirling PDF allows easy customization of the app.
Includes things like Includes things like
- Custom application name - Custom application name
- Custom slogans, icons, images, and even custom HTML (via file overrides) - Custom slogans, icons, images, and even custom HTML (via file overrides)
There are two options for this, either using the generated settings file ``settings.yml`` There are two options for this, either using the generated settings file ``settings.yml``
This file is located in the ``/configs`` directory and follows standard YAML formatting This file is located in the ``/configs`` directory and follows standard YAML formatting
Environment variables are also supported and would override the settings file Environment variables are also supported and would override the settings file
For example in the settings.yml you have For example in the settings.yml you have
```yaml ```yaml
system: system:
defaultLocale: 'en-US' defaultLocale: 'en-US'
@@ -200,6 +214,7 @@ system:
To have this via an environment variable you would have ``SYSTEM_DEFAULTLOCALE`` To have this via an environment variable you would have ``SYSTEM_DEFAULTLOCALE``
The Current list of settings is The Current list of settings is
```yaml ```yaml
security: security:
enableLogin: false # set to 'true' to enable login enableLogin: false # set to 'true' to enable login
@@ -222,24 +237,31 @@ endpoints:
metrics: metrics:
enabled: true # 'true' to enable Info APIs endpoints (view http://localhost:8080/swagger-ui/index.html#/API to learn more), 'false' to disable enabled: true # 'true' to enable Info APIs endpoints (view http://localhost:8080/swagger-ui/index.html#/API to learn more), 'false' to disable
``` ```
### Extra notes ### Extra notes
- Endpoints. Currently, the endpoints ENDPOINTS_TO_REMOVE and GROUPS_TO_REMOVE can include comma separate lists of endpoints and groups to disable as example ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages would disable both image-to-pdf and remove pages, GROUPS_TO_REMOVE=LibreOffice Would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md) - Endpoints. Currently, the endpoints ENDPOINTS_TO_REMOVE and GROUPS_TO_REMOVE can include comma separate lists of endpoints and groups to disable as example ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages would disable both image-to-pdf and remove pages, GROUPS_TO_REMOVE=LibreOffice Would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md)
- customStaticFilePath. Customise static files such as the app logo by placing files in the /customFiles/static/ directory. An example of customising app logo is placing a /customFiles/static/favicon.svg to override current SVG. This can be used to change any images/icons/css/fonts/js etc in Stirling-PDF - customStaticFilePath. Customise static files such as the app logo by placing files in the /customFiles/static/ directory. An example of customising app logo is placing a /customFiles/static/favicon.svg to override current SVG. This can be used to change any images/icons/css/fonts/js etc in Stirling-PDF
### Environment only parameters ### Environment only parameters
- ``SYSTEM_ROOTURIPATH`` ie set to ``/pdf-app`` to Set the application's root URI to ``localhost:8080/pdf-app`` - ``SYSTEM_ROOTURIPATH`` ie set to ``/pdf-app`` to Set the application's root URI to ``localhost:8080/pdf-app``
- ``SYSTEM_CONNECTIONTIMEOUTMINUTES`` to set custom connection timeout values - ``SYSTEM_CONNECTIONTIMEOUTMINUTES`` to set custom connection timeout values
- ``DOCKER_ENABLE_SECURITY`` to tell docker to download security jar (required as true for auth login) - ``DOCKER_ENABLE_SECURITY`` to tell docker to download security jar (required as true for auth login)
- ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS`` to download calibre onto stirling-pdf enabling pdf to/from book and advanced html conversion - ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS`` to download calibre onto stirling-pdf enabling pdf to/from book and advanced html conversion
## API ## API
For those wanting to use Stirling-PDFs backend API to link with their own custom scripting to edit PDFs you can view all existing API documentation For those wanting to use Stirling-PDFs backend API to link with their own custom scripting to edit PDFs you can view all existing API documentation
[here](https://app.swaggerhub.com/apis-docs/Stirling-Tools/Stirling-PDF/) or navigate to /swagger-ui/index.html of your stirling-pdf instance for your versions documentation (Or by following the API button in your settings of Stirling-PDF) [here](https://app.swaggerhub.com/apis-docs/Stirling-Tools/Stirling-PDF/) or navigate to /swagger-ui/index.html of your stirling-pdf instance for your versions documentation (Or by following the API button in your settings of Stirling-PDF)
## Login authentication ## Login authentication
![stirling-login](images/login-light.png) ![stirling-login](images/login-light.png)
### Prerequisites: ### Prerequisites:
- User must have the folder ./configs volumed within docker so that it is retained during updates. - User must have the folder ./configs volumed within docker so that it is retained during updates.
- Docker uses must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables. - Docker uses must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables.
- Then either enable login via the settings.yml file or via setting ``SECURITY_ENABLE_LOGIN`` to ``true`` - Then either enable login via the settings.yml file or via setting ``SECURITY_ENABLE_LOGIN`` to ``true``
@@ -258,6 +280,7 @@ For API usage you must provide a header with 'X-API-Key' and the associated API
## FAQ ## FAQ
### Q1: What are your planned features? ### Q1: What are your planned features?
- Progress bar/Tracking - Progress bar/Tracking
- Full custom logic pipelines to combine multiple operations together. - Full custom logic pipelines to combine multiple operations together.
- Folder support with auto scanning to perform operations on - Folder support with auto scanning to perform operations on
@@ -267,7 +290,9 @@ For API usage you must provide a header with 'X-API-Key' and the associated API
- Fill forms manually or automatically - Fill forms manually or automatically
### Q2: Why is my application downloading .htm files? ### Q2: Why is my application downloading .htm files?
This is an issue caused commonly by your NGINX configuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files. This is an issue caused commonly by your NGINX configuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files.
### Q3: Why is my download timing out ### Q3: Why is my download timing out
NGINX has timeout values by default so if you are running Stirling-PDF behind NGINX you may need to set a timeout value such as adding the config ``proxy_read_timeout 3600;`` NGINX has timeout values by default so if you are running Stirling-PDF behind NGINX you may need to set a timeout value such as adding the config ``proxy_read_timeout 3600;``

View File

@@ -1,64 +1,52 @@
|Technology | Ultra-Lite | Lite | Full | | Technology | Ultra-Lite | Full |
|----------------|:----------:|:----:|:----:| |----------------|:----------:|:----:|
| Java | ✔️ | ✔️ | ✔️ | | Java | ✔️ | ✔️ |
| JavaScript | ✔️ | ✔️ | ✔️ | | JavaScript | ✔️ | ✔️ |
| Libre | | ✔️ | ✔️ | | Libre | | ✔️ |
| Python | | | ✔️ | | Python | | ✔️ |
| OpenCV | | | ✔️ | | OpenCV | | ✔️ |
| OCRmyPDF | | | ✔️ | | OCRmyPDF | | ✔️ |
Operation | Ultra-Lite | Full
-------------------------|------------|-----
add-page-numbers | ✔️ | ✔️
add-password | ✔️ | ✔️
Operation | Ultra-Lite | Lite | Full add-image | ✔️ | ✔️
--------------------|------------|------|----- add-watermark | ✔️ | ✔️
add-page-numbers | ✔️ | ✔️ | ✔️ adjust-contrast | ✔️ | ✔️
add-password | ✔️ | ✔️ | ✔️ auto-split-pdf | ✔️ | ✔️
add-image | ✔️ | ✔️ | ✔️ auto-redact | ✔️ | ✔️
add-watermark | ✔️ | ✔️ | ✔️ auto-rename | ✔️ | ✔️
adjust-contrast | ✔️ | ✔️ | ✔️ cert-sign | ✔️ | ✔️
auto-split-pdf | ✔️ | ✔️ | ✔️ crop | ✔️ | ✔️
auto-redact | ✔️ | ✔️ | ✔️ change-metadata | ✔️ | ✔️
auto-rename | ✔️ | ✔️ | ✔️ change-permissions | ✔️ | ✔️
cert-sign | ✔️ | ✔️ | ✔️ compare | ✔️ | ✔️
crop | ✔️ | ✔️ | ✔️ extract-page | ✔️ | ✔️
change-metadata | ✔️ | ✔️ | ✔️ extract-images | ✔️ | ✔️
change-permissions | ✔️ | ✔️ | ✔️ flatten | ✔️ | ✔️
compare | ✔️ | ✔️ | ✔️ get-info-on-pdf | ✔️ | ✔️
extract-page | ✔️ | ✔️ | ✔️ img-to-pdf | ✔️ | ✔️
extract-images | ✔️ | ✔️ | ✔️ markdown-to-pdf | ✔️ | ✔️
flatten | ✔️ | ✔️ | ✔️ merge-pdfs | ✔️ | ✔️
get-info-on-pdf | ✔️ | ✔️ | ✔️ multi-page-layout | ✔️ | ✔️
img-to-pdf | ✔️ | ✔️ | ✔️ overlay-pdf | ✔️ | ✔️
markdown-to-pdf | ✔️ | ✔️ | ✔️ pdf-organizer | ✔️ | ✔️
merge-pdfs | ✔️ | ✔️ | ✔️ pdf-to-csv | ✔️ | ✔️
multi-page-layout | ✔️ | ✔️ | ✔️ pdf-to-img | ✔️ | ✔️
overlay-pdf | ✔️ | ✔️ | ✔️ pdf-to-single-page | ✔️ | ✔️
pdf-organizer | ✔️ | ✔️ | ✔️ remove-pages | ✔️ | ✔️
pdf-to-csv | ✔️ | ✔️ | ✔️ remove-password | ✔️ | ✔️
pdf-to-img | ✔️ | ✔️ | ✔️ rotate-pdf | ✔️ | ✔️
pdf-to-single-page | ✔️ | ✔️ | ✔️ sanitize-pdf | ✔️ | ✔️
remove-pages | ✔️ | ✔️ | ✔️ scale-pages | ✔️ | ✔️
remove-password | ✔️ | ✔️ | ✔️ sign | ✔️ | ✔️
rotate-pdf | ✔️ | ✔️ | ✔️ show-javascript | ✔️ | ✔️
sanitize-pdf | ✔️ | ✔️ | ✔️ split-by-size-or-count | ✔️ | ✔️
scale-pages | ✔️ | ✔️ | ✔️ split-pdf-by-sections | ✔️ | ✔️
sign | ✔️ | ✔️ | ✔️ split-pdfs | ✔️ | ✔️
show-javascript | ✔️ | ✔️ | ✔️ compress-pdf | | ✔️
split-by-size-or-count | ✔️ | ✔️ | ✔️ extract-image-scans | | ✔️
split-pdf-by-sections | ✔️ | ✔️ | ✔️ ocr-pdf | | ✔️
split-pdfs | ✔️ | ✔️ | ✔️ pdf-to-pdfa | | ✔️
file-to-pdf | | ✔️ | ✔️ remove-blanks | | ✔️
pdf-to-html | | ✔️ | ✔️
pdf-to-presentation | | ✔️ | ✔️
pdf-to-text | | ✔️ | ✔️
pdf-to-word | | ✔️ | ✔️
pdf-to-xml | | ✔️ | ✔️
repair | | ✔️ | ✔️
xlsx-to-pdf | | ✔️ | ✔️
compress-pdf | | | ✔️
extract-image-scans | | | ✔️
ocr-pdf | | | ✔️
pdf-to-pdfa | | | ✔️
remove-blanks | | | ✔️

View File

@@ -12,7 +12,7 @@ plugins {
import com.github.jk1.license.render.* import com.github.jk1.license.render.*
group = 'stirling.software' group = 'stirling.software'
version = '0.22.6' version = '0.22.8'
sourceCompatibility = '17' sourceCompatibility = '17'
repositories { repositories {

View File

@@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
appVersion: 0.22.6 appVersion: 0.22.8
description: locally hosted web application that allows you to perform various operations description: locally hosted web application that allows you to perform various operations
on PDF files on PDF files
home: https://github.com/Stirling-Tools/Stirling-PDF home: https://github.com/Stirling-Tools/Stirling-PDF

View File

@@ -1,31 +0,0 @@
version: '3.3'
services:
stirling-pdf:
container_name: Stirling-PDF-Lite-Security
image: frooodle/s-pdf:latest-lite
deploy:
resources:
limits:
memory: 2G
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:8080/ | grep -q 'Please sign in'"]
interval: 5s
timeout: 10s
retries: 16
ports:
- 8080:8080
volumes:
- /stirling/latest/data:/usr/share/tessdata:rw
- /stirling/latest/config:/configs:rw
- /stirling/latest/logs:/logs:rw
environment:
DOCKER_ENABLE_SECURITY: "true"
SECURITY_ENABLELOGIN: "true"
SYSTEM_DEFAULTLOCALE: en-US
UI_APPNAME: Stirling-PDF-Lite
UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest with Security
UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest
SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true"
restart: on-failure:5

View File

@@ -1,30 +0,0 @@
version: '3.3'
services:
stirling-pdf:
container_name: Stirling-PDF-Lite
image: frooodle/s-pdf:latest-lite
deploy:
resources:
limits:
memory: 2G
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP' && curl -fL http://localhost:8080/ | grep -qv 'Please sign in'"]
interval: 5s
timeout: 10s
retries: 16
ports:
- 8080:8080
volumes:
- /stirling/latest/config:/configs:rw
- /stirling/latest/logs:/logs:rw
environment:
DOCKER_ENABLE_SECURITY: "false"
SECURITY_ENABLELOGIN: "false"
SYSTEM_DEFAULTLOCALE: en-US
UI_APPNAME: Stirling-PDF-Lite
UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Lite Latest
UI_APPNAMENAVBAR: Stirling-PDF-Lite Latest
SYSTEM_MAXFILESIZE: "100"
METRICS_ENABLED: "true"
SYSTEM_GOOGLEVISIBILITY: "true"
restart: on-failure:5

BIN
images/stirling-home.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

View File

@@ -0,0 +1,122 @@
"""A script to update language progress status in README.md based on
properties file comparison.
This script compares default properties file with others in a directory to
determine language progress.
It then updates README.md based on provided progress list.
Author: Ludy87
Example:
To use this script, simply run it from command line:
$ python counter_translation.py
"""
import os
import glob
import re
from typing import List, Tuple
def write_readme(progress_list: List[Tuple[str, int]]) -> None:
"""
Updates the progress status in the README.md file based
on the provided progress list.
Parameters:
progress_list (List[Tuple[str, int]]): A list of tuples containing
language and progress percentage.
Returns:
None
"""
with open("README.md", "r", encoding="utf-8") as file:
content = file.read()
lines = content.split("\n")
for i, line in enumerate(lines[2:], start=2):
for progress in progress_list:
language, value = progress
if language in line:
match = re.search(r"\!\[(\d+(\.\d+)?)%\]\(.*\)", line)
if match:
lines[i] = line.replace(
match.group(0),
f"![{value}%](https://geps.dev/progress/{value})",
)
new_content = "\n".join(lines)
with open("README.md", "w", encoding="utf-8") as file:
file.write(new_content)
def compare_files(default_file_path, files_directory) -> List[Tuple[str, int]]:
"""
Compares the default properties file with other
properties files in the directory.
Parameters:
default_file_path (str): The path to the default properties file.
files_directory (str): The directory containing other properties files.
Returns:
List[Tuple[str, int]]: A list of tuples containing
language and progress percentage.
"""
file_paths = glob.glob(os.path.join(files_directory, "messages_*.properties"))
num_lines = sum(1 for _ in open(default_file_path, encoding="utf-8"))
result_list = []
for file_path in file_paths:
language = (
os.path.basename(file_path)
.split("messages_", 1)[1]
.split(".properties", 1)[0]
)
fails = 0
if "en_GB" in language or "en_US" in language:
result_list.append(("en_GB", 100))
result_list.append(("en_US", 100))
continue
with open(default_file_path, "r", encoding="utf-8") as default_file, open(
file_path, "r", encoding="utf-8"
) as file:
for _ in range(5):
next(default_file)
try:
next(file)
except StopIteration:
fails = num_lines
for _, (line_default, line_file) in enumerate(
zip(default_file, file), start=6
):
try:
if (
line_default.split("=", 1)[1].strip()
== line_file.split("=", 1)[1].strip()
):
fails += 1
except IndexError:
pass
result_list.append(
(
language,
int((num_lines - fails) * 100 / num_lines),
)
)
unique_data = list(set(result_list))
unique_data.sort(key=lambda x: x[1], reverse=True)
return unique_data
if __name__ == "__main__":
directory = os.path.join(os.getcwd(), "src", "main", "resources")
reference_file = os.path.join(directory, "messages_en_GB.properties")
write_readme(compare_files(reference_file, directory))

View File

@@ -244,6 +244,6 @@ public class EndpointConfiguration {
} }
} }
} }
private static final String REMOVE_BLANKS = "remove-blanks"; private static final String REMOVE_BLANKS = "remove-blanks";
} }

View File

@@ -291,6 +291,6 @@ public class UserController {
} }
return ResponseEntity.ok(apiKey); return ResponseEntity.ok(apiKey);
} }
private static final String LOGIN_MESSAGETYPE_CREDSUPDATED = "/login?messageType=credsUpdated"; private static final String LOGIN_MESSAGETYPE_CREDSUPDATED = "/login?messageType=credsUpdated";
} }

View File

@@ -29,18 +29,6 @@ import stirling.software.SPDF.utils.WebResponseUtils;
@Tag(name = "Convert", description = "Convert APIs") @Tag(name = "Convert", description = "Convert APIs")
public class ConvertPDFToOffice { public class ConvertPDFToOffice {
@PostMapping(consumes = "multipart/form-data", value = "/pdf/html")
@Operation(
summary = "Convert PDF to HTML",
description =
"This endpoint converts a PDF file to HTML format. Input:PDF Output:HTML Type:SISO")
public ResponseEntity<byte[]> processPdfToHTML(@ModelAttribute PDFFile request)
throws Exception {
MultipartFile inputFile = request.getFileInput();
PDFToFile pdfToFile = new PDFToFile();
return pdfToFile.processPdfToOfficeFormat(inputFile, "html", "writer_pdf_import");
}
@PostMapping(consumes = "multipart/form-data", value = "/pdf/presentation") @PostMapping(consumes = "multipart/form-data", value = "/pdf/presentation")
@Operation( @Operation(
summary = "Convert PDF to Presentation format", summary = "Convert PDF to Presentation format",

View File

@@ -6,8 +6,6 @@ import java.nio.file.Path;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;

View File

@@ -9,7 +9,6 @@ import java.nio.file.StandardCopyOption;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
@@ -143,8 +142,7 @@ public class ExtractImageScansController {
.runCommandWithOutputHandling(command); .runCommandWithOutputHandling(command);
// Read the output photos in temp directory // Read the output photos in temp directory
List<Path> tempOutputFiles = List<Path> tempOutputFiles = Files.list(tempDir).sorted().toList();
Files.list(tempDir).sorted().collect(Collectors.toList());
for (Path tempOutputFile : tempOutputFiles) { for (Path tempOutputFile : tempOutputFiles) {
byte[] imageBytes = Files.readAllBytes(tempOutputFile); byte[] imageBytes = Files.readAllBytes(tempOutputFile);
processedImageBytes.add(imageBytes); processedImageBytes.add(imageBytes);
@@ -219,6 +217,6 @@ public class ExtractImageScansController {
}); });
} }
} }
private static final String REPLACEFIRST = "[.][^.]+$"; private static final String REPLACEFIRST = "[.][^.]+$";
} }

View File

@@ -26,7 +26,6 @@ import org.springframework.stereotype.Service;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import stirling.software.SPDF.model.ApplicationProperties;
import stirling.software.SPDF.model.PipelineConfig; import stirling.software.SPDF.model.PipelineConfig;
import stirling.software.SPDF.model.PipelineOperation; import stirling.software.SPDF.model.PipelineOperation;

View File

@@ -3,8 +3,6 @@ package stirling.software.SPDF.repository;
import java.util.Optional; import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import stirling.software.SPDF.model.User; import stirling.software.SPDF.model.User;

View File

@@ -25,6 +25,71 @@ import io.github.pixee.security.Filenames;
import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult; import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult;
public class PDFToFile { public class PDFToFile {
public ResponseEntity<byte[]> processPdfToHtml(MultipartFile inputFile)
throws IOException, InterruptedException {
if (!"application/pdf".equals(inputFile.getContentType())) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
}
// Get the original PDF file name without the extension
String originalPdfFileName = Filenames.toSimpleFileName(inputFile.getOriginalFilename());
String pdfBaseName = originalPdfFileName.substring(0, originalPdfFileName.lastIndexOf('.'));
Path tempInputFile = null;
Path tempOutputDir = null;
byte[] fileBytes;
String fileName = "temp.file";
try {
// Save the uploaded file to a temporary location
tempInputFile = Files.createTempFile("input_", ".pdf");
Files.copy(
inputFile.getInputStream(), tempInputFile, StandardCopyOption.REPLACE_EXISTING);
// Prepare the output directory
tempOutputDir = Files.createTempDirectory("output_");
// Run the pdftohtml command with complex output
List<String> command =
new ArrayList<>(
Arrays.asList(
"pdftohtml", "-c", tempInputFile.toString(), pdfBaseName));
ProcessExecutorResult returnCode =
ProcessExecutor.getInstance(ProcessExecutor.Processes.PDFTOHTML)
.runCommandWithOutputHandling(command, tempOutputDir.toFile());
// Get output files
List<File> outputFiles = Arrays.asList(tempOutputDir.toFile().listFiles());
// Return output files in a ZIP archive
fileName = pdfBaseName + "ToHtml.zip";
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream);
for (File outputFile : outputFiles) {
ZipEntry entry = new ZipEntry(outputFile.getName());
zipOutputStream.putNextEntry(entry);
FileInputStream fis = new FileInputStream(outputFile);
IOUtils.copy(fis, zipOutputStream);
fis.close();
zipOutputStream.closeEntry();
}
zipOutputStream.close();
fileBytes = byteArrayOutputStream.toByteArray();
} finally {
// Clean up the temporary files
if (tempInputFile != null) Files.delete(tempInputFile);
if (tempOutputDir != null) FileUtils.deleteDirectory(tempOutputDir.toFile());
}
return WebResponseUtils.bytesToWebResponse(
fileBytes, fileName, MediaType.APPLICATION_OCTET_STREAM);
}
public ResponseEntity<byte[]> processPdfToOfficeFormat( public ResponseEntity<byte[]> processPdfToOfficeFormat(
MultipartFile inputFile, String outputFormat, String libreOfficeFilter) MultipartFile inputFile, String outputFormat, String libreOfficeFilter)
throws IOException, InterruptedException { throws IOException, InterruptedException {
@@ -39,17 +104,7 @@ public class PDFToFile {
// Validate output format // Validate output format
List<String> allowedFormats = List<String> allowedFormats =
Arrays.asList( Arrays.asList("doc", "docx", "odt", "ppt", "pptx", "odp", "rtf", "xml", "txt:Text");
"doc",
"docx",
"odt",
"ppt",
"pptx",
"odp",
"rtf",
"html",
"xml",
"txt:Text");
if (!allowedFormats.contains(outputFormat)) { if (!allowedFormats.contains(outputFormat)) {
return new ResponseEntity<>(HttpStatus.BAD_REQUEST); return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
} }

View File

@@ -24,6 +24,7 @@ public class ProcessExecutor {
public enum Processes { public enum Processes {
LIBRE_OFFICE, LIBRE_OFFICE,
PDFTOHTML,
OCR_MY_PDF, OCR_MY_PDF,
PYTHON_OPENCV, PYTHON_OPENCV,
GHOSTSCRIPT, GHOSTSCRIPT,
@@ -45,6 +46,7 @@ public class ProcessExecutor {
int semaphoreLimit = int semaphoreLimit =
switch (key) { switch (key) {
case LIBRE_OFFICE -> 1; case LIBRE_OFFICE -> 1;
case PDFTOHTML -> 1;
case OCR_MY_PDF -> 2; case OCR_MY_PDF -> 2;
case PYTHON_OPENCV -> 8; case PYTHON_OPENCV -> 8;
case GHOSTSCRIPT -> 16; case GHOSTSCRIPT -> 16;
@@ -56,6 +58,7 @@ public class ProcessExecutor {
long timeoutMinutes = long timeoutMinutes =
switch (key) { switch (key) {
case LIBRE_OFFICE -> 30; case LIBRE_OFFICE -> 30;
case PDFTOHTML -> 5;
case OCR_MY_PDF -> 30; case OCR_MY_PDF -> 30;
case PYTHON_OPENCV -> 30; case PYTHON_OPENCV -> 30;
case GHOSTSCRIPT -> 5; case GHOSTSCRIPT -> 5;

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=حدد زاوية الدوران (بمضاعفات 90 درج
rotate.submit=استدارة rotate.submit=استدارة
#merge #split-pdfs
split.title=انقسام PDF split.title=انقسام PDF
split.header=تقسيم PDF split.header=تقسيم PDF
split.desc.1=الأرقام التي تحددها هي رقم الصفحة التي تريد تقسيمها split.desc.1=الأرقام التي تحددها هي رقم الصفحة التي تريد تقسيمها
split.desc.2=على هذا النحو ، سيؤدي تحديد 1،3،7-8 إلى تقسيم مستند من 10 صفحات إلى 6 PDFS منفصلة مع: split.desc.2=على هذا النحو ، سيؤدي تحديد 1،3،7-9 إلى تقسيم مستند من 10 صفحات إلى 6 PDFS منفصلة مع:
split.desc.3=المستند رقم 1: الصفحة 1 split.desc.3=المستند رقم 1: الصفحة 1
split.desc.4=المستند رقم 2: الصفحتان 2 و 3 split.desc.4=المستند رقم 2: الصفحتان 2 و 3
split.desc.5=المستند رقم 3: الصفحة 4 و 5 و 6 split.desc.5=المستند رقم 3: الصفحة 4 و 5 و 6 و 7
split.desc.6=المستند رقم 4: الصفحة 7 split.desc.6=المستند رقم 4: الصفحة 8
split.desc.7=المستند رقم 5: الصفحة 8 split.desc.7=المستند رقم 5: الصفحة 9
split.desc.8=المستند رقم 6: الصفحتان 9 و 10 split.desc.8=المستند رقم 6: الصفحة 10
split.splitPages=أدخل الصفحات المراد تقسيمها: split.splitPages=أدخل الصفحات المراد تقسيمها:
split.submit=Split split.submit=Split
@@ -957,7 +968,7 @@ PDFToText.submit=تحويل
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF إلى HTML PDFToHTML.title=PDF إلى HTML
PDFToHTML.header=PDF إلى HTML PDFToHTML.header=PDF إلى HTML
PDFToHTML.credit=تستخدم هذه الخدمة LibreOffice لتحويل الملفات. PDFToHTML.credit=تستخدم هذه الخدمة pdftohtml لتحويل الملفات.
PDFToHTML.submit=تحويل PDFToHTML.submit=تحويل
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Новият потребител вече съществ
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Изберете ъгъл на въртене (кратно
rotate.submit=Завъртане rotate.submit=Завъртане
#merge #split-pdfs
split.title=Разделяне на PDF split.title=Разделяне на PDF
split.header=Разделяне на PDF split.header=Разделяне на PDF
split.desc.1=Числата, които избирате, са номера на страницата, на която искате да направите разделяне split.desc.1=Числата, които избирате, са номера на страницата, на която искате да направите разделяне
split.desc.2=Така че избирането на 1,3,7-8 ще раздели документ от 10 страници на 6 отделни PDF файла с: split.desc.2=Така че избирането на 1,3,7-9 ще раздели документ от 10 страници на 6 отделни PDF файла с:
split.desc.3=Документ #1: Страница 1 split.desc.3=Документ #1: Страница 1
split.desc.4=Документ #2: Страница 2 и 3 split.desc.4=Документ #2: Страница 2 и 3
split.desc.5=Документ #3: Страница 4, 5 и 6 split.desc.5=Документ #3: Страница 4, 5, 6 и 7
split.desc.6=Документ #4: Страница 7 split.desc.6=Документ #4: Страница 8
split.desc.7=Документ #5: Страница 8 split.desc.7=Документ #5: Страница 9
split.desc.8=Документ #6: Страница 9 и 10 split.desc.8=Документ #6: Страница 10
split.splitPages=Въведете страници за разделяне: split.splitPages=Въведете страници за разделяне:
split.submit=Разделяне split.submit=Разделяне
@@ -957,7 +968,7 @@ PDFToText.submit=Преобразуване
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF към HTML PDFToHTML.title=PDF към HTML
PDFToHTML.header=PDF към HTML PDFToHTML.header=PDF към HTML
PDFToHTML.credit=Тази услуга използва LibreOffice за преобразуване на файлове. PDFToHTML.credit=Тази услуга използва pdftohtml за преобразуване на файлове.
PDFToHTML.submit=Преобразуване PDFToHTML.submit=Преобразуване
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Selecciona l'angle de gir (en múltiples de 90 graus):
rotate.submit=Rota rotate.submit=Rota
#merge #split-pdfs
split.title=Divideix PDF split.title=Divideix PDF
split.header=Divideix PDF split.header=Divideix PDF
split.desc.1=Els números seleccionats són el número de pàgina en què voleu fer la divisió split.desc.1=Els números seleccionats són el número de pàgina en què voleu fer la divisió
split.desc.2=Per tant, seleccionant 1,3,7-8 dividiria un document de 10 pàgines en 6 PDFS separats amb: split.desc.2=Per tant, seleccionant 1,3,7-9 dividiria un document de 10 pàgines en 6 PDFS separats amb:
split.desc.3=Document #1: Pàgina 1 split.desc.3=Document #1: Pàgina 1
split.desc.4=Document #2: Pàgina 2 i 3 split.desc.4=Document #2: Pàgina 2 i 3
split.desc.5=Document #3: Pàgina 4, 5 i 6 split.desc.5=Document #3: Pàgina 4, 5, 6 i 7
split.desc.6=Document #4: Pàgina 7 split.desc.6=Document #4: Pàgina 8
split.desc.7=Document #5: Pàgina 8 split.desc.7=Document #5: Pàgina 9
split.desc.8=Document #6: Pàgina 9 i 10 split.desc.8=Document #6: Pàgina 10
split.splitPages=Introdueix pàgines per dividir-les: split.splitPages=Introdueix pàgines per dividir-les:
split.submit=Divideix split.submit=Divideix
@@ -957,7 +968,7 @@ PDFToText.submit=Converteix
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF a HTML PDFToHTML.title=PDF a HTML
PDFToHTML.header=PDF a HTML PDFToHTML.header=PDF a HTML
PDFToHTML.credit=Utilitza LibreOffice per a la conversió d'Arxius. PDFToHTML.credit=Utilitza pdftohtml per a la conversió d'Arxius.
PDFToHTML.submit=Converteix PDFToHTML.submit=Converteix
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Neuer Benutzername existiert bereits.
invalidUsernameMessage=Ungültiger Benutzername. Der Benutzername darf nur Buchstaben und Zahlen enthalten. invalidUsernameMessage=Ungültiger Benutzername. Der Benutzername darf nur Buchstaben und Zahlen enthalten.
deleteCurrentUserMessage=Der aktuell angemeldete Benutzer kann nicht gelöscht werden. deleteCurrentUserMessage=Der aktuell angemeldete Benutzer kann nicht gelöscht werden.
deleteUsernameExistsMessage=Der Benutzername existiert nicht und kann nicht gelöscht werden. deleteUsernameExistsMessage=Der Benutzername existiert nicht und kann nicht gelöscht werden.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Wählen Sie den Winkel (in Vielfachen von 90 Grad):
rotate.submit=Herunterladen rotate.submit=Herunterladen
#merge #split-pdfs
split.title=PDF aufteilen split.title=PDF aufteilen
split.header=PDF aufteilen split.header=PDF aufteilen
split.desc.1=Die Nummern, die Sie auswählen, sind die Seitenzahlen, an denen Sie aufteilen möchten. split.desc.1=Die Nummern, die Sie auswählen, sind die Seitenzahlen, an denen Sie aufteilen möchten.
split.desc.2=So würde die Auswahl von 1,3,7-8 ein 10-seitiges Dokument in 6 separate PDFs aufteilen, mit: split.desc.2=So würde die Auswahl von 1,3,7-9 ein 10-seitiges Dokument in 6 separate PDFs aufteilen, mit:
split.desc.3=Dokument #1: Seite 1 split.desc.3=Dokument #1: Seite 1
split.desc.4=Dokument #2: Seite 2 und 3 split.desc.4=Dokument #2: Seite 2 und 3
split.desc.5=Dokument #3: Seite 4, 5 und 6 split.desc.5=Dokument #3: Seite 4, 5, 6 und 7
split.desc.6=Dokument #4: Seite 7 split.desc.6=Dokument #4: Seite 8
split.desc.7=Dokument #5: Seite 8 split.desc.7=Dokument #5: Seite 9
split.desc.8=Dokument #6: Seite 9 und 10 split.desc.8=Dokument #6: Seite 10
split.splitPages=Geben Sie die Seiten an, an denen aufgeteilt werden soll: split.splitPages=Geben Sie die Seiten an, an denen aufgeteilt werden soll:
split.submit=Aufteilen split.submit=Aufteilen
@@ -957,7 +968,7 @@ PDFToText.submit=Konvertieren
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF zu HTML PDFToHTML.title=PDF zu HTML
PDFToHTML.header=PDF zu HTML PDFToHTML.header=PDF zu HTML
PDFToHTML.credit=Dieser Dienst verwendet LibreOffice für die Dateikonvertierung. PDFToHTML.credit=Dieser Dienst verwendet pdftohtml für die Dateikonvertierung.
PDFToHTML.submit=Konvertieren PDFToHTML.submit=Konvertieren
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=Lizenz licenses.license=Lizenz
# 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Select rotation angle (in multiples of 90 degrees):
rotate.submit=Rotate rotate.submit=Rotate
#merge #split-pdfs
split.title=Διαίρεση PDF split.title=Διαίρεση PDF
split.header=Διαίρεση PDF split.header=Διαίρεση PDF
split.desc.1=Οι αριθμοί που επιλέγετε είναι ο αριθμός σελίδας στον οποίο θέλετε να κάνετε διαχωρισμό split.desc.1=Οι αριθμοί που επιλέγετε είναι ο αριθμός σελίδας στον οποίο θέλετε να κάνετε διαχωρισμό
split.desc.2=Ως εκ τούτου, η επιλογή 1,3,7-8 θα χωρίσει ένα έγγραφο 10 σελίδων σε 6 ξεχωριστά αρχεία PDF με: split.desc.2=Ως εκ τούτου, η επιλογή 1,3,7-9 θα χωρίσει ένα έγγραφο 10 σελίδων σε 6 ξεχωριστά αρχεία PDF με:
split.desc.3=Έγγραφο #1: Σελίδα 1 split.desc.3=Έγγραφο #1: Σελίδα 1
split.desc.4=Έγγραφο #2: Σελίδα 2 και 3 split.desc.4=Έγγραφο #2: Σελίδα 2 και 3
split.desc.5=Έγγραφο #3: Σελίδα 4, 5 κσι 6 split.desc.5=Έγγραφο #3: Σελίδα 4, 5, 6 και 7
split.desc.6=Έγγραφο #4: Σελίδα 7 split.desc.6=Έγγραφο #4: Σελίδα 8
split.desc.7=Έγγραφο #5: Σελίδα 8 split.desc.7=Έγγραφο #5: Σελίδα 9
split.desc.8=Έγγραφο #6: Σελίδα 9 και 10 split.desc.8=Έγγραφο #6: Σελίδα 10
split.splitPages=Εισαγάγετε σελίδες για διαχωρισμό: split.splitPages=Εισαγάγετε σελίδες για διαχωρισμό:
split.submit=Διαίρεση split.submit=Διαίρεση
@@ -957,7 +968,7 @@ PDFToText.submit=Μετατροπή
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF σε HTML PDFToHTML.title=PDF σε HTML
PDFToHTML.header=PDF σε HTML PDFToHTML.header=PDF σε HTML
PDFToHTML.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice για τη μετατροπή των αρχείων. PDFToHTML.credit=Αυτή η υπηρεσία χρησιμοποιεί pdftohtml για τη μετατροπή των αρχείων.
PDFToHTML.submit=Μετατροπή PDFToHTML.submit=Μετατροπή
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Select rotation angle (in multiples of 90 degrees):
rotate.submit=Rotate rotate.submit=Rotate
#merge #split-pdfs
split.title=Split PDF split.title=Split PDF
split.header=Split PDF split.header=Split PDF
split.desc.1=The numbers you select are the page number you wish to do a split on split.desc.1=The numbers you select are the page number you wish to do a split on
split.desc.2=As such selecting 1,3,7-8 would split a 10 page document into 6 separate PDFS with: split.desc.2=As such selecting 1,3,7-9 would split a 10 page document into 6 separate PDFS with:
split.desc.3=Document #1: Page 1 split.desc.3=Document #1: Page 1
split.desc.4=Document #2: Page 2 and 3 split.desc.4=Document #2: Page 2 and 3
split.desc.5=Document #3: Page 4, 5 and 6 split.desc.5=Document #3: Page 4, 5, 6 and 7
split.desc.6=Document #4: Page 7 split.desc.6=Document #4: Page 8
split.desc.7=Document #5: Page 8 split.desc.7=Document #5: Page 9
split.desc.8=Document #6: Page 9 and 10 split.desc.8=Document #6: Page 10
split.splitPages=Enter pages to split on: split.splitPages=Enter pages to split on:
split.submit=Split split.submit=Split
@@ -957,7 +968,7 @@ PDFToText.submit=Convert
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF to HTML PDFToHTML.title=PDF to HTML
PDFToHTML.header=PDF to HTML PDFToHTML.header=PDF to HTML
PDFToHTML.credit=This service uses LibreOffice for file conversion. PDFToHTML.credit=This service uses pdftohtml for file conversion.
PDFToHTML.submit=Convert PDFToHTML.submit=Convert
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Select rotation angle (in multiples of 90 degrees):
rotate.submit=Rotate rotate.submit=Rotate
#merge #split-pdfs
split.title=Split PDF split.title=Split PDF
split.header=Split PDF split.header=Split PDF
split.desc.1=The numbers you select are the page number you wish to do a split on split.desc.1=The numbers you select are the page number you wish to do a split on
split.desc.2=As such selecting 1,3,7-8 would split a 10 page document into 6 separate PDFS with: split.desc.2=As such selecting 1,3,7-9 would split a 10 page document into 6 separate PDFS with:
split.desc.3=Document #1: Page 1 split.desc.3=Document #1: Page 1
split.desc.4=Document #2: Page 2 and 3 split.desc.4=Document #2: Page 2 and 3
split.desc.5=Document #3: Page 4, 5 and 6 split.desc.5=Document #3: Page 4, 5, 6, 7
split.desc.6=Document #4: Page 7 split.desc.6=Document #4: Page 8
split.desc.7=Document #5: Page 8 split.desc.7=Document #5: Page 9
split.desc.8=Document #6: Page 9 and 10 split.desc.8=Document #6: Page 10
split.splitPages=Enter pages to split on: split.splitPages=Enter pages to split on:
split.submit=Split split.submit=Split
@@ -957,7 +968,7 @@ PDFToText.submit=Convert
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF to HTML PDFToHTML.title=PDF to HTML
PDFToHTML.header=PDF to HTML PDFToHTML.header=PDF to HTML
PDFToHTML.credit=This service uses LibreOffice for file conversion. PDFToHTML.credit=This service uses pdftohtml for file conversion.
PDFToHTML.submit=Convert PDFToHTML.submit=Convert
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=El nuevo nombre de usuario está en uso.
invalidUsernameMessage=Nombre de usuario no válido, El nombre de ususario debe contener únicamente números y caracteres alfabéticos. invalidUsernameMessage=Nombre de usuario no válido, El nombre de ususario debe contener únicamente números y caracteres alfabéticos.
deleteCurrentUserMessage=No puede eliminar el usuario que tiene la sesión actualmente en uso. deleteCurrentUserMessage=No puede eliminar el usuario que tiene la sesión actualmente en uso.
deleteUsernameExistsMessage=El usuario no existe y no puede eliminarse. deleteUsernameExistsMessage=El usuario no existe y no puede eliminarse.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Seleccionar ángulo de rotación (en múltiplos de 90 grados)
rotate.submit=Rotar rotate.submit=Rotar
#merge #split-pdfs
split.title=Dividir PDF split.title=Dividir PDF
split.header=Dividir PDF split.header=Dividir PDF
split.desc.1=Los números que seleccione son el número de página en el que desea hacer una división split.desc.1=Los números que seleccione son el número de página en el que desea hacer una división
split.desc.2=Como tal, seleccionar 1,3,7-8 dividiría un documento de 10 páginas en 6 archivos PDF separados con: split.desc.2=Como tal, seleccionar 1,3,7-9 dividiría un documento de 10 páginas en 6 archivos PDF separados con:
split.desc.3=Documento #1: Página 1 split.desc.3=Documento #1: Página 1
split.desc.4=Documento #2: Páginas 2 y 3 split.desc.4=Documento #2: Páginas 2 y 3
split.desc.5=Documento #3: Páginas 4, 5 y 6 split.desc.5=Documento #3: Páginas 4, 5, 6 y 7
split.desc.6=Documento #4: Página 7 split.desc.6=Documento #4: Página 8
split.desc.7=Documento #5: Página 8 split.desc.7=Documento #5: Página 9
split.desc.8=Documento #6: Páginas 9 y 10 split.desc.8=Documento #6: Páginas 10
split.splitPages=Introducir las páginas para dividir: split.splitPages=Introducir las páginas para dividir:
split.submit=Dividir split.submit=Dividir
@@ -957,7 +968,7 @@ PDFToText.submit=Convertir
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF a HTML PDFToHTML.title=PDF a HTML
PDFToHTML.header=PDF a HTML PDFToHTML.header=PDF a HTML
PDFToHTML.credit=Este servicio utiliza LibreOffice para la conversión de archivos PDFToHTML.credit=Este servicio utiliza pdftohtml para la conversión de archivos
PDFToHTML.submit=Convertir PDFToHTML.submit=Convertir
@@ -1020,3 +1031,16 @@ licenses.version=Versión
licenses.license=Licencia licenses.license=Licencia
# 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Hautatu errotazio-angelua (90 graduko multiploetan):
rotate.submit=Biratu rotate.submit=Biratu
#merge #split-pdfs
split.title=Zatitu PDFa split.title=Zatitu PDFa
split.header=Zatitu PDFa split.header=Zatitu PDFa
split.desc.1=Hautatzen dituzun zenbakiak zatiketa egin nahi duzun orrialde-zenbakiak dira split.desc.1=Hautatzen dituzun zenbakiak zatiketa egin nahi duzun orrialde-zenbakiak dira
split.desc.2=Beraz, 1,3,7-8 hautatzean 10 orrialdeko dokumentua zatituko luke 6 PDF fitxategi bereizituetan split.desc.2=Beraz, 1,3,7-9 hautatzean 10 orrialdeko dokumentua zatituko luke 6 PDF fitxategi bereizituetan
split.desc.3=#1 Dokumentua: 1. orrialdea split.desc.3=#1 Dokumentua: 1. orrialdea
split.desc.4=#2 Dokumentua: 2. eta 3. orrialdeak split.desc.4=#2 Dokumentua: 2. eta 3. orrialdeak
split.desc.5=#3 Dokumentua: 4., 5. eta 6. orrialdeak split.desc.5=#3 Dokumentua: 4., 5., 6. eta 7. orrialdeak
split.desc.6=#4 Dokumentua: 7. orrialdea split.desc.6=#4 Dokumentua: 8. orrialdea
split.desc.7=#5 Dokumentua: 8. orrialdea split.desc.7=#5 Dokumentua: 9. orrialdea
split.desc.8=#6 Dokumentua: 9. eta 10. orrialdeak split.desc.8=#6 Dokumentua: 10. orrialdeak
split.splitPages=Sartu orrialdeak zatitzeko: split.splitPages=Sartu orrialdeak zatitzeko:
split.submit=Zatitu split.submit=Zatitu
@@ -957,7 +968,7 @@ PDFToText.submit=Bihurtu
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDFa HTML bihurtu PDFToHTML.title=PDFa HTML bihurtu
PDFToHTML.header=PDFa HTML bihurtu PDFToHTML.header=PDFa HTML bihurtu
PDFToHTML.credit=Zerbitzu honek LibreOffice erabiltzen du fitxategiak bihurtzeko PDFToHTML.credit=Zerbitzu honek pdftohtml erabiltzen du fitxategiak bihurtzeko
PDFToHTML.submit=Bihurtu PDFToHTML.submit=Bihurtu
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -54,16 +54,28 @@ notAuthenticatedMessage=Utilisateur non authentifié.
userNotFoundMessage=Utilisateur non trouvé. userNotFoundMessage=Utilisateur non trouvé.
incorrectPasswordMessage=Le mot de passe actuel est incorrect. incorrectPasswordMessage=Le mot de passe actuel est incorrect.
usernameExistsMessage=Le nouveau nom dutilisateur existe déjà. usernameExistsMessage=Le nouveau nom dutilisateur existe déjà.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Nom dutilisateur invalide, le nom dutilisateur ne peut contenir que des chiffres et des lettres.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Impossible de supprimer lutilisateur actuellement connecté.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=Le nom dutilisateur nexiste pas et ne peut pas être supprimé.
error=Erreur
oops=Oups !
help=Aide
goHomepage=Aller à la page daccueil
joinDiscord=Rejoignez notre serveur Discord
seeDockerHub=Consulter le Docker Hub
visitGithub=Visiter le dépôt Github
donate=Faire un don
color=Couleur
sponsor=Sponsor
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Menu Pipeline (Alpha) pipeline.header=Menu Pipeline (Alpha)
pipeline.uploadButton=Télécharger une personnalisation pipeline.uploadButton=Charger une personnalisation
pipeline.configureButton=Configurer pipeline.configureButton=Configurer
pipeline.defaultOption=Personnaliser pipeline.defaultOption=Personnaliser
pipeline.submitButton=Soumettre pipeline.submitButton=Soumettre
@@ -114,7 +126,7 @@ settings.accountSettings=Paramètres du compte
changeCreds.title=Modifiez vos identifiants changeCreds.title=Modifiez vos identifiants
changeCreds.header=Mettez à jour vos identifiants de connexion changeCreds.header=Mettez à jour vos identifiants de connexion
changeCreds.changePassword=You are using default login credentials. Please enter a new password changeCreds.changePassword=Vous utilisez les identifiants de connexion par défaut. Veuillez saisir un nouveau mot de passe
changeCreds.newUsername=Nouveau nom dutilisateur changeCreds.newUsername=Nouveau nom dutilisateur
changeCreds.oldPassword=Mot de passe actuel changeCreds.oldPassword=Mot de passe actuel
changeCreds.newPassword=Nouveau mot de passe changeCreds.newPassword=Nouveau mot de passe
@@ -149,12 +161,12 @@ adminUserSettings.header=Administration des paramètres des utilisateurs
adminUserSettings.admin=Administateur adminUserSettings.admin=Administateur
adminUserSettings.user=Utilisateur adminUserSettings.user=Utilisateur
adminUserSettings.addUser=Ajouter un utilisateur adminUserSettings.addUser=Ajouter un utilisateur
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters. adminUserSettings.usernameInfo=Le nom dutilisateur ne doit contenir que des lettres et des chiffres, sans espaces ni caractères spéciaux.
adminUserSettings.roles=Rôles adminUserSettings.roles=Rôles
adminUserSettings.role=Rôle adminUserSettings.role=Rôle
adminUserSettings.actions=Actions adminUserSettings.actions=Actions
adminUserSettings.apiUser=Utilisateur API limité adminUserSettings.apiUser=Utilisateur API limité
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=Utilisateur limité supplémentaire de lAPI
adminUserSettings.webOnlyUser=Utilisateur Web uniquement adminUserSettings.webOnlyUser=Utilisateur Web uniquement
adminUserSettings.demoUser=Demo User (Paramètres par défaut) adminUserSettings.demoUser=Demo User (Paramètres par défaut)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=Internal API User
@@ -796,17 +808,17 @@ rotate.selectAngle=Angle de rotation (par multiples de 90degrés)
rotate.submit=Pivoter rotate.submit=Pivoter
#merge #split-pdfs
split.title=Diviser split.title=Diviser
split.header=Diviser split.header=Diviser
split.desc.1=Les numéros que vous sélectionnez sont le numéro de page sur lequel vous souhaitez faire une division split.desc.1=Les numéros que vous sélectionnez sont le numéro de page sur lequel vous souhaitez faire une division
split.desc.2=Ainsi, la sélection de 1,3,7-8 diviserait un document de 10 pages en 6 PDF distincts avec : split.desc.2=Ainsi, la sélection de 1,3,7-9 diviserait un document de 10 pages en 6 PDF distincts avec :
split.desc.3=Document #1: Page 1 split.desc.3=Document #1: Page 1
split.desc.4=Document #2: Page 2 et 3 split.desc.4=Document #2: Page 2 et 3
split.desc.5=Document #3: Page 4, 5 et 6 split.desc.5=Document #3: Page 4, 5, 6 et 7
split.desc.6=Document #4: Page 7 split.desc.6=Document #4: Page 8
split.desc.7=Document #5: Page 8 split.desc.7=Document #5: Page 9
split.desc.8=Document #6: Page 9 et 10 split.desc.8=Document #6: Page 10
split.splitPages=Pages sur lesquelles diviser split.splitPages=Pages sur lesquelles diviser
split.submit=Diviser split.submit=Diviser
@@ -957,7 +969,7 @@ PDFToText.submit=Convertir
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF en HTML PDFToHTML.title=PDF en HTML
PDFToHTML.header=PDF en HTML PDFToHTML.header=PDF en HTML
PDFToHTML.credit=Ce service utilise LibreOffice pour la conversion de fichiers. PDFToHTML.credit=Ce service utilise pdftohtml pour la conversion de fichiers.
PDFToHTML.submit=Convertir PDFToHTML.submit=Convertir
@@ -1009,7 +1021,7 @@ split-by-sections.vertical.label=Divisions verticales
split-by-sections.horizontal.placeholder=Saisir le nombre de divisions horizontales split-by-sections.horizontal.placeholder=Saisir le nombre de divisions horizontales
split-by-sections.vertical.placeholder=Entrer le nombre de divisions verticales split-by-sections.vertical.placeholder=Entrer le nombre de divisions verticales
split-by-sections.submit=Diviser le PDF split-by-sections.submit=Diviser le PDF
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Fusionner en un seul PDF
#licenses #licenses
licenses.nav=Licences licenses.nav=Licences
@@ -1020,3 +1032,16 @@ licenses.version=Version
licenses.license=Licence licenses.license=Licence
# error
error.sorry=Désolé pour ce problème !
error.needHelp=Besoin daide / Vous avez trouvé un problème ?
error.contactTip=Si vous avez encore des problèmes, nhésitez pas à nous contacter pour obtenir de laide. Vous pouvez soumettre un ticket sur notre page GitHub ou nous contacter via Discord :
error.404.head=404 - Page non trouvée | oups on sest foiré !
error.404.1=Nous ne parvenons pas à trouver la page que vous recherchez.
error.404.2=Quelque chose na pas fonctionné
error.github=Créer un ticket sur GitHub
error.showStack=Afficher la Stack Trace
error.copyStack=Copier la Stack Trace
error.githubSubmit=GitHub - Créer un ticket
error.discordSubmit=Discord - Poster un message de demande dassistance

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=नया उपयोगकर्ता नाम पह
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=चुनें घुमाने का कोण (90 ड
rotate.submit=घुमाएं rotate.submit=घुमाएं
#merge #split-pdfs
split.title=पीडीएफ को विभाजित करें split.title=पीडीएफ को विभाजित करें
split.header=पीडीएफ को विभाजित करें split.header=पीडीएफ को विभाजित करें
split.desc.1=जिन नंबरों को आप चुनते हैं, वे पृष्ठ संख्या होती हैं जिन पर आप विभाजन करना चाहते हैं। split.desc.1=जिन नंबरों को आप चुनते हैं, वे पृष्ठ संख्या होती हैं जिन पर आप विभाजन करना चाहते हैं।
split.desc.2=इसलिए, 1,3,7-8 का चयन करना एक 10 पृष्ठों के दस्तावेज़ को 6 अलग-अलग पीडीएफ में विभाजित करेगा जैसे: split.desc.2=इसलिए, 1,3,7-9 का चयन करना एक 10 पृष्ठों के दस्तावेज़ को 6 अलग-अलग पीडीएफ में विभाजित करेगा जैसे:
split.desc.3=दस्तावेज़ #1: पृष्ठ 1 split.desc.3=दस्तावेज़ #1: पृष्ठ 1
split.desc.4=दस्तावेज़ #2: पृष्ठ 2 और 3 split.desc.4=दस्तावेज़ #2: पृष्ठ 2 और 3
split.desc.5=दस्तावेज़ #3: पृष्ठ 4, 5 और 6 split.desc.5=दस्तावेज़ #3: पृष्ठ 4, 5, 6 और 7
split.desc.6=दस्तावेज़ #4: पृष्ठ 7 split.desc.6=दस्तावेज़ #4: पृष्ठ 7
split.desc.7=दस्तावेज़ #5: पृष्ठ 8 split.desc.7=दस्तावेज़ #5: पृष्ठ 8
split.desc.8=दस्तावेज़ #6: पृष्ठ 9 और 10 split.desc.8=दस्तावेज़ #6: पृष्ठ 10
split.splitPages=विभाजन करने के लिए पृष्ठ दर्ज करें: split.splitPages=विभाजन करने के लिए पृष्ठ दर्ज करें:
split.submit=विभाजित करें split.submit=विभाजित करें
@@ -957,7 +968,7 @@ PDFToText.submit=परिवर्तित करें
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF से HTML PDFToHTML.title=PDF से HTML
PDFToHTML.header=PDF से HTML PDFToHTML.header=PDF से HTML
PDFToHTML.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice का उपयोग करती है। PDFToHTML.credit=यह सेवा फ़ाइल परिवर्तन के लिए pdftohtml का उपयोग करती है।
PDFToHTML.submit=परिवर्तित करें PDFToHTML.submit=परिवर्तित करें
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Az új felhasználónév már létezik.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Válassza ki a forgatási szöget (90 fok egész számú töb
rotate.submit=Forgatás rotate.submit=Forgatás
#merge #split-pdfs
split.title=PDF szétválasztás split.title=PDF szétválasztás
split.header=PDF szétválasztás split.header=PDF szétválasztás
split.desc.1=A kiválasztott számok a szétválasztani kívánt oldalszámok split.desc.1=A kiválasztott számok a szétválasztani kívánt oldalszámok
split.desc.2=Például az 1,3,7-8 kiválasztása egy 10 oldalas dokumentumot 6 különálló PDF-fé szétválaszt split.desc.2=Például az 1,3,7-9 kiválasztása egy 10 oldalas dokumentumot 6 különálló PDF-fé szétválaszt
split.desc.3=Dokumentum #1: Oldal 1 split.desc.3=Dokumentum #1: Oldal 1
split.desc.4=Dokumentum #2: Oldal 2 és 3 split.desc.4=Dokumentum #2: Oldal 2 és 3
split.desc.5=Dokumentum #3: Oldal 4, 5 és 6 split.desc.5=Dokumentum #3: Oldal 4, 5, 6 és 7
split.desc.6=Dokumentum #4: Oldal 7 split.desc.6=Dokumentum #4: Oldal 8
split.desc.7=Dokumentum #5: Oldal 8 split.desc.7=Dokumentum #5: Oldal 9
split.desc.8=Dokumentum #6: Oldal 9 és 10 split.desc.8=Dokumentum #6: Oldal 10
split.splitPages=Adja meg az oldalakat, amelyekre szét akarja választani: split.splitPages=Adja meg az oldalakat, amelyekre szét akarja választani:
split.submit=Szétválasztás split.submit=Szétválasztás
@@ -957,7 +968,7 @@ PDFToText.submit=Konvertálás
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF >> HTML PDFToHTML.title=PDF >> HTML
PDFToHTML.header=PDF >> HTML PDFToHTML.header=PDF >> HTML
PDFToHTML.credit=Ez a szolgáltatás a LibreOffice-t használja a fájlkonverzióhoz. PDFToHTML.credit=Ez a szolgáltatás a pdftohtml-t használja a fájlkonverzióhoz.
PDFToHTML.submit=Konvertálás PDFToHTML.submit=Konvertálás
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Nama pengguna baru sudah ada.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Pilih sudut rotasi (dalam kelipatan 90 derajat):
rotate.submit=Rotasi rotate.submit=Rotasi
#merge #split-pdfs
split.title=Membagi PDF split.title=Membagi PDF
split.header=Membagi PDF split.header=Membagi PDF
split.desc.1=Angka yang Anda pilih adalah nomor halaman yang ingin Anda pisahkan split.desc.1=Angka yang Anda pilih adalah nomor halaman yang ingin Anda pisahkan
split.desc.2=Dengan demikian, memilih 1,3,7-8 akan membagi dokumen 10 halaman menjadi 6 PDF terpisah: split.desc.2=Dengan demikian, memilih 1,3,7-9 akan membagi dokumen 10 halaman menjadi 6 PDF terpisah:
split.desc.3=Dokumen #1: Halaman 1 split.desc.3=Dokumen #1: Halaman 1
split.desc.4=Dokumen #2: Halaman 2 dan 3 split.desc.4=Dokumen #2: Halaman 2 dan 3
split.desc.5=Dokumen #3: Halaman 4, 5 dan 6 split.desc.5=Dokumen #3: Halaman 4, 5, 6 dan 7
split.desc.6=Dokumen #4: Halaman 7 split.desc.6=Dokumen #4: Halaman 8
split.desc.7=Dokumen #5: Halaman 8 split.desc.7=Dokumen #5: Halaman 9
split.desc.8=Dokumen #6: Halaman 9 dan 10 split.desc.8=Dokumen #6: Halaman 10
split.splitPages=Masukkan halaman yang akan dipisah: split.splitPages=Masukkan halaman yang akan dipisah:
split.submit=Pisahkan split.submit=Pisahkan
@@ -957,7 +968,7 @@ PDFToText.submit=Konversi
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF Ke HTML PDFToHTML.title=PDF Ke HTML
PDFToHTML.header=PDF ke HTML PDFToHTML.header=PDF ke HTML
PDFToHTML.credit=Layanan ini menggunakan LibreOffice untuk konversi berkas. PDFToHTML.credit=Layanan ini menggunakan pdftohtml untuk konversi berkas.
PDFToHTML.submit=Konversi PDFToHTML.submit=Konversi
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Il nuovo nome utente esiste già.
invalidUsernameMessage=Nome utente non valido, il nome utente deve contenere solo caratteri alfabetici e numeri. invalidUsernameMessage=Nome utente non valido, il nome utente deve contenere solo caratteri alfabetici e numeri.
deleteCurrentUserMessage=Impossibile eliminare l'utente attualmente connesso. deleteCurrentUserMessage=Impossibile eliminare l'utente attualmente connesso.
deleteUsernameExistsMessage=Il nome utente non esiste e non può essere eliminato. deleteUsernameExistsMessage=Il nome utente non esiste e non può essere eliminato.
error=Errore
oops=Oops!
help=Aiuto
goHomepage=Vai alla Homepage
joinDiscord=Unisciti al nostro server Discord
seeDockerHub=Vedi DockerHub
visitGithub=Visita il repository Github
donate=Donazione
color=Colore
sponsor=Sponsor
############### ###############
@@ -67,9 +78,8 @@ pipeline.uploadButton=Caricamento personalizzato
pipeline.configureButton=Configura pipeline.configureButton=Configura
pipeline.defaultOption=Personalizzato pipeline.defaultOption=Personalizzato
pipeline.submitButton=Invia pipeline.submitButton=Invia
pipeline.help=Pipeline Help pipeline.help=Aiuto sulla pipeline
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=Aiuto per la scansione delle cartelle
###################### ######################
# Pipeline Options # # Pipeline Options #
###################### ######################
@@ -118,7 +128,7 @@ changeCreds.changePassword=Stai utilizzando le credenziali di accesso predefinit
changeCreds.newUsername=Nuovo nome utente changeCreds.newUsername=Nuovo nome utente
changeCreds.oldPassword=Password attuale changeCreds.oldPassword=Password attuale
changeCreds.newPassword=Nuova Password changeCreds.newPassword=Nuova Password
changeCreds.confirmNewPassword=Conferma Nuova Password changeCreds.confirmNewPassword=Conferma nuova Password
changeCreds.submit=Invia modifiche changeCreds.submit=Invia modifiche
@@ -178,7 +188,7 @@ multiTool.tags=Strumento multiplo,operazione multipla,interfaccia utente,trascin
home.merge.title=Unisci home.merge.title=Unisci
home.merge.desc=Unisci facilmente più PDF in uno. home.merge.desc=Unisci facilmente più PDF in uno.
merge.tags=unione, operazioni sulla pagina, back end, lato server merge.tags=unione,operazioni sulla pagina,back end,lato server
home.split.title=Dividi home.split.title=Dividi
home.split.desc=Dividi un singolo PDF in più documenti. home.split.desc=Dividi un singolo PDF in più documenti.
@@ -395,11 +405,11 @@ overlay-pdfs.tags=Svrapponi
home.split-by-sections.title=Dividi PDF per sezioni home.split-by-sections.title=Dividi PDF per sezioni
home.split-by-sections.desc=Dividi ciascuna pagina di un PDF in sezioni orizzontali e verticali più piccole home.split-by-sections.desc=Dividi ciascuna pagina di un PDF in sezioni orizzontali e verticali più piccole
split-by-sections.tags=Dividi sezione, dividi, personalizza split-by-sections.tags=Dividi sezione,dividi,personalizza
home.AddStampRequest.title=Aggiungi timbro al PDF home.AddStampRequest.title=Aggiungi timbro al PDF
home.AddStampRequest.desc=Aggiungi testo o aggiungi timbri immagine nelle posizioni prestabilite home.AddStampRequest.desc=Aggiungi testo o aggiungi timbri immagine nelle posizioni prestabilite
AddStampRequest.tags=Timbro, Aggiungi immagine, Centra immagine, Filigrana, PDF, Incorpora, Personalizza AddStampRequest.tags=Timbro,Aggiungi immagine,Centra immagine,Filigrana,PDF,Incorpora,Personalizza
home.PDFToBook.title=PDF in libro home.PDFToBook.title=PDF in libro
@@ -456,7 +466,7 @@ pdfToSinglePage.submit=Converti in pagina singola
pageExtracter.title=Estrai pagine pageExtracter.title=Estrai pagine
pageExtracter.header=Estrai pagine pageExtracter.header=Estrai pagine
pageExtracter.submit=Estrai pageExtracter.submit=Estrai
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(es. 1,2,8 o 4,7,12-16 o 2n-1)
#getPdfInfo #getPdfInfo
@@ -786,7 +796,7 @@ pageRemover.title=Rimuovi pagine
pageRemover.header=Rimuovi pagine da un PDF pageRemover.header=Rimuovi pagine da un PDF
pageRemover.pagesToDelete=Pagine da eliminare (inserisci una lista di numeri separati da virgola): pageRemover.pagesToDelete=Pagine da eliminare (inserisci una lista di numeri separati da virgola):
pageRemover.submit=Rimuovi pagine pageRemover.submit=Rimuovi pagine
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(es. 1,2,6 o 1-10,15-30)
#rotate #rotate
@@ -796,17 +806,17 @@ rotate.selectAngle=Scegli angolo di rotazione (in multipli di 90 gradi):
rotate.submit=Ruota rotate.submit=Ruota
#merge #split-pdfs
split.title=Dividi PDF split.title=Dividi PDF
split.header=Dividi PDF split.header=Dividi PDF
split.desc.1=I numeri che scegli sono le pagine a cui desideri dividere il documento split.desc.1=I numeri che scegli sono le pagine a cui desideri dividere il documento
split.desc.2=Per esempio inserendo 1,3,7-8 separeresti un documento di 10 pagine in 6 diversi PDF con: split.desc.2=Per esempio inserendo 1,3,7-9 separeresti un documento di 10 pagine in 6 diversi PDF con:
split.desc.3=Documento #1: Pagina 1 split.desc.3=Documento #1: Pagina 1
split.desc.4=Documento #2: Pagine 2 e 3 split.desc.4=Documento #2: Pagine 2 e 3
split.desc.5=Documento #3: Pagine 4, 5 e 6 split.desc.5=Documento #3: Pagine 4, 5, 6 e 7
split.desc.6=Documento #4: Pagina 7 split.desc.6=Documento #4: Pagina 8
split.desc.7=Documento #5: Pagina 8 split.desc.7=Documento #5: Pagina 9
split.desc.8=Documento #6: Pagine 9 e 10 split.desc.8=Documento #6: Pagine 10
split.splitPages=Inserisci pagine a cui dividere: split.splitPages=Inserisci pagine a cui dividere:
split.submit=Dividi split.submit=Dividi
@@ -957,7 +967,7 @@ PDFToText.submit=Converti
#PDFToHTML #PDFToHTML
PDFToHTML.title=Da PDF a HTML PDFToHTML.title=Da PDF a HTML
PDFToHTML.header=Da PDF a HTML PDFToHTML.header=Da PDF a HTML
PDFToHTML.credit=Questo servizio utilizza LibreOffice per la conversione. PDFToHTML.credit=Questo servizio utilizza pdftohtml per la conversione.
PDFToHTML.submit=Converti PDFToHTML.submit=Converti
@@ -1020,3 +1030,16 @@ licenses.version=Versione
licenses.license=Licenza licenses.license=Licenza
# error
error.sorry=Ci scusiamo per il problema!
error.needHelp=Hai bisogno di aiuto / trovato un problema?
error.contactTip=Se i problemi persistono, non esitare a contattarci per chiedere aiuto. Puoi inviare un ticket sulla nostra pagina GitHub o contattarci tramite Discord:
error.404.head=404 - Pagina non trovata | Spiacenti, siamo inciampati nel codice!
error.404.1=Non riusciamo a trovare la pagina che stai cercando.
error.404.2=Qualcosa è andato storto
error.github=Invia un ticket su GitHub
error.showStack=Mostra traccia dello stack
error.copyStack=Copia traccia dello stack
error.githubSubmit=GitHub: invia un ticket
error.discordSubmit=Discord: invia post di supporto

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=新しいユーザー名はすでに存在します。
invalidUsernameMessage=ユーザー名が無効です。ユーザー名にはアルファベットと数字のみを使用してください。 invalidUsernameMessage=ユーザー名が無効です。ユーザー名にはアルファベットと数字のみを使用してください。
deleteCurrentUserMessage=現在ログインしているユーザーは削除できません。 deleteCurrentUserMessage=現在ログインしているユーザーは削除できません。
deleteUsernameExistsMessage=そのユーザー名は存在しないため削除できません。 deleteUsernameExistsMessage=そのユーザー名は存在しないため削除できません。
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=回転角度を選択 (90度の倍数):
rotate.submit=回転 rotate.submit=回転
#merge #split-pdfs
split.title=PDFの分割 split.title=PDFの分割
split.header=PDFの分割 split.header=PDFの分割
split.desc.1=選択する番号は分割するページ番号です。 split.desc.1=選択する番号は分割するページ番号です。
split.desc.2=したがって、1,3,7-8を選択すると、10ページのドキュメントが以下のように6つのPDFに分割されることになります。 split.desc.2=したがって、1,3,7-9を選択すると、10ページのドキュメントが以下のように6つのPDFに分割されることになります。
split.desc.3=ドキュメント #1: ページ 1 split.desc.3=ドキュメント #1: ページ 1
split.desc.4=ドキュメント #2: ページ 2, 3 split.desc.4=ドキュメント #2: ページ 2, 3
split.desc.5=ドキュメント #3: ページ 4, 5, 6 split.desc.5=ドキュメント #3: ページ 4, 5, 6, 7
split.desc.6=ドキュメント #4: ページ 7 split.desc.6=ドキュメント #4: ページ 8
split.desc.7=ドキュメント #5: ページ 8 split.desc.7=ドキュメント #5: ページ 9
split.desc.8=ドキュメント #6: ページ 9, 10 split.desc.8=ドキュメント #6: ページ 10
split.splitPages=分割するページ番号を入力: split.splitPages=分割するページ番号を入力:
split.submit=分割 split.submit=分割
@@ -957,7 +968,7 @@ PDFToText.submit=変換
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDFをHTMLに変換 PDFToHTML.title=PDFをHTMLに変換
PDFToHTML.header=PDFをHTMLに変換 PDFToHTML.header=PDFをHTMLに変換
PDFToHTML.credit=本サービスはファイル変換にLibreOfficeを使用しています。 PDFToHTML.credit=本サービスはファイル変換にpdftohtmlを使用しています。
PDFToHTML.submit=変換 PDFToHTML.submit=変換
@@ -1020,3 +1031,16 @@ licenses.version=バージョン
licenses.license=ライセンス 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=새 사용자명이 이미 존재합니다.
invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다. invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다.
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다. deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다. deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=회전 각도 선택 (90도의 배수로):
rotate.submit=회전 rotate.submit=회전
#merge #split-pdfs
split.title=PDF 분할 split.title=PDF 분할
split.header=PDF 분할 split.header=PDF 분할
split.desc.1=입력한 번호는 분할할 페이지의 번호입니다. split.desc.1=입력한 번호는 분할할 페이지의 번호입니다.
split.desc.2=예를 들어, 1,3,7-8을 입력하면 10페이지 문서를 아래와 같이 6개의 별도의 PDF 문서로 분할하게 됩니다. split.desc.2=예를 들어, 1,3,7-9을 입력하면 10페이지 문서를 아래와 같이 6개의 별도의 PDF 문서로 분할하게 됩니다.
split.desc.3=문서 #1: 페이지 1 split.desc.3=문서 #1: 페이지 1
split.desc.4=문서 #2: 페이지 2, 3 split.desc.4=문서 #2: 페이지 2, 3
split.desc.5=문서 #3: 페이지 4, 5, 6 split.desc.5=문서 #3: 페이지 4, 5, 6, 7
split.desc.6=문서 #4: 페이지 7 split.desc.6=문서 #4: 페이지 8
split.desc.7=문서 #5: 페이지 8 split.desc.7=문서 #5: 페이지 9
split.desc.8=문서 #6: 페이지 9, 10 split.desc.8=문서 #6: 페이지 10
split.splitPages=분할할 페이지 입력: split.splitPages=분할할 페이지 입력:
split.submit=분할 split.submit=분할
@@ -957,7 +968,7 @@ PDFToText.submit=변환
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF를 HTML로 PDFToHTML.title=PDF를 HTML로
PDFToHTML.header=PDF 문서를 HTML로 변환 PDFToHTML.header=PDF 문서를 HTML로 변환
PDFToHTML.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다. PDFToHTML.credit=이 서비스는 파일 변환을 위해 pdftohtml를 사용합니다.
PDFToHTML.submit=변환 PDFToHTML.submit=변환
@@ -1020,3 +1031,16 @@ licenses.version=버전
licenses.license=라이센스 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Nieuwe gebruikersnaam bestaat al.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Selecteer rotatiehoek (in veelvouden van 90 graden):
rotate.submit=Roteren rotate.submit=Roteren
#merge #split-pdfs
split.title=PDF splitsen split.title=PDF splitsen
split.header=PDF splitsen split.header=PDF splitsen
split.desc.1=De nummers die je kiest zijn de paginanummers waarop je een splitsing wilt uitvoeren split.desc.1=De nummers die je kiest zijn de paginanummers waarop je een splitsing wilt uitvoeren
split.desc.2=Als zodanig selecteren van 1,3,7-8 zou een 10 pagina's tellend document splitsen in 6 aparte PDF's met: split.desc.2=Als zodanig selecteren van 1,3,7-9 zou een 10 pagina's tellend document splitsen in 6 aparte PDF's met:
split.desc.3=Document #1: Pagina 1 split.desc.3=Document #1: Pagina 1
split.desc.4=Document #2: Pagina 2 en 3 split.desc.4=Document #2: Pagina 2 en 3
split.desc.5=Document #3: Pagina 4, 5 en 6 split.desc.5=Document #3: Pagina 4, 5, 6 en 7
split.desc.6=Document #4: Pagina 7 split.desc.6=Document #4: Pagina 8
split.desc.7=Document #5: Pagina 8 split.desc.7=Document #5: Pagina 9
split.desc.8=Document #6: Pagina 9 en 10 split.desc.8=Document #6: Pagina 10
split.splitPages=Voer pagina's in om op te splitsen: split.splitPages=Voer pagina's in om op te splitsen:
split.submit=Splitsen split.submit=Splitsen
@@ -957,7 +968,7 @@ PDFToText.submit=Converteren
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF naar HTML PDFToHTML.title=PDF naar HTML
PDFToHTML.header=PDF naar HTML PDFToHTML.header=PDF naar HTML
PDFToHTML.credit=Deze service gebruikt LibreOffice voor bestandsconversie. PDFToHTML.credit=Deze service gebruikt pdftohtml voor bestandsconversie.
PDFToHTML.submit=Converteren PDFToHTML.submit=Converteren
@@ -1020,3 +1031,16 @@ licenses.version=Versie
licenses.license=Licentie licenses.license=Licentie
# 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Wybierz kąt obrotu (domyślnie 90 stopni):
rotate.submit=Obróć rotate.submit=Obróć
#merge #split-pdfs
split.title=Podziel dokument PDF split.title=Podziel dokument PDF
split.header=Podziel dokument PDF split.header=Podziel dokument PDF
split.desc.1=Wybrane numery to numery stron, na których chcesz dokonać podziału split.desc.1=Wybrane numery to numery stron, na których chcesz dokonać podziału
split.desc.2=Np. taki wybór 1,3,7-8 podzieliłby 10-stronicowy dokument na 6 oddzielnych plików PDF z: split.desc.2=Np. taki wybór 1,3,7-9 podzieliłby 10-stronicowy dokument na 6 oddzielnych plików PDF z:
split.desc.3=Dokument #1: Strona 1 split.desc.3=Dokument #1: Strona 1
split.desc.4=Dokument #2: Strona 2 i 3 split.desc.4=Dokument #2: Strona 2 i 3
split.desc.5=Dokument #3: Strona 4, 5 i 6 split.desc.5=Dokument #3: Strona 4, 5, 6 i 7
split.desc.6=Dokument #4: Strona 7 split.desc.6=Dokument #4: Strona 8
split.desc.7=Dokument #5: Strona 8 split.desc.7=Dokument #5: Strona 9
split.desc.8=Dokument #6: Strona 9 i 10 split.desc.8=Dokument #6: Strona 10
split.splitPages=Wprowadź strony do podziału na: split.splitPages=Wprowadź strony do podziału na:
split.submit=Podziel split.submit=Podziel
@@ -957,7 +968,7 @@ PDFToText.submit=Konwertuj
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF na HTML PDFToHTML.title=PDF na HTML
PDFToHTML.header=PDF na HTML PDFToHTML.header=PDF na HTML
PDFToHTML.credit=Ta usługa używa LibreOffice do konwersji plików. PDFToHTML.credit=Ta usługa używa pdftohtml do konwersji plików.
PDFToHTML.submit=Konwertuj PDFToHTML.submit=Konwertuj
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Selecione o ângulo de rotação (múltiplos de 90 graus):
rotate.submit=Girar rotate.submit=Girar
#merge #split-pdfs
split.title=Dividir PDF split.title=Dividir PDF
split.header=Dividir PDF split.header=Dividir PDF
split.desc.1=Os números selecionados correspondem às páginas onde você deseja fazer a divisão. split.desc.1=Os números selecionados correspondem às páginas onde você deseja fazer a divisão.
split.desc.2=Por exemplo, selecionar 1,3,7-8 dividirá um documento de 10 páginas em 6 PDFs separados da seguinte forma: split.desc.2=Por exemplo, selecionar 1,3,7-9 dividirá um documento de 10 páginas em 6 PDFs separados da seguinte forma:
split.desc.3=Documento Nº1: Página 1 split.desc.3=Documento Nº1: Página 1
split.desc.4=Documento Nº2: Páginas 2 e 3 split.desc.4=Documento Nº2: Páginas 2 e 3
split.desc.5=Documento Nº3: Páginas 4, 5 e 6 split.desc.5=Documento Nº3: Páginas 4, 5, 6 e 7
split.desc.6=Documento Nº4: Página 7 split.desc.6=Documento Nº4: Página 8
split.desc.7=Documento Nº5: Página 8 split.desc.7=Documento Nº5: Página 9
split.desc.8=Documento Nº6: Páginas 9 e 10 split.desc.8=Documento Nº6: Páginas 10
split.splitPages=Digite as páginas para a divisão: split.splitPages=Digite as páginas para a divisão:
split.submit=Dividir split.submit=Dividir
@@ -957,7 +968,7 @@ PDFToText.submit=Converter
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF para HTML PDFToHTML.title=PDF para HTML
PDFToHTML.header=PDF para HTML PDFToHTML.header=PDF para HTML
PDFToHTML.credit=Este serviço usa o LibreOffice para Conversão de Arquivos. PDFToHTML.credit=Este serviço usa o pdftohtml para Conversão de Arquivos.
PDFToHTML.submit=Converter PDFToHTML.submit=Converter
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Esse utilizador já existe.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Seleccione o ângulo de rotação (múltiplos de 90 graus):
rotate.submit=Girar rotate.submit=Girar
#merge #split-pdfs
split.title=Dividir PDF split.title=Dividir PDF
split.header=Dividir PDF split.header=Dividir PDF
split.desc.1=Os números seleccionados correspondem às páginas onde você deseja fazer a divisão. split.desc.1=Os números seleccionados correspondem às páginas onde você deseja fazer a divisão.
split.desc.2=Por exemplo, seleccionar 1,3,7-8 dividirá um documento de 10 páginas em 6 PDFs separados da seguinte forma: split.desc.2=Por exemplo, seleccionar 1,3,7-9 dividirá um documento de 10 páginas em 6 PDFs separados da seguinte forma:
split.desc.3=Documento Nº1: Página 1 split.desc.3=Documento Nº1: Página 1
split.desc.4=Documento Nº2: Páginas 2 e 3 split.desc.4=Documento Nº2: Páginas 2 e 3
split.desc.5=Documento Nº3: Páginas 4, 5 e 6 split.desc.5=Documento Nº3: Páginas 4, 5, 6 e 7
split.desc.6=Documento Nº4: Página 7 split.desc.6=Documento Nº4: Página 8
split.desc.7=Documento Nº5: Página 8 split.desc.7=Documento Nº5: Página 9
split.desc.8=Documento Nº6: Páginas 9 e 10 split.desc.8=Documento Nº6: Páginas 10
split.splitPages=Digite as páginas para a divisão: split.splitPages=Digite as páginas para a divisão:
split.submit=Dividir split.submit=Dividir
@@ -957,7 +968,7 @@ PDFToText.submit=Converter
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF para HTML PDFToHTML.title=PDF para HTML
PDFToHTML.header=PDF para HTML PDFToHTML.header=PDF para HTML
PDFToHTML.credit=Este serviço usa o LibreOffice para Conversão de ficheiros. PDFToHTML.credit=Este serviço usa o pdftohtml para Conversão de ficheiros.
PDFToHTML.submit=Converter PDFToHTML.submit=Converter
@@ -1020,3 +1031,16 @@ licenses.version=Versão
licenses.license=Licença licenses.license=Licença
# 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Selectați un unghi de rotație (în multiplicate de 90 de gr
rotate.submit=Rotește rotate.submit=Rotește
#merge #split-pdfs
split.title=Împarte PDF split.title=Împarte PDF
split.header=Împarte PDF split.header=Împarte PDF
split.desc.1=Numerele pe care le selectați reprezintă numărul paginii pe care doriți să o împărțiți split.desc.1=Numerele pe care le selectați reprezintă numărul paginii pe care doriți să o împărțiți
split.desc.2=Prin urmare, selectând 1,3,7-8, un document cu 10 pagini va fi împărțit în 6 PDF-uri separate, astfel: split.desc.2=Prin urmare, selectând 1,3,7-9, un document cu 10 pagini va fi împărțit în 6 PDF-uri separate, astfel:
split.desc.3=Documentul #1: Pagina 1 split.desc.3=Documentul #1: Pagina 1
split.desc.4=Documentul #2: Paginile 2 și 3 split.desc.4=Documentul #2: Paginile 2 și 3
split.desc.5=Documentul #3: Paginile 4, 5 și 6 split.desc.5=Documentul #3: Paginile 4, 5, 6 și 7
split.desc.6=Documentul #4: Pagina 7 split.desc.6=Documentul #4: Pagina 8
split.desc.7=Documentul #5: Pagina 8 split.desc.7=Documentul #5: Pagina 9
split.desc.8=Documentul #6: Paginile 9 și 10 split.desc.8=Documentul #6: Pagina 10
split.splitPages=Introduceți paginile pe care să le împărțiți: split.splitPages=Introduceți paginile pe care să le împărțiți:
split.submit=Împarte split.submit=Împarte
@@ -957,7 +968,7 @@ PDFToText.submit=Convert
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF către HTML PDFToHTML.title=PDF către HTML
PDFToHTML.header=PDF către HTML PDFToHTML.header=PDF către HTML
PDFToHTML.credit=Acest serviciu utilizează LibreOffice pentru conversia fișierului. PDFToHTML.credit=Acest serviciu utilizează pdftohtml pentru conversia fișierului.
PDFToHTML.submit=Convert PDFToHTML.submit=Convert
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Новое имя пользователя уже суще
invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры. invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры.
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему. deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено. deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Выберите угол поворота (кратный 90
rotate.submit=Повернуть rotate.submit=Повернуть
#merge #split-pdfs
split.title=Разделить PDF split.title=Разделить PDF
split.header=Разделить PDF split.header=Разделить PDF
split.desc.1=Выбранные вами числа — это номера страниц, на которых вы хотите сделать разделение. split.desc.1=Выбранные вами числа — это номера страниц, на которых вы хотите сделать разделение.
split.desc.2=Таким образом, выбор 1,3,7-8 разделит 10-страничный документ на 6 отдельных PDF-файлов с: split.desc.2=Таким образом, выбор 1,3,7-9 разделит 10-страничный документ на 6 отдельных PDF-файлов с:
split.desc.3=Документ #1: Page 1 split.desc.3=Документ #1: Страница 1
split.desc.4=Документ #2: Page 2 and 3 split.desc.4=Документ #2: Страница 2 и 3
split.desc.5=Документ #3: Page 4, 5 and 6 split.desc.5=Документ #3: Страница 4, 5, 6 aиnd 7
split.desc.6=Документ #4: Page 7 split.desc.6=Документ #4: Страница 8
split.desc.7=Документ #5: Page 8 split.desc.7=Документ #5: Страница 9
split.desc.8=Документ #6: Page 9 and 10 split.desc.8=Документ #6: Страница 10
split.splitPages=Введите страницы для разделения: split.splitPages=Введите страницы для разделения:
split.submit=Разделить split.submit=Разделить
@@ -957,7 +968,7 @@ PDFToText.submit=Конвертировать
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF в HTML PDFToHTML.title=PDF в HTML
PDFToHTML.header=PDF в HTML PDFToHTML.header=PDF в HTML
PDFToHTML.credit=Этот сервис использует LibreOffice для преобразования файлов. PDFToHTML.credit=Этот сервис использует pdftohtml для преобразования файлов.
PDFToHTML.submit=Конвертировать PDFToHTML.submit=Конвертировать
@@ -1002,21 +1013,34 @@ overlay-pdfs.submit=Отправить
#split-by-sections #split-by-sections
split-by-sections.title=Split PDF by Sections split-by-sections.title=Разделить PDF по разделам
split-by-sections.header=Split PDF into Sections split-by-sections.header=Разделить PDF на секции
split-by-sections.horizontal.label=Horizontal Divisions split-by-sections.horizontal.label=Горизонтальное деление
split-by-sections.vertical.label=Vertical Divisions split-by-sections.vertical.label=Вертикальное деление
split-by-sections.horizontal.placeholder=Enter the number of horizontal divisions split-by-sections.horizontal.placeholder=Введите количество горизонтальных разделов
split-by-sections.vertical.placeholder=Enter the number of vertical divisions split-by-sections.vertical.placeholder=Введите количество вертикальных разделов
split-by-sections.submit=Split PDF split-by-sections.submit=Разделить PDF
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Объединить в один PDF
#licenses #licenses
licenses.nav=Licenses licenses.nav=Лицензии
licenses.title=Third Party Licenses licenses.title=Лицензии от третьих сторон
licenses.header=Third Party Licenses licenses.header=Лицензии от третьих сторон
licenses.module=Module licenses.module=Модуль
licenses.version=Version licenses.version=Версия
licenses.license=License 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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=Novi korisnik već postoji
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Izaberite ugao rotacije (u višestrukim od 90 stepeni):
rotate.submit=Rotiraj rotate.submit=Rotiraj
#merge #split-pdfs
split.title=Razdvajanje PDF-a split.title=Razdvajanje PDF-a
split.header=Razdvajanje PDF-a split.header=Razdvajanje PDF-a
split.desc.1=Brojevi koje izaberete predstavljaju brojeve stranica na kojima želite napraviti razdvajanje split.desc.1=Brojevi koje izaberete predstavljaju brojeve stranica na kojima želite napraviti razdvajanje
split.desc.2=Na primer, izbor 1,3,7-8 bi razdvojio dokument od 10 stranica u 6 odvojenih PDF-a sa: split.desc.2=Na primer, izbor 1,3,7-9 bi razdvojio dokument od 10 stranica u 6 odvojenih PDF-a sa:
split.desc.3=Dokument #1: Stranica 1 split.desc.3=Dokument #1: Stranica 1
split.desc.4=Dokument #2: Stranice 2 i 3 split.desc.4=Dokument #2: Stranice 2 i 3
split.desc.5=Dokument #3: Stranice 4, 5 i 6 split.desc.5=Dokument #3: Stranice 4, 5, 6 i 7
split.desc.6=Dokument #4: Stranica 7 split.desc.6=Dokument #4: Stranica 8
split.desc.7=Dokument #5: Stranica 8 split.desc.7=Dokument #5: Stranica 9
split.desc.8=Dokument #6: Stranice 9 i 10 split.desc.8=Dokument #6: Stranice 10
split.splitPages=Unesite stranice za razdvajanje: split.splitPages=Unesite stranice za razdvajanje:
split.submit=Razdvoji split.submit=Razdvoji
@@ -957,7 +968,7 @@ PDFToText.submit=Konvertuj
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF u HTML PDFToHTML.title=PDF u HTML
PDFToHTML.header=PDF u HTML PDFToHTML.header=PDF u HTML
PDFToHTML.credit=Ova usluga koristi LibreOffice za konverziju fajlova. PDFToHTML.credit=Ova usluga koristi pdftohtml za konverziju fajlova.
PDFToHTML.submit=Konvertuj PDFToHTML.submit=Konvertuj
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=New Username already exists.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Cannot delete currently logged in user.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=Välj rotationsvinkel (i multipler av 90 grader):
rotate.submit=Rotera rotate.submit=Rotera
#merge #split-pdfs
split.title=Dela upp PDF split.title=Dela upp PDF
split.header=Dela upp PDF split.header=Dela upp PDF
split.desc.1=Siffrorna du väljer är sidnumret du vill göra en split på split.desc.1=Siffrorna du väljer är sidnumret du vill göra en split på
split.desc.2=Som sådan skulle ett val av 1,3,7-8 dela upp ett 10-sidigt dokument i 6 separata PDF-filer med: split.desc.2=Som sådan skulle ett val av 1,3,7-9 dela upp ett 10-sidigt dokument i 6 separata PDF-filer med:
split.desc.3=Dokument #1: Sida 1 split.desc.3=Dokument #1: Sida 1
split.desc.4=Dokument #2: Sida 2 och 3 split.desc.4=Dokument #2: Sida 2 och 3
split.desc.5=Dokument #3: Sida 4, 5 och 6 split.desc.5=Dokument #3: Sida 4, 5, 6 och 7
split.desc.6=Dokument #4: Sida 7 split.desc.6=Dokument #4: Sida 8
split.desc.7=Dokument #5: Sida 8 split.desc.7=Dokument #5: Sida 9
split.desc.8=Dokument #6: Sida 9 och 10 split.desc.8=Dokument #6: Sida 10
split.splitPages=Ange sidor att dela på: split.splitPages=Ange sidor att dela på:
split.submit=Dela split.submit=Dela
@@ -957,7 +968,7 @@ PDFToText.submit=Konvertera
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF till HTML PDFToHTML.title=PDF till HTML
PDFToHTML.header=PDF till HTML PDFToHTML.header=PDF till HTML
PDFToHTML.credit=Denna tjänst använder LibreOffice för filkonvertering. PDFToHTML.credit=Denna tjänst använder pdftohtml för filkonvertering.
PDFToHTML.submit=Konvertera PDFToHTML.submit=Konvertera
@@ -1020,3 +1031,16 @@ licenses.version=Version
licenses.license=License licenses.license=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

View File

@@ -11,17 +11,17 @@ imgPrompt=Resim(leri) seçin
genericSubmit=Gönder genericSubmit=Gönder
processTimeWarning=Uyarı: Bu işlem, dosya boyutuna bağlı olarak bir dakikaya kadar sürebilir. processTimeWarning=Uyarı: Bu işlem, dosya boyutuna bağlı olarak bir dakikaya kadar sürebilir.
pageOrderPrompt=Özel Sayfa Sırası (Virgülle ayrılmış sayfa numaraları veya 2n+1 gibi bir fonksiyon girin) : pageOrderPrompt=Özel Sayfa Sırası (Virgülle ayrılmış sayfa numaraları veya 2n+1 gibi bir fonksiyon girin) :
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) : pageSelectionPrompt=Özel Sayfa Seçimi (1,5,6 sayfa numaralarının virgülle ayrılmış bir listesini veya 2n+1 gibi bir fonksiyon girin) :
goToPage=Git goToPage=Git
true=Doğru true=Doğru
false=Yanlış false=Yanlış
unknown=Bilinmeyen unknown=Bilinmeyen
save=Kaydet save=Kaydet
saveToBrowser=Save to Browser saveToBrowser=Tarayıcıya Kaydet
close=Kapat close=Kapat
filesSelected=dosya seçildi filesSelected=dosya seçildi
noFavourites=Favori eklenmedi noFavourites=Favori eklenmedi
downloadComplete=Download Complete downloadComplete=İndirme Tamamlandı
bored=Sıkıldınız mı? bored=Sıkıldınız mı?
alphabet=Alfabe alphabet=Alfabe
downloadPdf=PDF İndir downloadPdf=PDF İndir
@@ -45,43 +45,54 @@ red=Kırmızı
green=Yeşil green=Yeşil
blue=Mavi blue=Mavi
custom=Özel custom=Özel
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems! WorkInProgess=Çalışmalar devam ediyor, Çalışmayabilir veya hatalı olabilir, Lütfen herhangi bir sorunu bildirin!
poweredBy=Powered by poweredBy=Tarafından desteklenmektedir
yes=Yes yes=Evet
no=No no=Hayır
changedCredsMessage=Bilgiler değiştirildi! changedCredsMessage=Bilgiler değiştirildi!
notAuthenticatedMessage=Kullanıcı doğrulanmadı. notAuthenticatedMessage=Kullanıcı doğrulanmadı.
userNotFoundMessage=Kullanıcı bulunamadı. userNotFoundMessage=Kullanıcı bulunamadı.
incorrectPasswordMessage=Mevcut şifre yanlış. incorrectPasswordMessage=Mevcut şifre yanlış.
usernameExistsMessage=Yeni Kullanıcı Adı zaten var. usernameExistsMessage=Yeni Kullanıcı Adı zaten var.
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers. invalidUsernameMessage=Geçersiz kullanıcı adı, Kullanıcı adı yalnızca alfabe karakterleri ve sayılar içermelidir.
deleteCurrentUserMessage=Cannot delete currently logged in user. deleteCurrentUserMessage=Şu anda oturum açmış olan kullanıcı silinemiyor.
deleteUsernameExistsMessage=The username does not exist and cannot be deleted. deleteUsernameExistsMessage=Kullanıcı adı mevcut değil ve silinemez.
error=Hata
oops=Tüh!
help=Yardım
goHomepage=Anasayfa'ya git
joinDiscord=Discord sunucumuza katılın
seeDockerHub=Docker Hub'a bakın
visitGithub=Github Deposunu Ziyaret Edin
donate=Bağış Yapın
color=Renk
sponsor=Sponsor
############### ###############
# Pipeline # # Pipeline #
############### ###############
pipeline.header=Pipeline Menu (Beta) pipeline.header=Pipeline Menü (Beta)
pipeline.uploadButton=Upload Custom pipeline.uploadButton=Upload edin
pipeline.configureButton=Configure pipeline.configureButton=Yapılandır
pipeline.defaultOption=Custom pipeline.defaultOption=Özel
pipeline.submitButton=Submit pipeline.submitButton=Gönder
pipeline.help=Pipeline Help pipeline.help=Pipeline Yardım
pipeline.scanHelp=Folder Scanning Help pipeline.scanHelp=Klasör Tarama Yardımı
###################### ######################
# Pipeline Options # # Pipeline Options #
###################### ######################
pipelineOptions.header=Pipeline Configuration pipelineOptions.header=Pipeline Yapılandırma
pipelineOptions.pipelineNameLabel=Pipeline Name pipelineOptions.pipelineNameLabel=Pipeline İsim
pipelineOptions.saveSettings=Save Operation Settings pipelineOptions.saveSettings=Ayarları Kaydet
pipelineOptions.pipelineNamePrompt=Enter pipeline name here pipelineOptions.pipelineNamePrompt=Buraya isim girin
pipelineOptions.selectOperation=Select Operation pipelineOptions.selectOperation=İşlem Seçin
pipelineOptions.addOperationButton=Add operation pipelineOptions.addOperationButton=İşlem ekle
pipelineOptions.pipelineHeader=Pipeline: pipelineOptions.pipelineHeader=Pipeline:
pipelineOptions.saveButton=Download pipelineOptions.saveButton=İndir
pipelineOptions.validateButton=Validate pipelineOptions.validateButton=Doğrula
@@ -149,15 +160,15 @@ adminUserSettings.header=Yönetici Kullanıcı Kontrol Ayarları
adminUserSettings.admin=Yönetici adminUserSettings.admin=Yönetici
adminUserSettings.user=Kullanıcı adminUserSettings.user=Kullanıcı
adminUserSettings.addUser=Yeni Kullanıcı Ekle adminUserSettings.addUser=Yeni Kullanıcı Ekle
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters. adminUserSettings.usernameInfo=Kullanıcı adı yalnızca harf ve rakamlardan oluşmalı, boşluk veya özel karakter içermemelidir.
adminUserSettings.roles=Roller adminUserSettings.roles=Roller
adminUserSettings.role=Rol adminUserSettings.role=Rol
adminUserSettings.actions=Eylemler adminUserSettings.actions=Eylemler
adminUserSettings.apiUser=Sınırlı API Kullanıcısı adminUserSettings.apiUser=Sınırlı API Kullanıcısı
adminUserSettings.extraApiUser=Additional Limited API User adminUserSettings.extraApiUser=Ek Sınırlı API Kullanıcısı
adminUserSettings.webOnlyUser=Sadece Web Kullanıcısı adminUserSettings.webOnlyUser=Sadece Web Kullanıcısı
adminUserSettings.demoUser=Demo User (No custom settings) adminUserSettings.demoUser=Demo Kullanıcısı (Özel ayar yok)
adminUserSettings.internalApiUser=Internal API User adminUserSettings.internalApiUser=Dahili API Kullanıcısı
adminUserSettings.forceChange=Kullanıcının girişte kullanıcı adı/şifre değiştirmesini zorla adminUserSettings.forceChange=Kullanıcının girişte kullanıcı adı/şifre değiştirmesini zorla
adminUserSettings.submit=Kullanıcıyı Kaydet adminUserSettings.submit=Kullanıcıyı Kaydet
@@ -165,12 +176,12 @@ adminUserSettings.submit=Kullanıcıyı Kaydet
# HOME-PAGE # # HOME-PAGE #
############# #############
home.desc=Yerel olarak barındırılan tüm PDF ihtiyaçlarınız için tek durak noktanız. home.desc=Yerel olarak barındırılan tüm PDF ihtiyaçlarınız için tek durak noktanız.
home.searchBar=Search for features... home.searchBar=Özellikleri arayın...
home.viewPdf.title=View PDF home.viewPdf.title=PDF Görüntüle
home.viewPdf.desc=View, annotate, add text or images home.viewPdf.desc=Görüntüleyin, açıklama ekleyin, metin veya resim ekleyin
viewPdf.tags=view,read,annotate,text,image viewPdf.tags=görüntüle,oku,açıklama ekle,metin,görüntü
home.multiTool.title=PDF Çoklu Araç home.multiTool.title=PDF Çoklu Araç
home.multiTool.desc=Birleştir, Döndür, Yeniden Düzenle ve Sayfaları Kaldır home.multiTool.desc=Birleştir, Döndür, Yeniden Düzenle ve Sayfaları Kaldır
@@ -294,9 +305,9 @@ home.removeBlanks.title=Boş Sayfaları Kaldır
home.removeBlanks.desc=Bir belgeden boş sayfaları tespit eder ve kaldırır home.removeBlanks.desc=Bir belgeden boş sayfaları tespit eder ve kaldırır
removeBlanks.tags=temizle,sadeleştir,içeriksiz,düzenle removeBlanks.tags=temizle,sadeleştir,içeriksiz,düzenle
home.removeAnnotations.title=Remove Annotations home.removeAnnotations.title=Ek Açıklamaları Kaldır
home.removeAnnotations.desc=Removes all comments/annotations from a PDF home.removeAnnotations.desc=PDF'deki tüm yorumları/açıklamaları kaldırır
removeAnnotations.tags=comments,highlight,notes,markup,remove removeAnnotations.tags=yorumlar,vurgulama,notlar,işaretleme,kaldırma
home.compare.title=Karşılaştır home.compare.title=Karşılaştır
home.compare.desc=2 PDF Belgesi arasındaki farkları karşılaştırır ve gösterir home.compare.desc=2 PDF Belgesi arasındaki farkları karşılaştırır ve gösterir
@@ -379,36 +390,36 @@ home.autoRedact.title=Otomatik Karartma
home.autoRedact.desc=Giriş metnine dayanarak bir PDF'teki metni Otomatik Karartır (Redakte) home.autoRedact.desc=Giriş metnine dayanarak bir PDF'teki metni Otomatik Karartır (Redakte)
autoRedact.tags=Karart,Gizle,karartma,siyah,markör,gizli autoRedact.tags=Karart,Gizle,karartma,siyah,markör,gizli
home.tableExtraxt.title=PDF to CSV home.tableExtraxt.title=PDF'den CSV'ye
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV home.tableExtraxt.desc=PDF'den Tabloları çıkarır ve CSV'ye dönüştürür
tableExtraxt.tags=CSV,Table Extraction,extract,convert tableExtraxt.tags=CSV, Tablo Çıkarma, ayıklama, dönüştürme
home.autoSizeSplitPDF.title=Auto Split by Size/Count home.autoSizeSplitPDF.title=Boyut/Sayıya Göre Otomatik Bölme
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count home.autoSizeSplitPDF.desc=Tek bir PDF'yi boyut, sayfa sayısı veya belge sayısına göre birden fazla belgeye bölün
autoSizeSplitPDF.tags=pdf,split,document,organization autoSizeSplitPDF.tags=pdf,bölme,belge,organizasyon
home.overlay-pdfs.title=Overlay PDFs home.overlay-pdfs.title=PDF'leri Bindirme
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF home.overlay-pdfs.desc=PDF'leri başka bir PDF'nin üzerine bindirir
overlay-pdfs.tags=Overlay overlay-pdfs.tags=Bindirme
home.split-by-sections.title=Split PDF by Sections home.split-by-sections.title=PDF'yi Bölümlere Ayırma
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections home.split-by-sections.desc=PDF'nin her sayfasını daha küçük yatay ve dikey bölümlere ayırın
split-by-sections.tags=Section Split, Divide, Customize split-by-sections.tags=Bölümlere Ayırma, Bölme, Özelleştirme
home.AddStampRequest.title=Add Stamp to PDF home.AddStampRequest.title=PDF'ye Damga Ekleme
home.AddStampRequest.desc=Add text or add image stamps at set locations home.AddStampRequest.desc=Belirlenen konumlara metin veya resim damgaları ekleyin
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize AddStampRequest.tags=Damga, Görüntü ekle, Görüntüyü ortala, Filigran, PDF, Göm, Özelleştir
home.PDFToBook.title=PDF to Book home.PDFToBook.title=PDF'den Kitaba
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre home.PDFToBook.desc=Calibre kullanarak PDF'yi Kitap/Komik formatlarına dönüştürür
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle PDFToBook.tags=Kitap,Çizgi Roman,Calibre,Dönüştür,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
home.BookToPDF.title=Book to PDF home.BookToPDF.title=Kitaptan PDF'ye
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre home.BookToPDF.desc=calibre kullanarak Kitap/Karikatür formatlarını PDF'ye dönüştürür
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle BookToPDF.tags=Kitap,Çizgi Roman,Calibre,Dönüştür,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
########################### ###########################
@@ -456,7 +467,7 @@ pdfToSinglePage.submit=Tek Sayfaya Dönüştür
pageExtracter.title=Sayfaları Çıkar pageExtracter.title=Sayfaları Çıkar
pageExtracter.header=Sayfaları Çıkar pageExtracter.header=Sayfaları Çıkar
pageExtracter.submit=Çıkar pageExtracter.submit=Çıkar
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1) pageExtracter.placeholder=(örneğin 1,2,8 veya 4,7,12-16 ya da 2n-1)
#getPdfInfo #getPdfInfo
@@ -488,37 +499,37 @@ HTMLToPDF.header=HTML'den PDF'e
HTMLToPDF.help=HTML dosyalarını ve html/css/görsel vb. içeren ZIP'leri kabul eder HTMLToPDF.help=HTML dosyalarını ve html/css/görsel vb. içeren ZIP'leri kabul eder
HTMLToPDF.submit=Dönüştür HTMLToPDF.submit=Dönüştür
HTMLToPDF.credit=WeasyPrint Kullanıyor HTMLToPDF.credit=WeasyPrint Kullanıyor
HTMLToPDF.zoom=Zoom level for displaying the website. HTMLToPDF.zoom=Web sitesini görüntülemek için yakınlaştırma düzeyi.
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default) HTMLToPDF.pageWidth=Sayfanın santimetre cinsinden genişliği. (Varsayılan olarak boş)
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default) HTMLToPDF.pageHeight=Sayfanın santimetre cinsinden yüksekliği. (Varsayılan olarak boş)
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default) HTMLToPDF.marginTop=Sayfanın milimetre cinsinden üst kenar boşluğu. (Varsayılan olarak boş)
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default) HTMLToPDF.marginBottom=Sayfanın milimetre cinsinden alt kenar boşluğu. (Varsayılan olarak boş)
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default) HTMLToPDF.marginLeft=Sayfanın milimetre cinsinden sol kenar boşluğu. (Varsayılan olarak boş)
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default) HTMLToPDF.marginRight=Sayfanın milimetre cinsinden sağ kenar boşluğu. (Varsayılan olarak boş)
HTMLToPDF.printBackground=Render the background of websites. HTMLToPDF.printBackground=Web sitelerinin arka planını oluşturun.
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number) HTMLToPDF.defaultHeader=Varsayılan Üstbilgiyi Etkinleştir (Ad ve sayfa numarası)
HTMLToPDF.cssMediaType=Change the CSS media type of the page. HTMLToPDF.cssMediaType=Sayfanın CSS ortam türünü değiştirin.
HTMLToPDF.none=None HTMLToPDF.none=Hiçbiri
HTMLToPDF.print=Print HTMLToPDF.print=Yazdır
HTMLToPDF.screen=Screen HTMLToPDF.screen=Ekran
#AddStampRequest #AddStampRequest
AddStampRequest.header=Stamp PDF AddStampRequest.header=Damga PDF
AddStampRequest.title=Stamp PDF AddStampRequest.title=Damga PDF
AddStampRequest.stampType=Stamp Type AddStampRequest.stampType=Damga Türü
AddStampRequest.stampText=Stamp Text AddStampRequest.stampText=Damga Metni
AddStampRequest.stampImage=Stamp Image AddStampRequest.stampImage=Damga Resmi
AddStampRequest.alphabet=Alphabet AddStampRequest.alphabet=Alfabe
AddStampRequest.fontSize=Font/Image Size AddStampRequest.fontSize=Yazı Tipi/Görüntü Boyutu
AddStampRequest.rotation=Rotation AddStampRequest.rotation=Döndürme
AddStampRequest.opacity=Opacity AddStampRequest.opacity=Opaklık
AddStampRequest.position=Position AddStampRequest.position=Konum
AddStampRequest.overrideX=Override X Coordinate AddStampRequest.overrideX=X Koordinatını geçersiz kıl
AddStampRequest.overrideY=Override Y Coordinate AddStampRequest.overrideY=Y Koordinatını Geçersiz Kıl
AddStampRequest.customMargin=Custom Margin AddStampRequest.customMargin=Özel Kenar Boşluğu
AddStampRequest.customColor=Custom Text Color AddStampRequest.customColor=Özel Metin Rengi
AddStampRequest.submit=Submit AddStampRequest.submit=Gönder
#sanitizePDF #sanitizePDF
@@ -607,11 +618,11 @@ scalePages.submit=Gönder
certSign.title=Sertifika İmzalama certSign.title=Sertifika İmzalama
certSign.header=Sertifikanızla bir PDF imzalayın (Devam eden iş) certSign.header=Sertifikanızla bir PDF imzalayın (Devam eden iş)
certSign.selectPDF=İmzalamak için bir PDF Dosyası seçin: certSign.selectPDF=İmzalamak için bir PDF Dosyası seçin:
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=Note: Sertifika türünüz aşağıda listelenmemişse, lütfen keytool komut satırı aracını kullanarak sertifikanızı bir Java Keystore (.jks) dosyasına dönüştürün. Ardından, aşağıdaki .jks dosyası seçeneğini seçin.
certSign.selectKey=Özel Anahtar Dosyanızı Seçin (PKCS#8 formatında, .pem veya .der olabilir): certSign.selectKey=Özel Anahtar Dosyanızı Seçin (PKCS#8 formatında, .pem veya .der olabilir):
certSign.selectCert=Sertifika Dosyanızı Seçin (X.509 formatında, .pem veya .der olabilir): certSign.selectCert=Sertifika Dosyanızı Seçin (X.509 formatında, .pem veya .der olabilir):
certSign.selectP12=PKCS#12 Anahtar Deposu Dosyanızı Seçin (.p12 veya .pfx) (İsteğe bağlı, sağlanırsa, özel anahtarınızı ve sertifikanızı içermelidir): certSign.selectP12=PKCS#12 Anahtar Deposu Dosyanızı Seçin (.p12 veya .pfx) (İsteğe bağlı, sağlanırsa, özel anahtarınızı ve sertifikanızı içermelidir):
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore): certSign.selectJKS=Java Keystore Dosyanızı (.jks veya .keystore) seçin:
certSign.certType=Sertifika Türü certSign.certType=Sertifika Türü
certSign.password=Anahtar Deposu veya Özel Anahtar Şifrenizi Girin (Varsa): certSign.password=Anahtar Deposu veya Özel Anahtar Şifrenizi Girin (Varsa):
certSign.showSig=İmzayı Göster certSign.showSig=İmzayı Göster
@@ -632,9 +643,9 @@ removeBlanks.submit=Boşları Kaldır
#removeAnnotations #removeAnnotations
removeAnnotations.title=Remove Annotations removeAnnotations.title=Ek Açıklamaları Kaldır
removeAnnotations.header=Remove Annotations removeAnnotations.header=Ek Açıklamaları Kaldır
removeAnnotations.submit=Remove removeAnnotations.submit=Kaldır
#compare #compare
@@ -645,17 +656,17 @@ compare.document.2=Belge 2
compare.submit=Karşılaştır compare.submit=Karşılaştır
#BookToPDF #BookToPDF
BookToPDF.title=Books and Comics to PDF BookToPDF.title=Kitapları ve Çizgi Romanları PDF'e Dönüştürme
BookToPDF.header=Book to PDF BookToPDF.header=Kitaptan PDF'ye
BookToPDF.credit=Uses Calibre BookToPDF.credit=Kalibre Kullanır
BookToPDF.submit=Convert BookToPDF.submit=Dönüştür
#PDFToBook #PDFToBook
PDFToBook.title=PDF to Book PDFToBook.title=PDF'den Kitaba
PDFToBook.header=PDF to Book PDFToBook.header=PDF'den Kitaba
PDFToBook.selectText.1=Format PDFToBook.selectText.1=Format
PDFToBook.credit=Uses Calibre PDFToBook.credit=Kalibre Kullanır
PDFToBook.submit=Convert PDFToBook.submit=Dönüştür
#sign #sign
sign.title=İmzala sign.title=İmzala
@@ -759,34 +770,34 @@ merge.submit=Birleştir
pdfOrganiser.title=Sayfa Organizatörü pdfOrganiser.title=Sayfa Organizatörü
pdfOrganiser.header=PDF Sayfa Organizatörü pdfOrganiser.header=PDF Sayfa Organizatörü
pdfOrganiser.submit=Sayfaları Yeniden Düzenle pdfOrganiser.submit=Sayfaları Yeniden Düzenle
pdfOrganiser.mode=Mode pdfOrganiser.mode=Mod
pdfOrganiser.mode.1=Custom Page Order pdfOrganiser.mode.1=Özel Sayfa Düzeni
pdfOrganiser.mode.2=Reverse Order pdfOrganiser.mode.2=Ters Sıralama
pdfOrganiser.mode.3=Duplex Sort pdfOrganiser.mode.3=Çift Taraflı Sıralama
pdfOrganiser.mode.4=Booklet Sort pdfOrganiser.mode.4=Kitapçık Sıralama
pdfOrganiser.mode.5=Side Stitch Booklet Sort pdfOrganiser.mode.5=Yandan Dikişli Kitapçık Sıralama
pdfOrganiser.mode.6=Odd-Even Split pdfOrganiser.mode.6=Tek-Çift Ayrımı
pdfOrganiser.mode.7=Remove First pdfOrganiser.mode.7=İlk Önce Kaldır
pdfOrganiser.mode.8=Remove Last pdfOrganiser.mode.8=Sonuncuyu Kaldır
pdfOrganiser.mode.9=Remove First and Last pdfOrganiser.mode.9=İlk ve Sonu Kaldır
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1) pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1)
#multiTool #multiTool
multiTool.title=PDF Çoklu Araç multiTool.title=PDF Çoklu Araç
multiTool.header=PDF Çoklu Araç multiTool.header=PDF Çoklu Araç
multiTool.uploadPrompts=Please Upload PDF multiTool.uploadPrompts=Lütfen PDF Yükleyin
#view pdf #view pdf
viewPdf.title=View PDF viewPdf.title=PDF Görüntüle
viewPdf.header=View PDF viewPdf.header=PDF Görüntüle
#pageRemover #pageRemover
pageRemover.title=Sayfa Silici pageRemover.title=Sayfa Silici
pageRemover.header=PDF Sayfa silici pageRemover.header=PDF Sayfa silici
pageRemover.pagesToDelete=Silinmesi gereken sayfalar (Virgülle ayrılmış sayfa numaraları listesi girin): pageRemover.pagesToDelete=Silinmesi gereken sayfalar (Virgülle ayrılmış sayfa numaraları listesi girin):
pageRemover.submit=Sayfaları Sil pageRemover.submit=Sayfaları Sil
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30) pageRemover.placeholder=(örn. 1,2,6 veya 1-10,15-30)
#rotate #rotate
@@ -796,17 +807,17 @@ rotate.selectAngle=Döndürme açısını seçin (90 derecenin katları olarak):
rotate.submit=Döndür rotate.submit=Döndür
#merge #split-pdfs
split.title=PDF Ayır split.title=PDF Ayır
split.header=PDF Ayır split.header=PDF Ayır
split.desc.1=Seçtiğiniz numaralar, bir ayrım yapmak istediğiniz sayfa numarasıdır split.desc.1=Seçtiğiniz numaralar, bir ayrım yapmak istediğiniz sayfa numarasıdır
split.desc.2=Bu nedenle, 1,3,7-8 seçmek 10 sayfalı bir belgeyi şunlarla 6 ayrı PDF'e böler: split.desc.2=Bu nedenle, 1,3,7-9 seçmek 10 sayfalı bir belgeyi şunlarla 6 ayrı PDF'e böler:
split.desc.3=Belge #1: Sayfa 1 split.desc.3=Belge #1: Sayfa 1
split.desc.4=Belge #2: Sayfa 2 ve 3 split.desc.4=Belge #2: Sayfa 2 ve 3
split.desc.5=Belge #3: Sayfa 4, 5 ve 6 split.desc.5=Belge #3: Sayfa 4, 5, 6 ve 7
split.desc.6=Belge #4: Sayfa 7 split.desc.6=Belge #4: Sayfa 8
split.desc.7=Belge #5: Sayfa 8 split.desc.7=Belge #5: Sayfa 9
split.desc.8=Belge #6: Sayfa 9 ve 10 split.desc.8=Belge #6: Sayfa 10
split.splitPages=Ayrılacak sayfaları girin: split.splitPages=Ayrılacak sayfaları girin:
split.submit=Ayır split.submit=Ayır
@@ -874,8 +885,8 @@ watermark.selectText.7=Opaklık (0% - 100%):
watermark.selectText.8=Filigran Türü: watermark.selectText.8=Filigran Türü:
watermark.selectText.9=Filigran Resmi: watermark.selectText.9=Filigran Resmi:
watermark.submit=Filigran Ekle watermark.submit=Filigran Ekle
watermark.type.1=Text watermark.type.1=Metin
watermark.type.2=Image watermark.type.2=Resim
#Change permissions #Change permissions
@@ -927,7 +938,7 @@ pdfToPDFA.title=PDF'den PDF/A'ya
pdfToPDFA.header=PDF'den PDF/A'ya pdfToPDFA.header=PDF'den PDF/A'ya
pdfToPDFA.credit=Bu hizmet PDF/A dönüşümü için OCRmyPDF kullanır pdfToPDFA.credit=Bu hizmet PDF/A dönüşümü için OCRmyPDF kullanır
pdfToPDFA.submit=Dönüştür pdfToPDFA.submit=Dönüştür
pdfToPDFA.tip=Currently does not work for multiple inputs at once pdfToPDFA.tip=Şu anda aynı anda birden fazla giriş için çalışmıyor
#PDFToWord #PDFToWord
@@ -957,7 +968,7 @@ PDFToText.submit=Dönüştür
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF'den HTML'e PDFToHTML.title=PDF'den HTML'e
PDFToHTML.header=PDF'den HTML'e PDFToHTML.header=PDF'den HTML'e
PDFToHTML.credit=Bu hizmet dosya dönüşümü için LibreOffice kullanır. PDFToHTML.credit=Bu hizmet dosya dönüşümü için pdftohtml kullanır.
PDFToHTML.submit=Dönüştür PDFToHTML.submit=Dönüştür
@@ -968,55 +979,68 @@ PDFToXML.credit=Bu hizmet dosya dönüşümü için LibreOffice kullanır.
PDFToXML.submit=Dönüştür PDFToXML.submit=Dönüştür
#PDFToCSV #PDFToCSV
PDFToCSV.title=PDF to CSV PDFToCSV.title=PDF'den CSV'ye
PDFToCSV.header=PDF to CSV PDFToCSV.header=PDF'den CSV'ye
PDFToCSV.prompt=Choose page to extract table PDFToCSV.prompt=Tabloyu çıkarmak için sayfa seçin
PDFToCSV.submit=Extract PDFToCSV.submit=Çıkart
#split-by-size-or-count #split-by-size-or-count
split-by-size-or-count.title=Split PDF by Size or Count split-by-size-or-count.title=PDF'yi Boyuta veya Sayıya Göre Bölme
split-by-size-or-count.header=Split PDF by Size or Count split-by-size-or-count.header=PDF'yi Boyuta veya Sayıya Göre Bölme
split-by-size-or-count.type.label=Select Split Type split-by-size-or-count.type.label=Bölme Türünü Seçin
split-by-size-or-count.type.size=By Size split-by-size-or-count.type.size=Boyuta Göre
split-by-size-or-count.type.pageCount=By Page Count split-by-size-or-count.type.pageCount=Sayfa Sayısına Göre
split-by-size-or-count.type.docCount=By Document Count split-by-size-or-count.type.docCount=Belge Sayısına Göre
split-by-size-or-count.value.label=Enter Value split-by-size-or-count.value.label=Değer Girin
split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5) split-by-size-or-count.value.placeholder=Boyutu (örn. 2MB veya 3KB) veya sayıyı (örn. 5) girin
split-by-size-or-count.submit=Submit split-by-size-or-count.submit=Gönder
#overlay-pdfs #overlay-pdfs
overlay-pdfs.header=Overlay PDF Files overlay-pdfs.header=PDF Dosyalarını Bindirme
overlay-pdfs.baseFile.label=Select Base PDF File overlay-pdfs.baseFile.label=Temel PDF Dosyasını Seçin
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files overlay-pdfs.overlayFiles.label=İkinci PDF Dosyalarını Seçin
overlay-pdfs.mode.label=Select Overlay Mode overlay-pdfs.mode.label=Bindirme Modunu Seçin
overlay-pdfs.mode.sequential=Sequential Overlay overlay-pdfs.mode.sequential=Sıralı Bindirme
overlay-pdfs.mode.interleaved=Interleaved Overlay overlay-pdfs.mode.interleaved=Serpiştirilmiş Bindirme
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay overlay-pdfs.mode.fixedRepeat=Sabit Tekrar Bindirme
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode) overlay-pdfs.counts.label=Bindirme Sayıları (Sabit Tekrar Modu için)
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1) overlay-pdfs.counts.placeholder=Virgülle ayrılmış sayıları girin (örn. 2,3,1)
overlay-pdfs.position.label=Select Overlay Position overlay-pdfs.position.label=Bindirme Konumunu Seçin
overlay-pdfs.position.foreground=Foreground overlay-pdfs.position.foreground=Ön plan
overlay-pdfs.position.background=Background overlay-pdfs.position.background=Arka plan
overlay-pdfs.submit=Submit overlay-pdfs.submit=Gönder
#split-by-sections #split-by-sections
split-by-sections.title=Split PDF by Sections split-by-sections.title=PDF'yi Bölümlere Ayırma
split-by-sections.header=Split PDF into Sections split-by-sections.header=PDF'yi Bölümlere Ayırma
split-by-sections.horizontal.label=Horizontal Divisions split-by-sections.horizontal.label=Yatay Bölümler
split-by-sections.vertical.label=Vertical Divisions split-by-sections.vertical.label=Dikey Bölümler
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.horizontal.placeholder=Yatay bölme sayısını girin
split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.vertical.placeholder=Dikey bölme sayısını girin
split-by-sections.submit=Split PDF split-by-sections.submit=PDF'yi Böl
split-by-sections.merge=Merge Into One PDF split-by-sections.merge=Bir PDF'de Birleştirin
#licenses #licenses
licenses.nav=Licenses licenses.nav=Lisanslar
licenses.title=3rd Party Licenses licenses.title=3. Taraf Lisansları
licenses.header=3rd Party Licenses licenses.header=3. Taraf Lisansları
licenses.module=Module licenses.module=Modül
licenses.version=Version licenses.version=Versiyon
licenses.license=License licenses.license=Lisans
# error
error.sorry=Sorun için özür dileriz!
error.needHelp=Yardıma mı ihtiyacınız var / Bir sorun mu buldunuz?
error.contactTip=Hala sorun yaşıyorsanız, yardım için bize ulaşmaktan çekinmeyin. GitHub sayfamızdan bir bilet gönderebilir veya Discord üzerinden bizimle iletişime geçebilirsiniz:
error.404.head=404 - Sayfa Bulunamadı | Tüh, kodda takıldık!
error.404.1=Aradığınız sayfayı bulamıyoruz.
error.404.2=Bir şeyler ters gitti
error.github=GitHub üzerinden bir hata bildirin
error.showStack=Yığın İzlemesini Göster
error.copyStack=Yığın İzini Kopyala
error.githubSubmit=GitHub - Hata gönderin
error.discordSubmit=Discord - Destek gönderisi gönderin

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=新用户名已存在。
invalidUsernameMessage=用户名无效,用户名只能由字母字符和数字组成。 invalidUsernameMessage=用户名无效,用户名只能由字母字符和数字组成。
deleteCurrentUserMessage=无法删除当前登录的用户。 deleteCurrentUserMessage=无法删除当前登录的用户。
deleteUsernameExistsMessage=用户名不存在,无法删除。 deleteUsernameExistsMessage=用户名不存在,无法删除。
error=错误
oops=哎呀!
help=帮助
goHomepage=返回主页
joinDiscord=加入我们的Discord服务器
seeDockerHub=查看Docker Hub
visitGithub=访问Github仓库
donate=捐款
color=颜色
sponsor=赞助
############### ###############
@@ -796,14 +807,14 @@ rotate.selectAngle=选择旋转角度以90度的倍数
rotate.submit=旋转 rotate.submit=旋转
#merge #split-pdfs
split.title=拆分PDF split.title=拆分PDF
split.header=拆分PDF split.header=拆分PDF
split.desc.1=选择希望进行分割的页数 split.desc.1=选择希望进行分割的页数
split.desc.2=如选择1,3,7-8将把一个10页的文件分割成6个独立的PDF split.desc.2=如选择1,3,7-9将把一个10页的文件分割成6个独立的PDF
split.desc.3=文档 #1第1页 split.desc.3=文档 #1第1页
split.desc.4=文档 #2第2页和第3页 split.desc.4=文档 #2第2页和第3页
split.desc.5=文档 #3第4页、第5页第6页 split.desc.5=文档 #3第4页、第5页第6页和第7页
split.desc.6=文档 #4第7页 split.desc.6=文档 #4第7页
split.desc.7=文档 #5第8页 split.desc.7=文档 #5第8页
split.desc.8=文档 #6第9页和第10页 split.desc.8=文档 #6第9页和第10页
@@ -957,7 +968,7 @@ PDFToText.submit=转换
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF To HTML PDFToHTML.title=PDF To HTML
PDFToHTML.header=将PDF转换成HTML PDFToHTML.header=将PDF转换成HTML
PDFToHTML.credit=此服务使用LibreOffice进行文件转换。 PDFToHTML.credit=此服务使用pdftohtml进行文件转换。
PDFToHTML.submit=转换 PDFToHTML.submit=转换
@@ -1020,3 +1031,16 @@ licenses.version=版本
licenses.license=许可证 licenses.license=许可证
# error
error.sorry=对此问题感到抱歉!
error.needHelp=需要帮助 / 发现问题?
error.contactTip=如果你仍然遇到问题不要犹豫向我们寻求帮助。你可以在我们的GitHub页面上提交工单或者通过Discord与我们联系
error.404.head=404 - 页面未找到 | 哎呀,我们在代码中触发了错误!
error.404.1=我们似乎找不到你寻找的页面。
error.404.2=出了些问题
error.github=在GitHub上提交工单
error.showStack=显示堆栈跟踪
error.copyStack=复制堆栈跟踪
error.githubSubmit=GitHub - 提交工单
error.discordSubmit=Discord - 提交支持帖子

View File

@@ -57,6 +57,17 @@ usernameExistsMessage=新使用者名稱已存在。
invalidUsernameMessage=使用者名無效,使用者名只能包含字母字元和數位。 invalidUsernameMessage=使用者名無效,使用者名只能包含字母字元和數位。
deleteCurrentUserMessage=無法刪除目前登錄的使用者。 deleteCurrentUserMessage=無法刪除目前登錄的使用者。
deleteUsernameExistsMessage=使用者名不存在,無法刪除。 deleteUsernameExistsMessage=使用者名不存在,無法刪除。
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
############### ###############
@@ -796,17 +807,17 @@ rotate.selectAngle=選擇旋轉角度(以 90 度的倍數):
rotate.submit=旋轉 rotate.submit=旋轉
#merge #split-pdfs
split.title=分割 PDF split.title=分割 PDF
split.header=分割 PDF split.header=分割 PDF
split.desc.1=您選擇的數字是您希望進行分割的頁碼 split.desc.1=您選擇的數字是您希望進行分割的頁碼
split.desc.2=因此,選擇 1,3,7-8 將會將一個 10 頁的文件分割為 6 個單獨的 PDF包括 split.desc.2=因此,選擇 1,3,7-9 將會將一個 10 頁的文件分割為 6 個單獨的 PDF包括
split.desc.3=文件 #1頁面 1 split.desc.3=文件 #1頁面 1
split.desc.4=文件 #2頁面 2 和 3 split.desc.4=文件 #2頁面 2 和 3
split.desc.5=文件 #3頁面 4、5 和 6 split.desc.5=文件 #3頁面 4、5、67
split.desc.6=文件 #4頁面 7 split.desc.6=文件 #4頁面 8
split.desc.7=文件 #5頁面 8 split.desc.7=文件 #5頁面 9
split.desc.8=文件 #6頁面 9 和 10 split.desc.8=文件 #6頁面 10
split.splitPages=輸入要分割的頁面: split.splitPages=輸入要分割的頁面:
split.submit=分割 split.submit=分割
@@ -957,7 +968,7 @@ PDFToText.submit=轉換
#PDFToHTML #PDFToHTML
PDFToHTML.title=PDF 轉 HTML PDFToHTML.title=PDF 轉 HTML
PDFToHTML.header=PDF 轉 HTML PDFToHTML.header=PDF 轉 HTML
PDFToHTML.credit=此服務使用 LibreOffice 進行檔案轉換。 PDFToHTML.credit=此服務使用 pdftohtml 進行檔案轉換。
PDFToHTML.submit=轉換 PDFToHTML.submit=轉換
@@ -1020,3 +1031,16 @@ licenses.version=版本
licenses.license=許可證 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

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="http://www.thymeleaf.org"> <html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="http://www.thymeleaf.org">
<head> <head>
<th:block th:insert="~{fragments/common :: head(title='404 - Page Not Found | Oops, we tripped in the code!')}"></th:block> <th:block th:insert="~{fragments/common :: head(title=#{error.404.head})}"></th:block>
</head> </head>
<body> <body>
@@ -11,25 +11,17 @@
<div th:insert="~{fragments/errorBanner.html :: errorBanner}"></div> <div th:insert="~{fragments/errorBanner.html :: errorBanner}"></div>
<div class="container"> <div class="container">
<div id="support-section"> <div id="support-section">
<h1 class="display-2">Oops!</h1> <h1 class="display-2" th:text="#{oops}"></h1>
<p class="lead" th:if="${param.status == '404'}"> <p class="lead" th:if="${param.status == '404'}" th:text="#{error.404.1}"></p>
We can't seem to find the page you're looking for. <p class="lead" th:unless="${param.status == '404'}" th:text="#{error.404.2}"></p>
</p>
<p class="lead" th:unless="${param.status == '404'}">
Something went wrong
</p>
<br> <br>
<h2>Need help / Found a issue?</h2> <h2 th:text="#{error.needHelp}"></h2>
<p> <p th:text="#{error.contactTip}"></p>
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:
</p>
<div id="button-group"> <div id="button-group">
<a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank">Submit a ticket on GitHub</a> <a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank" th:text="#{error.github}"></a>
<a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank">Join our Discord server</a> <a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank" th:text="#{joinDiscord}"></a>
</div> </div>
<a href="/" class="home-button">Go back to homepage</a> <a href="/" class="home-button" th:text="#{goHomepage}"></a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -4,8 +4,8 @@
<div id="errorContainer" th:if="${message}" class="alert alert-danger alert-dismissible fade show" role="alert"> <div id="errorContainer" th:if="${message}" class="alert alert-danger alert-dismissible fade show" role="alert">
<h4 class="alert-heading" th:text="'Error: ' + ${status} + ' ' + ${error}"></h4> <h4 class="alert-heading" th:text="'Error: ' + ${status} + ' ' + ${error}"></h4>
<p th:text="${message} + ' for path: ' + ${path}"></p> <p th:text="${message} + ' for path: ' + ${path}"></p>
<button type="button" class="btn btn-danger" th:if="${trace}" onclick="toggletrace()">Show Stack Trace</button> <button type="button" class="btn btn-danger" th:if="${trace}" onclick="toggletrace()" th:text="#{error.showStack}"></button>
<button type="button" class="btn btn-secondary" th:if="${trace}" onclick="copytrace()">Copy Stack Trace</button> <button type="button" class="btn btn-secondary" th:if="${trace}" onclick="copytrace()" th:text="#{error.copyStack}"></button>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()"></button> <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()"></button>
<!-- Stack trace section --> <!-- Stack trace section -->
<div id="trace" th:if="${trace}" style="max-height: 0; overflow: hidden;"> <div id="trace" th:if="${trace}" style="max-height: 0; overflow: hidden;">
@@ -13,8 +13,8 @@
<pre id="traceContent" th:text="${trace}"></pre> <pre id="traceContent" th:text="${trace}"></pre>
</div> </div>
<!-- Buttons to submit a ticket on GitHub and join Discord server --> <!-- Buttons to submit a ticket on GitHub and join Discord server -->
<a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank">Submit a ticket on GitHub</a> <a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank" th:text="#{error.github}"></a>
<a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank">Join our Discord server</a> <a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank" th:text="#{joinDiscord}"></a>
</div> </div>
</div> </div>
<script> <script>

View File

@@ -1,10 +1,10 @@
<th:block th:fragment="errorBannerPerPage"> <th:block th:fragment="errorBannerPerPage">
<div id="errorContainer" class="alert alert-danger alert-dismissible fade show" role="alert" style="display: none;"> <div id="errorContainer" class="alert alert-danger alert-dismissible fade show" role="alert" style="display: none;">
<h4 class="alert-heading">Error</h4> <h4 class="alert-heading" th:text="#{error}"></h4>
<p></p> <p></p>
<button type="button" class="btn btn-danger" onclick="toggletrace()">Show Stack Trace</button> <button type="button" class="btn btn-danger" onclick="toggletrace()" th:text="#{error.showStack}"></button>
<button type="button" class="btn btn-secondary" onclick="copytrace()">Copy Stack Trace</button> <button type="button" class="btn btn-secondary" onclick="copytrace()" th:text="#{error.copyStack}"></button>
<button type="button" class="btn btn-info" onclick="showHelp()">Help</button> <button type="button" class="btn btn-info" onclick="showHelp()" th:text="#{help}"></button>
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()"> <button type="button" class="close" data-bs-dismiss="alert" aria-label="Close" onclick="dismissError()">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
@@ -20,7 +20,7 @@
<div class="modal-dialog modal-dialog-centered" role="document" id="helpModalDialog"> <div class="modal-dialog modal-dialog-centered" role="document" id="helpModalDialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="helpModalLabel">Help</h5> <h5 class="modal-title" id="helpModalLabel" th:text="#{help}"></h5>
<button type="button" class="close" data-bs-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
@@ -28,17 +28,17 @@
<div class="modal-body"> <div class="modal-body">
<div class="container"> <div class="container">
<div id="support-section"> <div id="support-section">
<h1 class="display-2">Oops!</h1> <h1 class="display-2" th:text="#{oops}"></h1>
<p class="lead">Sorry for the issue!.</p> <p class="lead" th:text="#{error.sorry}"></p>
<br> <br>
<h2>Need help / Found an issue?</h2> <h2 th:text="#{error.needHelp}"></h2>
<p>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:</p> <p th:text="#{error.contactTip}"></p>
<div id="button-group"> <div id="button-group">
<a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank">GitHub - Submit a ticket</a> <a href="https://github.com/Stirling-Tools/Stirling-PDF/issues" id="github-button" target="_blank" th:text="#{error.githubSubmit}"></a>
<a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank">Discord - Submit Support post</a> <a href="https://discord.gg/Cn8pWhQRxZ" id="discord-button" target="_blank" th:text="#{error.discordSubmit}"></a>
</div> </div>
<a href="/" class="home-button">Go to Homepage</a> <a href="/" class="home-button" th:text="#{goHomepage}"></a>
<a data-bs-dismiss="modal" class="home-button">Close</a> <a data-bs-dismiss="modal" class="home-button" th:text="#{close}"></a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -1,15 +1,15 @@
<footer th:fragment="footer" id="footer" class="text-center py-3"> <footer th:fragment="footer" id="footer" class="text-center py-3">
<div class="footer-center"> <div class="footer-center">
<a href="https://github.com/Stirling-Tools/Stirling-PDF" target="_blank" class="mx-1" title="Visit Github Repository"> <a href="https://github.com/Stirling-Tools/Stirling-PDF" target="_blank" class="mx-1" th:title="#{visitGithub}">
<img src="images/github.svg" alt="github"> <img src="images/github.svg" alt="github">
</a> </a>
<a href="https://hub.docker.com/r/frooodle/s-pdf" target="_blank" class="mx-1" title="See Docker Hub"> <a href="https://hub.docker.com/r/frooodle/s-pdf" target="_blank" class="mx-1" th:title="#{seeDockerHub}">
<img src="images/docker.svg" alt="docker"> <img src="images/docker.svg" alt="docker">
</a> </a>
<a href="https://discord.gg/Cn8pWhQRxZ" target="_blank" class="mx-1" title="Join Discord Channel"> <a href="https://discord.gg/Cn8pWhQRxZ" target="_blank" class="mx-1" th:title="#{joinDiscord}">
<img src="images/discord.svg" alt="discord"> <img src="images/discord.svg" alt="discord">
</a> </a>
<a href="https://github.com/sponsors/Frooodle" target="_blank" class="mx-1" title="Donate"> <a href="https://github.com/sponsors/Frooodle" target="_blank" class="mx-1" th:title="#{donate}">
<img src="images/suit-heart-fill.svg" alt="suit-heart-fill"> <img src="images/suit-heart-fill.svg" alt="suit-heart-fill">
</a> </a>
</div> </div>

View File

@@ -192,7 +192,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="d-flex justify-content-between align-items-center mb-3"> <div class="d-flex justify-content-between align-items-center mb-3">
<p class="mb-0" th:utext="#{settings.appVersion} + ' ' + ${@appVersion}"></p> <p class="mb-0" th:utext="#{settings.appVersion} + ' ' + ${@appVersion}"></p>
<a href="https://github.com/sponsors/Frooodle" class="btn btn-sm btn-outline-primary" role="button" target="_blank">Sponsor Stirling-PDF</a> <a href="https://github.com/sponsors/Frooodle" class="btn btn-sm btn-outline-primary" role="button" target="_blank" th:text="#{sponsor}+' Stirling-PDF'"></a>
<a href="swagger-ui/index.html" class="btn btn-sm btn-outline-primary" role="button" target="_blank">API</a> <a href="swagger-ui/index.html" class="btn btn-sm btn-outline-primary" role="button" target="_blank">API</a>
<a href="https://github.com/Stirling-Tools/Stirling-PDF/releases" class="btn btn-sm btn-outline-primary" id="update-btn" th:utext="#{settings.update}" role="button" target="_blank"></a> <a href="https://github.com/Stirling-Tools/Stirling-PDF/releases" class="btn btn-sm btn-outline-primary" id="update-btn" th:utext="#{settings.update}" role="button" target="_blank"></a>
</div> </div>

View File

@@ -79,12 +79,10 @@ main() {
# Building Docker images # Building Docker images
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile . docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile .
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-lite -f ./Dockerfile-lite .
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite . docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite .
# Test each configuration # Test each configuration
run_tests "Stirling-PDF-Ultra-Lite" "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml" run_tests "Stirling-PDF-Ultra-Lite" "./exampleYmlFiles/docker-compose-latest-ultra-lite.yml"
run_tests "Stirling-PDF-Lite" "./exampleYmlFiles/docker-compose-latest-lite.yml"
run_tests "Stirling-PDF" "./exampleYmlFiles/docker-compose-latest.yml" run_tests "Stirling-PDF" "./exampleYmlFiles/docker-compose-latest.yml"
export DOCKER_ENABLE_SECURITY=true export DOCKER_ENABLE_SECURITY=true
@@ -97,12 +95,10 @@ main() {
# Building Docker images with security enabled # Building Docker images with security enabled
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile . docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile .
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-lite -f ./Dockerfile-lite .
docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite . docker build --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite .
# Test each configuration with security # Test each configuration with security
run_tests "Stirling-PDF-Ultra-Lite-Security" "./exampleYmlFiles/docker-compose-latest-ultra-lite-security.yml" run_tests "Stirling-PDF-Ultra-Lite-Security" "./exampleYmlFiles/docker-compose-latest-ultra-lite-security.yml"
run_tests "Stirling-PDF-Lite-Security" "./exampleYmlFiles/docker-compose-latest-lite-security.yml"
run_tests "Stirling-PDF-Security" "./exampleYmlFiles/docker-compose-latest-security.yml" run_tests "Stirling-PDF-Security" "./exampleYmlFiles/docker-compose-latest-security.yml"
# Report results # Report results

View File

@@ -64,9 +64,6 @@ build_and_test() {
full) full)
dockerfile_name="./Dockerfile" dockerfile_name="./Dockerfile"
;; ;;
lite)
dockerfile_name="./Dockerfile-lite"
;;
ultra-lite) ultra-lite)
dockerfile_name="./Dockerfile-ultra-lite" dockerfile_name="./Dockerfile-ultra-lite"
;; ;;