Merge branch 'Stirling-Tools:main' into main
This commit is contained in:
commit
9402109663
50 changed files with 2121 additions and 769 deletions
87
.github/workflows/sync_files.yml
vendored
Normal file
87
.github/workflows/sync_files.yml
vendored
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
name: Sync Files
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "build.gradle"
|
||||||
|
- "src/main/resources/messages_*.properties"
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-versions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.1.1
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5.1.0
|
||||||
|
with:
|
||||||
|
python-version: "3.x"
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install pyyaml
|
||||||
|
- name: Sync versions
|
||||||
|
run: python .github/scripts/gradle_to_chart.py
|
||||||
|
- name: Set up git config
|
||||||
|
run: |
|
||||||
|
git config --global user.email "GitHub Action <action@github.com>"
|
||||||
|
git config --global user.name "GitHub Action <action@github.com>"
|
||||||
|
- name: Run git add
|
||||||
|
run: |
|
||||||
|
git add .
|
||||||
|
git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
|
||||||
|
> Made via sync_files.yml" || echo "no changes"
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@v6.0.1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: Update files
|
||||||
|
committer: GitHub Action <action@github.com>
|
||||||
|
author: GitHub Action <action@github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: sync_version
|
||||||
|
title: ":floppy_disk: Update Version"
|
||||||
|
body: |
|
||||||
|
Auto-generated by [create-pull-request][1]
|
||||||
|
|
||||||
|
[1]: https://github.com/peter-evans/create-pull-request
|
||||||
|
draft: false
|
||||||
|
delete-branch: true
|
||||||
|
sync-readme:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.1.1
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5.1.0
|
||||||
|
with:
|
||||||
|
python-version: "3.x"
|
||||||
|
- name: Sync README
|
||||||
|
run: python scripts/counter_translation.py
|
||||||
|
- name: Set up git config
|
||||||
|
run: |
|
||||||
|
git config --global user.email "GitHub Action <action@github.com>"
|
||||||
|
git config --global user.name "GitHub Action <action@github.com>"
|
||||||
|
- name: Run git add
|
||||||
|
run: |
|
||||||
|
git add .
|
||||||
|
git diff --staged --quiet || git commit -m ":memo: Sync README
|
||||||
|
> Made via sync_files.yml" || echo "no changes"
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@v6.0.1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: Update files
|
||||||
|
committer: GitHub Action <action@github.com>
|
||||||
|
author: GitHub Action <action@github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: sync_readme
|
||||||
|
title: ":memo: Update README: Translation Progress Table"
|
||||||
|
body: |
|
||||||
|
Auto-generated by [create-pull-request][1]
|
||||||
|
|
||||||
|
[1]: https://github.com/peter-evans/create-pull-request
|
||||||
|
draft: false
|
||||||
|
delete-branch: true
|
51
.github/workflows/sync_versions.yml
vendored
51
.github/workflows/sync_versions.yml
vendored
|
@ -1,51 +0,0 @@
|
||||||
name: Sync Versions
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- "build.gradle"
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
pull-requests: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync-versions:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4.1.1
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v5.0.0
|
|
||||||
with:
|
|
||||||
python-version: '3.x'
|
|
||||||
- name: Install dependencies
|
|
||||||
run: pip install pyyaml
|
|
||||||
- name: Sync versions
|
|
||||||
run: python .github/scripts/gradle_to_chart.py
|
|
||||||
- name: Set up git config
|
|
||||||
run: |
|
|
||||||
git config --global user.email "GitHub Action <action@github.com>"
|
|
||||||
git config --global user.name "GitHub Action <action@github.com>"
|
|
||||||
- name: Run git add
|
|
||||||
run: |
|
|
||||||
git add .
|
|
||||||
git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
|
|
||||||
> Made via sync_versions.yml" || echo "no changes"
|
|
||||||
- name: Create Pull Request
|
|
||||||
uses: peter-evans/create-pull-request@v6.0.0
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
commit-message: Update files
|
|
||||||
committer: GitHub Action <action@github.com>
|
|
||||||
author: GitHub Action <action@github.com>
|
|
||||||
signoff: true
|
|
||||||
branch: sync_version
|
|
||||||
title: ":floppy_disk: Update Version"
|
|
||||||
body: |
|
|
||||||
Auto-generated by [create-pull-request][1]
|
|
||||||
|
|
||||||
[1]: https://github.com/peter-evans/create-pull-request
|
|
||||||
draft: false
|
|
||||||
delete-branch: true
|
|
|
@ -57,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
|
||||||
|
|
||||||
|
|
95
README.md
95
README.md
|
@ -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.jpg)
|
![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,9 +98,11 @@ 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 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.
|
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.
|
||||||
|
@ -106,6 +112,7 @@ 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-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 \
|
||||||
|
@ -122,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:
|
||||||
|
@ -143,54 +152,61 @@ 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 27!
|
||||||
- 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) | ![98%](https://geps.dev/progress/98) |
|
||||||
- Traditional Chinese (繁體中文) (zh_TW)
|
| French (Français) (fr_FR) | ![94%](https://geps.dev/progress/94) |
|
||||||
- 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) | ![99%](https://geps.dev/progress/99) |
|
||||||
- Polish (Polski) (pl_PL)
|
| Catalan (Català) (ca_CA) | ![65%](https://geps.dev/progress/65) |
|
||||||
- Romanian (Română) (ro_RO)
|
| Italian (Italiano) (it_IT) | ![98%](https://geps.dev/progress/98) |
|
||||||
- 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) | ![94%](https://geps.dev/progress/94) |
|
||||||
- Japanese (日本語) (ja_JP)
|
| Portuguese Brazilian (Português) (pt_BR) | ![74%](https://geps.dev/progress/74) |
|
||||||
- Dutch (Nederlands) (nl_NL)
|
| Russian (Русский) (ru_RU) | ![94%](https://geps.dev/progress/94) |
|
||||||
- Greek (el_GR)
|
| Basque (Euskara) (eu_ES) | ![76%](https://geps.dev/progress/76) |
|
||||||
- Turkish (Türkçe) (tr_TR)
|
| Japanese (日本語) (ja_JP) | ![94%](https://geps.dev/progress/94) |
|
||||||
- Indonesia (Bahasa Indonesia) (id_ID)
|
| Dutch (Nederlands) (nl_NL) | ![92%](https://geps.dev/progress/92) |
|
||||||
- Hindi (हिंदी) (hi_IN)
|
| Greek (Ελληνικά) (el_GR) | ![92%](https://geps.dev/progress/92) |
|
||||||
- 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) |
|
||||||
|
| Ukrainian (Українська) (uk_UA) | ![98%](https://geps.dev/progress/98) |
|
||||||
|
|
||||||
## 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'
|
||||||
|
@ -199,6 +215,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
|
||||||
|
@ -221,24 +238,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``
|
||||||
|
@ -257,6 +281,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
|
||||||
|
@ -266,7 +291,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;``
|
||||||
|
|
|
@ -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.7'
|
version = '0.22.8'
|
||||||
sourceCompatibility = '17'
|
sourceCompatibility = '17'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|
|
@ -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
|
||||||
|
|
122
scripts/counter_translation.py
Normal file
122
scripts/counter_translation.py
Normal 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))
|
|
@ -56,7 +56,7 @@ public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationF
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isDemoUser(String username) {
|
private boolean isDemoUser(String username) {
|
||||||
Optional<User> user = userService.findByUsername(username);
|
Optional<User> user = userService.findByUsernameIgnoreCase(username);
|
||||||
return user.isPresent()
|
return user.isPresent()
|
||||||
&& user.get().getAuthorities().stream()
|
&& user.get().getAuthorities().stream()
|
||||||
.anyMatch(authority -> "ROLE_DEMO_USER".equals(authority.getAuthority()));
|
.anyMatch(authority -> "ROLE_DEMO_USER".equals(authority.getAuthority()));
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class FirstLoginFilter extends OncePerRequestFilter {
|
||||||
|
|
||||||
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
||||||
if (authentication != null && authentication.isAuthenticated()) {
|
if (authentication != null && authentication.isAuthenticated()) {
|
||||||
Optional<User> user = userService.findByUsername(authentication.getName());
|
Optional<User> user = userService.findByUsernameIgnoreCase(authentication.getName());
|
||||||
if ("GET".equalsIgnoreCase(method)
|
if ("GET".equalsIgnoreCase(method)
|
||||||
&& user.isPresent()
|
&& user.isPresent()
|
||||||
&& user.get().isFirstLogin()
|
&& user.get().isFirstLogin()
|
||||||
|
|
|
@ -38,7 +38,7 @@ public class InitialSecuritySetup {
|
||||||
initialUsername, initialPassword, Role.ADMIN.getRoleId(), true);
|
initialUsername, initialPassword, Role.ADMIN.getRoleId(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!userService.usernameExists(Role.INTERNAL_API_USER.getRoleId())) {
|
if (!userService.usernameExistsIgnoreCase(Role.INTERNAL_API_USER.getRoleId())) {
|
||||||
userService.saveUser(
|
userService.saveUser(
|
||||||
Role.INTERNAL_API_USER.getRoleId(),
|
Role.INTERNAL_API_USER.getRoleId(),
|
||||||
UUID.randomUUID().toString(),
|
UUID.randomUUID().toString(),
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class UserService implements UserServiceInterface {
|
||||||
public User addApiKeyToUser(String username) {
|
public User addApiKeyToUser(String username) {
|
||||||
User user =
|
User user =
|
||||||
userRepository
|
userRepository
|
||||||
.findByUsername(username)
|
.findByUsernameIgnoreCase(username)
|
||||||
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
|
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
|
||||||
|
|
||||||
user.setApiKey(generateApiKey());
|
user.setApiKey(generateApiKey());
|
||||||
|
@ -76,7 +76,7 @@ public class UserService implements UserServiceInterface {
|
||||||
public String getApiKeyForUser(String username) {
|
public String getApiKeyForUser(String username) {
|
||||||
User user =
|
User user =
|
||||||
userRepository
|
userRepository
|
||||||
.findByUsername(username)
|
.findByUsernameIgnoreCase(username)
|
||||||
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
|
.orElseThrow(() -> new UsernameNotFoundException("User not found"));
|
||||||
return user.getApiKey();
|
return user.getApiKey();
|
||||||
}
|
}
|
||||||
|
@ -103,7 +103,7 @@ public class UserService implements UserServiceInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean validateApiKeyForUser(String username, String apiKey) {
|
public boolean validateApiKeyForUser(String username, String apiKey) {
|
||||||
Optional<User> userOpt = userRepository.findByUsername(username);
|
Optional<User> userOpt = userRepository.findByUsernameIgnoreCase(username);
|
||||||
return userOpt.isPresent() && userOpt.get().getApiKey().equals(apiKey);
|
return userOpt.isPresent() && userOpt.get().getApiKey().equals(apiKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ public class UserService implements UserServiceInterface {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deleteUser(String username) {
|
public void deleteUser(String username) {
|
||||||
Optional<User> userOpt = userRepository.findByUsername(username);
|
Optional<User> userOpt = userRepository.findByUsernameIgnoreCase(username);
|
||||||
if (userOpt.isPresent()) {
|
if (userOpt.isPresent()) {
|
||||||
for (Authority authority : userOpt.get().getAuthorities()) {
|
for (Authority authority : userOpt.get().getAuthorities()) {
|
||||||
if (authority.getAuthority().equals(Role.INTERNAL_API_USER.getRoleId())) {
|
if (authority.getAuthority().equals(Role.INTERNAL_API_USER.getRoleId())) {
|
||||||
|
@ -151,12 +151,16 @@ public class UserService implements UserServiceInterface {
|
||||||
return userRepository.findByUsername(username).isPresent();
|
return userRepository.findByUsername(username).isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean usernameExistsIgnoreCase(String username) {
|
||||||
|
return userRepository.findByUsernameIgnoreCase(username).isPresent();
|
||||||
|
}
|
||||||
|
|
||||||
public boolean hasUsers() {
|
public boolean hasUsers() {
|
||||||
return userRepository.count() > 0;
|
return userRepository.count() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateUserSettings(String username, Map<String, String> updates) {
|
public void updateUserSettings(String username, Map<String, String> updates) {
|
||||||
Optional<User> userOpt = userRepository.findByUsername(username);
|
Optional<User> userOpt = userRepository.findByUsernameIgnoreCase(username);
|
||||||
if (userOpt.isPresent()) {
|
if (userOpt.isPresent()) {
|
||||||
User user = userOpt.get();
|
User user = userOpt.get();
|
||||||
Map<String, String> settingsMap = user.getSettings();
|
Map<String, String> settingsMap = user.getSettings();
|
||||||
|
|
|
@ -27,7 +27,9 @@ import io.github.pixee.security.Filenames;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.model.PdfMetadata;
|
||||||
import stirling.software.SPDF.model.api.PDFWithPageNums;
|
import stirling.software.SPDF.model.api.PDFWithPageNums;
|
||||||
|
import stirling.software.SPDF.utils.PdfUtils;
|
||||||
import stirling.software.SPDF.utils.WebResponseUtils;
|
import stirling.software.SPDF.utils.WebResponseUtils;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -49,6 +51,7 @@ public class SplitPDFController {
|
||||||
// open the pdf document
|
// open the pdf document
|
||||||
|
|
||||||
PDDocument document = Loader.loadPDF(file.getBytes());
|
PDDocument document = Loader.loadPDF(file.getBytes());
|
||||||
|
PdfMetadata metadata = PdfUtils.extractMetadataFromPdf(document);
|
||||||
int totalPages = document.getNumberOfPages();
|
int totalPages = document.getNumberOfPages();
|
||||||
List<Integer> pageNumbers = request.getPageNumbersList(document, false);
|
List<Integer> pageNumbers = request.getPageNumbersList(document, false);
|
||||||
System.out.println(
|
System.out.println(
|
||||||
|
@ -75,6 +78,9 @@ public class SplitPDFController {
|
||||||
}
|
}
|
||||||
previousPageNumber = splitPoint + 1;
|
previousPageNumber = splitPoint + 1;
|
||||||
|
|
||||||
|
// Transfer metadata to split pdf
|
||||||
|
PdfUtils.setMetadataToPdf(splitDocument, metadata);
|
||||||
|
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
splitDocument.save(baos);
|
splitDocument.save(baos);
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ public class UserController {
|
||||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||||
@PostMapping("/register")
|
@PostMapping("/register")
|
||||||
public String register(@ModelAttribute UsernameAndPass requestModel, Model model) {
|
public String register(@ModelAttribute UsernameAndPass requestModel, Model model) {
|
||||||
if (userService.usernameExists(requestModel.getUsername())) {
|
if (userService.usernameExistsIgnoreCase(requestModel.getUsername())) {
|
||||||
model.addAttribute("error", "Username already exists");
|
model.addAttribute("error", "Username already exists");
|
||||||
return "register";
|
return "register";
|
||||||
}
|
}
|
||||||
|
@ -70,7 +70,8 @@ public class UserController {
|
||||||
return new RedirectView("/account?messageType=notAuthenticated");
|
return new RedirectView("/account?messageType=notAuthenticated");
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName());
|
// The username MUST be unique when renaming
|
||||||
|
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
||||||
|
|
||||||
if (userOpt == null || userOpt.isEmpty()) {
|
if (userOpt == null || userOpt.isEmpty()) {
|
||||||
return new RedirectView("/account?messageType=userNotFound");
|
return new RedirectView("/account?messageType=userNotFound");
|
||||||
|
@ -113,7 +114,7 @@ public class UserController {
|
||||||
return new RedirectView("/change-creds?messageType=notAuthenticated");
|
return new RedirectView("/change-creds?messageType=notAuthenticated");
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName());
|
||||||
|
|
||||||
if (userOpt == null || userOpt.isEmpty()) {
|
if (userOpt == null || userOpt.isEmpty()) {
|
||||||
return new RedirectView("/change-creds?messageType=userNotFound");
|
return new RedirectView("/change-creds?messageType=userNotFound");
|
||||||
|
@ -146,7 +147,7 @@ public class UserController {
|
||||||
return new RedirectView("/account?messageType=notAuthenticated");
|
return new RedirectView("/account?messageType=notAuthenticated");
|
||||||
}
|
}
|
||||||
|
|
||||||
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName());
|
||||||
|
|
||||||
if (userOpt == null || userOpt.isEmpty()) {
|
if (userOpt == null || userOpt.isEmpty()) {
|
||||||
return new RedirectView("/account?messageType=userNotFound");
|
return new RedirectView("/account?messageType=userNotFound");
|
||||||
|
@ -207,7 +208,7 @@ public class UserController {
|
||||||
return new RedirectView("/addUsers?messageType=usernameExists");
|
return new RedirectView("/addUsers?messageType=usernameExists");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (userService.usernameExists(username)) {
|
if (userService.usernameExistsIgnoreCase(username)) {
|
||||||
return new RedirectView("/addUsers?messageType=usernameExists");
|
return new RedirectView("/addUsers?messageType=usernameExists");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
@ -231,7 +232,7 @@ public class UserController {
|
||||||
public RedirectView deleteUser(
|
public RedirectView deleteUser(
|
||||||
@PathVariable(name = "username") String username, Authentication authentication) {
|
@PathVariable(name = "username") String username, Authentication authentication) {
|
||||||
|
|
||||||
if (!userService.usernameExists(username)) {
|
if (!userService.usernameExistsIgnoreCase(username)) {
|
||||||
return new RedirectView("/addUsers?messageType=deleteUsernameExists");
|
return new RedirectView("/addUsers?messageType=deleteUsernameExists");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,7 +240,7 @@ public class UserController {
|
||||||
String currentUsername = authentication.getName();
|
String currentUsername = authentication.getName();
|
||||||
|
|
||||||
// Check if the provided username matches the current session's username
|
// Check if the provided username matches the current session's username
|
||||||
if (currentUsername.equals(username)) {
|
if (currentUsername.equalsIgnoreCase(username)) {
|
||||||
return new RedirectView("/addUsers?messageType=deleteCurrentUser");
|
return new RedirectView("/addUsers?messageType=deleteCurrentUser");
|
||||||
}
|
}
|
||||||
invalidateUserSessions(username);
|
invalidateUserSessions(username);
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package stirling.software.SPDF.controller.api.converters;
|
||||||
|
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.model.api.PDFFile;
|
||||||
|
import stirling.software.SPDF.utils.PDFToFile;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@Tag(name = "Convert", description = "Convert APIs")
|
||||||
|
@RequestMapping("/api/v1/convert")
|
||||||
|
public class ConvertPDFToHtml {
|
||||||
|
|
||||||
|
@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.processPdfToHtml(inputFile);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
|
|
@ -95,7 +95,7 @@ public class AccountWebController {
|
||||||
|
|
||||||
// Fetch user details from the database
|
// Fetch user details from the database
|
||||||
Optional<User> user =
|
Optional<User> user =
|
||||||
userRepository.findByUsername(
|
userRepository.findByUsernameIgnoreCase(
|
||||||
username); // Assuming findByUsername method exists
|
username); // Assuming findByUsername method exists
|
||||||
if (!user.isPresent()) {
|
if (!user.isPresent()) {
|
||||||
// Handle error appropriately
|
// Handle error appropriately
|
||||||
|
@ -145,7 +145,7 @@ public class AccountWebController {
|
||||||
|
|
||||||
// Fetch user details from the database
|
// Fetch user details from the database
|
||||||
Optional<User> user =
|
Optional<User> user =
|
||||||
userRepository.findByUsername(
|
userRepository.findByUsernameIgnoreCase(
|
||||||
username); // Assuming findByUsername method exists
|
username); // Assuming findByUsername method exists
|
||||||
if (!user.isPresent()) {
|
if (!user.isPresent()) {
|
||||||
// Handle error appropriately
|
// Handle error appropriately
|
||||||
|
|
19
src/main/java/stirling/software/SPDF/model/PdfMetadata.java
Normal file
19
src/main/java/stirling/software/SPDF/model/PdfMetadata.java
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
package stirling.software.SPDF.model;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
public class PdfMetadata {
|
||||||
|
private String author;
|
||||||
|
private String producer;
|
||||||
|
private String title;
|
||||||
|
private String creator;
|
||||||
|
private String subject;
|
||||||
|
private String keywords;
|
||||||
|
private Calendar creationDate;
|
||||||
|
private Calendar modificationDate;
|
||||||
|
}
|
|
@ -88,6 +88,7 @@ public class GeneralUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
sizeStr = sizeStr.trim().toUpperCase();
|
sizeStr = sizeStr.trim().toUpperCase();
|
||||||
|
sizeStr = sizeStr.replace(",", ".").replace(" ", "");
|
||||||
try {
|
try {
|
||||||
if (sizeStr.endsWith("KB")) {
|
if (sizeStr.endsWith("KB")) {
|
||||||
return (long)
|
return (long)
|
||||||
|
@ -185,7 +186,7 @@ public class GeneralUtils {
|
||||||
// Insert multiplication between a number and 'n' (e.g., "4n" becomes "4*n")
|
// Insert multiplication between a number and 'n' (e.g., "4n" becomes "4*n")
|
||||||
String withMultiplication = expression.replaceAll("(\\d)n", "$1*n");
|
String withMultiplication = expression.replaceAll("(\\d)n", "$1*n");
|
||||||
// Now replace 'n' with its current value
|
// Now replace 'n' with its current value
|
||||||
return withMultiplication.replaceAll("n", String.valueOf(nValue));
|
return withMultiplication.replace("n", String.valueOf(nValue));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<Integer> handlePart(String part, int totalPages, int offset) {
|
private static List<Integer> handlePart(String part, int totalPages, int offset) {
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.awt.image.RenderedImage;
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Calendar;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
@ -19,11 +20,8 @@ import javax.imageio.stream.ImageOutputStream;
|
||||||
|
|
||||||
import org.apache.pdfbox.Loader;
|
import org.apache.pdfbox.Loader;
|
||||||
import org.apache.pdfbox.cos.COSName;
|
import org.apache.pdfbox.cos.COSName;
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.*;
|
||||||
import org.apache.pdfbox.pdmodel.PDPage;
|
|
||||||
import org.apache.pdfbox.pdmodel.PDPageContentStream;
|
|
||||||
import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
|
import org.apache.pdfbox.pdmodel.PDPageContentStream.AppendMode;
|
||||||
import org.apache.pdfbox.pdmodel.PDResources;
|
|
||||||
import org.apache.pdfbox.pdmodel.common.PDRectangle;
|
import org.apache.pdfbox.pdmodel.common.PDRectangle;
|
||||||
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
|
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
|
||||||
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
|
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
|
||||||
|
@ -39,6 +37,8 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import io.github.pixee.security.Filenames;
|
import io.github.pixee.security.Filenames;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.model.PdfMetadata;
|
||||||
|
|
||||||
public class PdfUtils {
|
public class PdfUtils {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(PdfUtils.class);
|
private static final Logger logger = LoggerFactory.getLogger(PdfUtils.class);
|
||||||
|
@ -421,4 +421,28 @@ public class PdfUtils {
|
||||||
logger.info("PDF successfully saved to byte array");
|
logger.info("PDF successfully saved to byte array");
|
||||||
return baos.toByteArray();
|
return baos.toByteArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static PdfMetadata extractMetadataFromPdf(PDDocument pdf) {
|
||||||
|
return PdfMetadata.builder()
|
||||||
|
.author(pdf.getDocumentInformation().getAuthor())
|
||||||
|
.producer(pdf.getDocumentInformation().getProducer())
|
||||||
|
.title(pdf.getDocumentInformation().getTitle())
|
||||||
|
.creator(pdf.getDocumentInformation().getCreator())
|
||||||
|
.subject(pdf.getDocumentInformation().getSubject())
|
||||||
|
.keywords(pdf.getDocumentInformation().getKeywords())
|
||||||
|
.creationDate(pdf.getDocumentInformation().getCreationDate())
|
||||||
|
.modificationDate(pdf.getDocumentInformation().getModificationDate())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void setMetadataToPdf(PDDocument pdf, PdfMetadata pdfMetadata) {
|
||||||
|
pdf.getDocumentInformation().setAuthor(pdfMetadata.getAuthor());
|
||||||
|
pdf.getDocumentInformation().setProducer(pdfMetadata.getProducer());
|
||||||
|
pdf.getDocumentInformation().setTitle(pdfMetadata.getTitle());
|
||||||
|
pdf.getDocumentInformation().setCreator(pdfMetadata.getCreator());
|
||||||
|
pdf.getDocumentInformation().setSubject(pdfMetadata.getSubject());
|
||||||
|
pdf.getDocumentInformation().setKeywords(pdfMetadata.getKeywords());
|
||||||
|
pdf.getDocumentInformation().setCreationDate(pdfMetadata.getCreationDate());
|
||||||
|
pdf.getDocumentInformation().setModificationDate(Calendar.getInstance());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=Разделяне
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -57,15 +57,16 @@ 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
|
error=Fehler
|
||||||
oops=Oops!
|
oops=Hoppla!
|
||||||
help=Help
|
help=Hilfe
|
||||||
goHomepage=Go to Homepage
|
goHomepage=Zur Startseite gehen
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Unserem Discord-Server beitreten
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Docker Hub ansehen
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=GitHub-Repository besuchen
|
||||||
donate=Donate
|
donate=Spenden
|
||||||
color=Color
|
color=Farbe
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,8 +78,8 @@ pipeline.uploadButton=Benutzerdefinierter Upload
|
||||||
pipeline.configureButton=Konfigurieren
|
pipeline.configureButton=Konfigurieren
|
||||||
pipeline.defaultOption=Benutzerdefiniert
|
pipeline.defaultOption=Benutzerdefiniert
|
||||||
pipeline.submitButton=Speichern
|
pipeline.submitButton=Speichern
|
||||||
pipeline.help=Pipeline Help
|
pipeline.help=Hilfe für Pipeline
|
||||||
pipeline.scanHelp=Folder Scanning Help
|
pipeline.scanHelp=Hilfe zum Ordnerscan
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
|
@ -373,17 +374,17 @@ getPdfInfo.tags=infomation,daten,statistik
|
||||||
|
|
||||||
home.extractPage.title=Seite(n) extrahieren
|
home.extractPage.title=Seite(n) extrahieren
|
||||||
home.extractPage.desc=Extrahiert ausgewählte Seiten aus einer PDF
|
home.extractPage.desc=Extrahiert ausgewählte Seiten aus einer PDF
|
||||||
extractPage.tags=extrahieren
|
extractPage.tags=extrahieren,seite
|
||||||
|
|
||||||
|
|
||||||
home.PdfToSinglePage.title=PDF zu einer Seite zusammenfassen
|
home.PdfToSinglePage.title=PDF zu einer Seite zusammenfassen
|
||||||
home.PdfToSinglePage.desc=Fügt alle PDF-Seiten zu einer einzigen großen Seite zusammen
|
home.PdfToSinglePage.desc=Fügt alle PDF-Seiten zu einer einzigen großen Seite zusammen
|
||||||
PdfToSinglePage.tags=einzelseite
|
PdfToSinglePage.tags=einzelseite,zusammenfassen
|
||||||
|
|
||||||
|
|
||||||
home.showJS.title=Javascript anzeigen
|
home.showJS.title=Javascript anzeigen
|
||||||
home.showJS.desc=Alle Javascript Funktionen in einer PDF anzeigen
|
home.showJS.desc=Alle Javascript Funktionen in einer PDF anzeigen
|
||||||
showJS.tags=js
|
showJS.tags=js,javascript
|
||||||
|
|
||||||
home.autoRedact.title=Automatisch zensieren/schwärzen
|
home.autoRedact.title=Automatisch zensieren/schwärzen
|
||||||
home.autoRedact.desc=Automatisches Zensieren (Schwärzen) von Text in einer PDF-Datei basierend auf dem eingegebenen Text
|
home.autoRedact.desc=Automatisches Zensieren (Schwärzen) von Text in einer PDF-Datei basierend auf dem eingegebenen Text
|
||||||
|
@ -391,7 +392,7 @@ autoRedact.tags=zensieren,schwärzen
|
||||||
|
|
||||||
home.tableExtraxt.title=Tabelle extrahieren
|
home.tableExtraxt.title=Tabelle extrahieren
|
||||||
home.tableExtraxt.desc=Tabelle aus PDF in CSV extrahieren
|
home.tableExtraxt.desc=Tabelle aus PDF in CSV extrahieren
|
||||||
tableExtraxt.tags=CSV
|
tableExtraxt.tags=CSV,tabelle,extrahieren
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=Teilen nach Größe/Anzahl
|
home.autoSizeSplitPDF.title=Teilen nach Größe/Anzahl
|
||||||
|
@ -414,11 +415,11 @@ AddStampRequest.tags=stempeln,bild hinzufügen,bild zentrieren,wasserzeichen,pdf
|
||||||
|
|
||||||
home.PDFToBook.title=PDF zum Buch
|
home.PDFToBook.title=PDF zum Buch
|
||||||
home.PDFToBook.desc=Konvertiert PDF mit Calibre in Buch-/Comic-Formate
|
home.PDFToBook.desc=Konvertiert PDF mit Calibre in Buch-/Comic-Formate
|
||||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
PDFToBook.tags=buch,comic,calibre,convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.BookToPDF.title=Buch als PDF
|
home.BookToPDF.title=Buch als PDF
|
||||||
home.BookToPDF.desc=Konvertiert Buch-/Comic-Formate mithilfe von Calibre in PDF
|
home.BookToPDF.desc=Konvertiert Buch-/Comic-Formate mithilfe von Calibre in PDF
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=buch,comic,calibre,convert,manga,amazon,kindle
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
|
@ -466,7 +467,7 @@ pdfToSinglePage.submit=Zusammenfassen
|
||||||
pageExtracter.title=Seiten extrahieren
|
pageExtracter.title=Seiten extrahieren
|
||||||
pageExtracter.header=Seiten extrahieren
|
pageExtracter.header=Seiten extrahieren
|
||||||
pageExtracter.submit=Extrahieren
|
pageExtracter.submit=Extrahieren
|
||||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
pageExtracter.placeholder=(z.B. 1,2,8 oder 4,7,12-16 oder 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
|
@ -769,23 +770,23 @@ merge.submit=Zusammenführen
|
||||||
pdfOrganiser.title=Seiten anordnen
|
pdfOrganiser.title=Seiten anordnen
|
||||||
pdfOrganiser.header=PDF Seitenorganisation
|
pdfOrganiser.header=PDF Seitenorganisation
|
||||||
pdfOrganiser.submit=Seiten anordnen
|
pdfOrganiser.submit=Seiten anordnen
|
||||||
pdfOrganiser.mode=Mode
|
pdfOrganiser.mode=Modus
|
||||||
pdfOrganiser.mode.1=Custom Page Order
|
pdfOrganiser.mode.1=Benutzerdefinierte Seitenreihenfolge
|
||||||
pdfOrganiser.mode.2=Reverse Order
|
pdfOrganiser.mode.2=Umgekehrte Reihenfolge
|
||||||
pdfOrganiser.mode.3=Duplex Sort
|
pdfOrganiser.mode.3=Duplex-Sortierung
|
||||||
pdfOrganiser.mode.4=Booklet Sort
|
pdfOrganiser.mode.4=Heftsortierung
|
||||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
pdfOrganiser.mode.5=Seitenheftungs-Heftsortierung
|
||||||
pdfOrganiser.mode.6=Odd-Even Split
|
pdfOrganiser.mode.6=Ungerade-Gerade-Teilung
|
||||||
pdfOrganiser.mode.7=Remove First
|
pdfOrganiser.mode.7=Erste entfernen
|
||||||
pdfOrganiser.mode.8=Remove Last
|
pdfOrganiser.mode.8=Letzte entfernen
|
||||||
pdfOrganiser.mode.9=Remove First and Last
|
pdfOrganiser.mode.9=Erste und letzte entfernen
|
||||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
pdfOrganiser.placeholder=(z.B. 1,3,2 oder 4-8,2,10-12 oder 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=PDF-Multitool
|
multiTool.title=PDF-Multitool
|
||||||
multiTool.header=PDF-Multitool
|
multiTool.header=PDF-Multitool
|
||||||
multiTool.uploadPrompts=Please Upload PDF
|
multiTool.uploadPrompts=Bitte PDF hochladen
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF anzeigen
|
viewPdf.title=PDF anzeigen
|
||||||
|
@ -796,7 +797,7 @@ pageRemover.title=Seiten entfernen
|
||||||
pageRemover.header=PDF Seiten entfernen
|
pageRemover.header=PDF Seiten entfernen
|
||||||
pageRemover.pagesToDelete=Seiten zu entfernen (geben Sie eine Kommagetrennte Liste der Seitenzahlen an):
|
pageRemover.pagesToDelete=Seiten zu entfernen (geben Sie eine Kommagetrennte Liste der Seitenzahlen an):
|
||||||
pageRemover.submit=Seiten löschen
|
pageRemover.submit=Seiten löschen
|
||||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
pageRemover.placeholder=(z.B. 1,2,6 oder 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
@ -885,7 +886,7 @@ watermark.selectText.8=Wasserzeichen Typ:
|
||||||
watermark.selectText.9=Wasserzeichen-Bild:
|
watermark.selectText.9=Wasserzeichen-Bild:
|
||||||
watermark.submit=Wasserzeichen hinzufügen
|
watermark.submit=Wasserzeichen hinzufügen
|
||||||
watermark.type.1=Text
|
watermark.type.1=Text
|
||||||
watermark.type.2=Image
|
watermark.type.2=Bild
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=Lizenz
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=Entschuldigung für das Problem!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=Brauchst du Hilfe / Ein Problem gefunden?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=Wenn du weiterhin Probleme hast, zögere nicht, uns um Hilfe zu bitten. Du kannst ein Ticket auf unserer GitHub-Seite einreichen oder uns über Discord kontaktieren:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - Seite nicht gefunden | Ups, wir sind im Code gestolpert!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=Wir können die gesuchte Seite nicht finden.
|
||||||
error.404.2=Something went wrong
|
error.404.2=Etwas ist schiefgelaufen
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=Ein Ticket auf GitHub einreichen
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=Stack-Trace anzeigen
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=Stack-Trace kopieren
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - Ein Ticket einreichen
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - Unterstützungsbeitrag einreichen
|
||||||
|
|
||||||
|
|
|
@ -10,18 +10,18 @@ multiPdfDropPrompt=Επιλογή (ή τράβηγμα αρχείου και α
|
||||||
imgPrompt=Επιλογή Εικόνας(Εικόνων)
|
imgPrompt=Επιλογή Εικόνας(Εικόνων)
|
||||||
genericSubmit=Υποβολή
|
genericSubmit=Υποβολή
|
||||||
processTimeWarning=Προσοχή: Αυτή η διαδικασία μπορεί να διαρκέσει έως και ένα λεπτό ανάλογα με το μέγεθος του αρχείου
|
processTimeWarning=Προσοχή: Αυτή η διαδικασία μπορεί να διαρκέσει έως και ένα λεπτό ανάλογα με το μέγεθος του αρχείου
|
||||||
pageOrderPrompt=Προσαρμοσμένη Σειρά Σελίδας (Προσθέστε μία λίστε απο αριθμούς σελιδών, χωρισμένες με κόμμα ή συναρτήσεις όπως 2n+1) :
|
pageOrderPrompt=Προσαρμοσμένη Σειρά Σελίδας (Προσθέστε μία λίστα απο αριθμούς σελιδών, χωρισμένες με κόμμα ή συναρτήσεις όπως 2n+1) :
|
||||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
pageSelectionPrompt=Προσαρμοσμένη Επιλογή Σελίδας (Προσθέστε μία λίστα απο αριθμούς σελιδών, χωρισμένες με κόμμα 1,5,6 ή συναρτήσεις όπως 2n+1):
|
||||||
goToPage=Go
|
goToPage=Πήγαινε
|
||||||
true=Αληθές
|
true=Αληθές
|
||||||
false=Λανθασμένο
|
false=Λανθασμένο
|
||||||
unknown=Άγνωστο
|
unknown=Άγνωστο
|
||||||
save=Αποθήκευση
|
save=Αποθήκευση
|
||||||
saveToBrowser=Save to Browser
|
saveToBrowser=Αποθήκευση στο Browser
|
||||||
close=Κλείσιμο
|
close=Κλείσιμο
|
||||||
filesSelected=αρχεία που επιλέχθηκαν
|
filesSelected=αρχεία που επιλέχθηκαν
|
||||||
noFavourites=Κανένα αγαπήμενο δεν έχει προστεθεί
|
noFavourites=Κανένα αγαπήμενο δεν έχει προστεθεί
|
||||||
downloadComplete=Download Complete
|
downloadComplete=Η Λήψη Ολοκληρώθηκε
|
||||||
bored=Βαριέστε να περιμένετε;
|
bored=Βαριέστε να περιμένετε;
|
||||||
alphabet=Αλφάβητο
|
alphabet=Αλφάβητο
|
||||||
downloadPdf=Κατέβασμα του PDF
|
downloadPdf=Κατέβασμα του PDF
|
||||||
|
@ -45,53 +45,54 @@ red=Κόκκινο
|
||||||
green=Πράσινο
|
green=Πράσινο
|
||||||
blue=Μπλέ
|
blue=Μπλέ
|
||||||
custom=Προσαρμογή...
|
custom=Προσαρμογή...
|
||||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
WorkInProgess=Εργασία σε εξέλιξη, Ενδέχεται να μην λειτουργεί ή να έχει λάθη, Παρακαλώ αναφέρετε τυχόν προβλήματα!
|
||||||
poweredBy=Powered by
|
poweredBy=Τροφοδοτείται από
|
||||||
yes=Yes
|
yes=Ναι
|
||||||
no=No
|
no=Όχι
|
||||||
changedCredsMessage=Τα διαπιστευτήρια έχουν αλλάξει!
|
changedCredsMessage=Τα διαπιστευτήρια έχουν αλλάξει!
|
||||||
notAuthenticatedMessage=Ο χρήστης δεν έχει αυθεντικοποιηθεί.
|
notAuthenticatedMessage=Ο χρήστης δεν έχει αυθεντικοποιηθεί.
|
||||||
userNotFoundMessage=Ο χρήστης δεν βρέθηκε.
|
userNotFoundMessage=Ο χρήστης δεν βρέθηκε.
|
||||||
incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.
|
incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.
|
||||||
usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
|
usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
|
||||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
invalidUsernameMessage=Μη έγκυρο όνομα χρήστη, το όνομα χρήστη πρέπει να περιέχει μόνο αλφαβητικούς χαρακτήρες και αριθμούς.
|
||||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
deleteCurrentUserMessage=Δεν είναι δυνατή η διαγραφή του τρέχοντος συνδεδεμένου χρήστη.
|
||||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
deleteUsernameExistsMessage=Το όνομα χρήστη δεν υπάρχει και δεν μπορεί να διαγραφεί.
|
||||||
error=Error
|
error=Σφάλμα
|
||||||
oops=Oops!
|
oops=Ωχ!
|
||||||
help=Help
|
help=Βοήθεια
|
||||||
goHomepage=Go to Homepage
|
goHomepage=Πήγαινε στην Αρχική Σελίδα
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Εγγραφείτε στο Server του Discord μας
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Βλέπε το Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Επισκεφθείτε το Αποθετήριο του Github
|
||||||
donate=Donate
|
donate=Δωρισε
|
||||||
color=Color
|
color=Χρώμα
|
||||||
|
sponsor=Yποστηρικτής
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
###############
|
###############
|
||||||
pipeline.header=Pipeline Menu (Beta)
|
pipeline.header=Μενού Pipeline (Beta)
|
||||||
pipeline.uploadButton=Upload Custom
|
pipeline.uploadButton=Upload Custom
|
||||||
pipeline.configureButton=Configure
|
pipeline.configureButton=Διαμόρφωσε
|
||||||
pipeline.defaultOption=Custom
|
pipeline.defaultOption=Custom
|
||||||
pipeline.submitButton=Submit
|
pipeline.submitButton=Υποβολή
|
||||||
pipeline.help=Pipeline Help
|
pipeline.help=Βοήθεια για το Pipeline
|
||||||
pipeline.scanHelp=Folder Scanning Help
|
pipeline.scanHelp=Βοήθεια για Σάρωση Φακέλων
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
######################
|
######################
|
||||||
pipelineOptions.header=Pipeline Configuration
|
pipelineOptions.header=Διαμόρφωση Pipeline
|
||||||
pipelineOptions.pipelineNameLabel=Pipeline Name
|
pipelineOptions.pipelineNameLabel=Όνομα Pipeline
|
||||||
pipelineOptions.saveSettings=Save Operation Settings
|
pipelineOptions.saveSettings=Αποθήκευση Ρυθμίσεων Λειτουργίας
|
||||||
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
pipelineOptions.pipelineNamePrompt=Εισαγάγετε το όνομα του pipeline εδώ
|
||||||
pipelineOptions.selectOperation=Select Operation
|
pipelineOptions.selectOperation=Επιλέξτε Λειτουργία
|
||||||
pipelineOptions.addOperationButton=Add operation
|
pipelineOptions.addOperationButton=Προσθήκη λειτουργίας
|
||||||
pipelineOptions.pipelineHeader=Pipeline:
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=Download
|
pipelineOptions.saveButton=Λήψη
|
||||||
pipelineOptions.validateButton=Validate
|
pipelineOptions.validateButton=Επικυρώνω
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -111,12 +112,12 @@ navbar.settings=Ρυθμίσεις
|
||||||
#############
|
#############
|
||||||
settings.title=Ρυθμίσεις
|
settings.title=Ρυθμίσεις
|
||||||
settings.update=Υπάρχει διαθέσιμη ενημέρωση
|
settings.update=Υπάρχει διαθέσιμη ενημέρωση
|
||||||
settings.appVersion=Έκδοση εφαρμογής: App Version:
|
settings.appVersion=Έκδοση εφαρμογής:
|
||||||
settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip):
|
settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip):
|
||||||
settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο
|
settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο
|
||||||
settings.downloadOption.2=Άνοιγμα σε νέο παράθυρο
|
settings.downloadOption.2=Άνοιγμα σε νέο παράθυρο
|
||||||
settings.downloadOption.3=Λήψη αρχείου
|
settings.downloadOption.3=Λήψη αρχείου
|
||||||
settings.zipThreshold=Zip αρχεία όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος
|
settings.zipThreshold=Αρχεία Zip όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος
|
||||||
settings.signOut=Αποσύνδεση
|
settings.signOut=Αποσύνδεση
|
||||||
settings.accountSettings=Ρυθμίσεις Λογαριασμού
|
settings.accountSettings=Ρυθμίσεις Λογαριασμού
|
||||||
|
|
||||||
|
@ -124,7 +125,7 @@ settings.accountSettings=Ρυθμίσεις Λογαριασμού
|
||||||
|
|
||||||
changeCreds.title=Αλλαγή Διαπιστευτηρίων
|
changeCreds.title=Αλλαγή Διαπιστευτηρίων
|
||||||
changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας
|
changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας
|
||||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
changeCreds.changePassword=Χρησιμοποιείτε προεπιλεγμένα διαπιστευτήρια σύνδεσης. Εισαγάγετε έναν νέο κωδικό πρόσβασης
|
||||||
changeCreds.newUsername=Νέο Όνομα Χρήστη
|
changeCreds.newUsername=Νέο Όνομα Χρήστη
|
||||||
changeCreds.oldPassword=Τρέχων Κωδικός Πρόσβασης
|
changeCreds.oldPassword=Τρέχων Κωδικός Πρόσβασης
|
||||||
changeCreds.newPassword=Νέος Κωδικός Πρόσβασης
|
changeCreds.newPassword=Νέος Κωδικός Πρόσβασης
|
||||||
|
@ -164,10 +165,10 @@ adminUserSettings.roles=Ρόλοι
|
||||||
adminUserSettings.role=Ρόλος
|
adminUserSettings.role=Ρόλος
|
||||||
adminUserSettings.actions=Ενέργειες
|
adminUserSettings.actions=Ενέργειες
|
||||||
adminUserSettings.apiUser=Περιορισμένος Χρήστης για διεπαφή προγραμματισμού εφαρμογών (API User)
|
adminUserSettings.apiUser=Περιορισμένος Χρήστης για διεπαφή προγραμματισμού εφαρμογών (API User)
|
||||||
adminUserSettings.extraApiUser=Additional Limited API User
|
adminUserSettings.extraApiUser=Πρόσθετος Περιορισμένος Χρήστης για Διεπαφή Προγραμματισμού Εφαρμογών (API User)
|
||||||
adminUserSettings.webOnlyUser=Χρήστης μόνο Ιστού
|
adminUserSettings.webOnlyUser=Χρήστης μόνο Ιστού
|
||||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
adminUserSettings.demoUser=Demo χρήστης (Χωρίς προσαρμοσμένες ρυθμίσεις)
|
||||||
adminUserSettings.internalApiUser=Internal API User
|
adminUserSettings.internalApiUser=Εσωτερικός API χρήστης
|
||||||
adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση
|
adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση
|
||||||
adminUserSettings.submit=Αποθήκευση Χρήστη
|
adminUserSettings.submit=Αποθήκευση Χρήστη
|
||||||
|
|
||||||
|
@ -175,7 +176,7 @@ adminUserSettings.submit=Αποθήκευση Χρήστη
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
#############
|
#############
|
||||||
home.desc=Η τοπικά φιλοξενούμενη one-stop-shop σας για όλες τις ανάγκες σας σε PDF.
|
home.desc=Η τοπικά φιλοξενούμενη one-stop-shop σας για όλες τις ανάγκες σας σε PDF.
|
||||||
home.searchBar=Search for features...
|
home.searchBar=Αναζήτηση για χαρακτηριστικά...
|
||||||
|
|
||||||
|
|
||||||
home.viewPdf.title=Εμφάνιση PDF
|
home.viewPdf.title=Εμφάνιση PDF
|
||||||
|
@ -196,7 +197,7 @@ split.tags=Page operations,divide,Multi Page,cut,server side
|
||||||
|
|
||||||
home.rotate.title=Περιστροφή
|
home.rotate.title=Περιστροφή
|
||||||
home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο.
|
home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο.
|
||||||
rotate.tags=server side
|
rotate.tags=από την πλευρά του server
|
||||||
|
|
||||||
|
|
||||||
home.imageToPdf.title=Εικόνα σε PDF
|
home.imageToPdf.title=Εικόνα σε PDF
|
||||||
|
@ -389,35 +390,35 @@ home.autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
|
||||||
home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής
|
home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής
|
||||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF to CSV
|
home.tableExtraxt.title=PDF σε CSV
|
||||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
home.tableExtraxt.desc=Εξάγει πίνακες από PDF μετατρέποντάς το σε CSV
|
||||||
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=Auto Split by Size/Count
|
home.autoSizeSplitPDF.title=Αυτόματη διαίρεση κατά μέγεθος/πλήθος
|
||||||
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count
|
home.autoSizeSplitPDF.desc=Διαχωρίστε ένα μόνο PDF σε πολλά έγγραφα με βάση το μέγεθος, τον αριθμό σελίδων ή τον αριθμό εγγράφων
|
||||||
autoSizeSplitPDF.tags=pdf,split,document,organization
|
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=Overlay PDFs
|
home.overlay-pdfs.title=Επικάλυψη PDFs
|
||||||
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF
|
home.overlay-pdfs.desc=Επικαλύπτει αρχεία PDF πάνω σε άλλο PDF
|
||||||
overlay-pdfs.tags=Overlay
|
overlay-pdfs.tags=Overlay
|
||||||
|
|
||||||
home.split-by-sections.title=Split PDF by Sections
|
home.split-by-sections.title=Διαχωρισμός PDF ανά ενότητες
|
||||||
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections
|
home.split-by-sections.desc=Διαχωρίστε κάθε σελίδα ενός PDF σε μικρότερες οριζόντιες και κάθετες ενότητες
|
||||||
split-by-sections.tags=Section Split, Divide, Customize
|
split-by-sections.tags=Section Split, Divide, Customize
|
||||||
|
|
||||||
home.AddStampRequest.title=Add Stamp to PDF
|
home.AddStampRequest.title=Προσθήκη σφραγίδας σε PDF
|
||||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
home.AddStampRequest.desc=Προσθέστε κείμενο ή προσθέστε σφραγίδες εικόνας σε καθορισμένες τοποθεσίες
|
||||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF to Book
|
home.PDFToBook.title=PDF σε Book
|
||||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
home.PDFToBook.desc=Μετατρέπει τις μορφές PDF σε Book/Comic χρησιμοποιώντας calibre
|
||||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.BookToPDF.title=Book to PDF
|
home.BookToPDF.title=Book σε PDF
|
||||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
|
|
||||||
|
@ -466,7 +467,7 @@ pdfToSinglePage.submit=Μετατροπή σε Μονή Σελίδα
|
||||||
pageExtracter.title=Εξαγωγή Σελίδων
|
pageExtracter.title=Εξαγωγή Σελίδων
|
||||||
pageExtracter.header=EΕξαγωγή Σελίδων
|
pageExtracter.header=EΕξαγωγή Σελίδων
|
||||||
pageExtracter.submit=Εξαγωγή
|
pageExtracter.submit=Εξαγωγή
|
||||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
pageExtracter.placeholder=(π.χ. 1,2,8 ή 4,7,12-16 ή 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
|
@ -498,37 +499,37 @@ HTMLToPDF.header=HTML σε PDF
|
||||||
HTMLToPDF.help=Δέχεται αρχεία τύπου HTML και τύπου ZIP που περιέχουν html/css/εικόνες κ.λπ. που απαιτούνται
|
HTMLToPDF.help=Δέχεται αρχεία τύπου HTML και τύπου ZIP που περιέχουν html/css/εικόνες κ.λπ. που απαιτούνται
|
||||||
HTMLToPDF.submit=Μετατροπή
|
HTMLToPDF.submit=Μετατροπή
|
||||||
HTMLToPDF.credit=Χρησιμοποιεί WeasyPrint
|
HTMLToPDF.credit=Χρησιμοποιεί WeasyPrint
|
||||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
HTMLToPDF.zoom=Επίπεδο ζουμ για την εμφάνιση του ιστότοπου.
|
||||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
HTMLToPDF.pageWidth=Το πλάτος της σελίδας σε εκατοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
HTMLToPDF.pageHeight=Το ύψος της σελίδας σε εκατοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
HTMLToPDF.marginTop=Το επάνω περιθώριο της σελίδας σε χιλιοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
HTMLToPDF.marginBottom=Κάτω περιθώριο σελίδας σε χιλιοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
HTMLToPDF.marginLeft=Το αριστερό περιθώριο της σελίδας σε χιλιοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
HTMLToPDF.marginRight=Το δεξί περιθώριο της σελίδας σε χιλιοστά. (Κενό έως προεπιλογή)
|
||||||
HTMLToPDF.printBackground=Render the background of websites.
|
HTMLToPDF.printBackground=Αποδώστε το φόντο των ιστοσελίδων.
|
||||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
HTMLToPDF.defaultHeader=Ενεργοποίηση προεπιλεγμένης κεφαλίδας (Όνομα και αριθμός σελίδας)
|
||||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
HTMLToPDF.cssMediaType=Αλλάξτε τον τύπο μέσων (media type )CSS της σελίδας.
|
||||||
HTMLToPDF.none=None
|
HTMLToPDF.none=Κανένα
|
||||||
HTMLToPDF.print=Print
|
HTMLToPDF.print=Εκτύπωσε
|
||||||
HTMLToPDF.screen=Screen
|
HTMLToPDF.screen=Screen
|
||||||
|
|
||||||
|
|
||||||
#AddStampRequest
|
#AddStampRequest
|
||||||
AddStampRequest.header=Stamp PDF
|
AddStampRequest.header=Σφραγίδα PDF
|
||||||
AddStampRequest.title=Stamp PDF
|
AddStampRequest.title=Σφραγίδα PDF
|
||||||
AddStampRequest.stampType=Stamp Type
|
AddStampRequest.stampType=Τύπος σφραγίδας
|
||||||
AddStampRequest.stampText=Stamp Text
|
AddStampRequest.stampText=Κείμενο σφραγίδας
|
||||||
AddStampRequest.stampImage=Stamp Image
|
AddStampRequest.stampImage=Εικόνα σφραγίδας
|
||||||
AddStampRequest.alphabet=Alphabet
|
AddStampRequest.alphabet=Αλφάβητο
|
||||||
AddStampRequest.fontSize=Font/Image Size
|
AddStampRequest.fontSize=Μέγεθος γραμματοσειράς/εικόνας
|
||||||
AddStampRequest.rotation=Rotation
|
AddStampRequest.rotation=Περιστροφή
|
||||||
AddStampRequest.opacity=Opacity
|
AddStampRequest.opacity=Αδιαφάνεια
|
||||||
AddStampRequest.position=Position
|
AddStampRequest.position=Θέση
|
||||||
AddStampRequest.overrideX=Override X Coordinate
|
AddStampRequest.overrideX=Override Συντεταγμένης X
|
||||||
AddStampRequest.overrideY=Override Y Coordinate
|
AddStampRequest.overrideY=Override Συντεταγμένης Ψ
|
||||||
AddStampRequest.customMargin=Custom Margin
|
AddStampRequest.customMargin=Προσαρμοσμένο Περιθώριο
|
||||||
AddStampRequest.customColor=Custom Text Color
|
AddStampRequest.customColor=Προσαρμοσμένο χρώμα κειμένου
|
||||||
AddStampRequest.submit=Submit
|
AddStampRequest.submit=Υποβολή
|
||||||
|
|
||||||
|
|
||||||
#sanitizePDF
|
#sanitizePDF
|
||||||
|
@ -617,11 +618,11 @@ scalePages.submit=Υποβολή
|
||||||
certSign.title=Υπογραφή Πιστοποιητικού
|
certSign.title=Υπογραφή Πιστοποιητικού
|
||||||
certSign.header=Υπογράψτε ένα αρχείο PDF με το πιστοποιητικό σας (Εργασία σε εξέλιξη)
|
certSign.header=Υπογράψτε ένα αρχείο PDF με το πιστοποιητικό σας (Εργασία σε εξέλιξη)
|
||||||
certSign.selectPDF=Επιλογή αρχείου PDF για υπογραφή:
|
certSign.selectPDF=Επιλογή αρχείου PDF για υπογραφή:
|
||||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
certSign.jksNote=Σημείωση: Εάν ο τύπος πιστοποιητικού σας δεν αναφέρεται παρακάτω, μετατρέψτε το σε αρχείο Java Keystore (.jks) χρησιμοποιώντας το εργαλείο γραμμής εντολών keytool. Στη συνέχεια, επιλέξτε την επιλογή αρχείου .jks παρακάτω.
|
||||||
certSign.selectKey=Επιλέξτε το αρχείο του ιδιωτικού κλειδιού σας (μορφή PKCS#8, μπορεί να είναι .pem ή .der):
|
certSign.selectKey=Επιλέξτε το αρχείο του ιδιωτικού κλειδιού σας (μορφή PKCS#8, μπορεί να είναι .pem ή .der):
|
||||||
certSign.selectCert=Επιλέξτε το αρχείο πιστοποιητικού σας (μορφή X.509, μπορεί να είναι .pem ή .der):
|
certSign.selectCert=Επιλέξτε το αρχείο πιστοποιητικού σας (μορφή X.509, μπορεί να είναι .pem ή .der):
|
||||||
certSign.selectP12=Επιλέξτε το αρχείο PKCS#12 Keystore (.p12 ή .pfx) (Προαιρετικό, εάν παρέχεται, θα πρέπει να περιέχει το ιδιωτικό κλειδί και το πιστοποιητικό σας):
|
certSign.selectP12=Επιλέξτε το αρχείο PKCS#12 Keystore (.p12 ή .pfx) (Προαιρετικό, εάν παρέχεται, θα πρέπει να περιέχει το ιδιωτικό κλειδί και το πιστοποιητικό σας):
|
||||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
certSign.selectJKS=Επιλέξτε το αρχείο Java Keystore (.jks ή .keystore):
|
||||||
certSign.certType=Τύπος Πιστοποιητικού
|
certSign.certType=Τύπος Πιστοποιητικού
|
||||||
certSign.password=Εισαγάγετε τον κωδικό του Keystore ή του Ιδιωτικού Κλειδιού (εάν υπάρχει):
|
certSign.password=Εισαγάγετε τον κωδικό του Keystore ή του Ιδιωτικού Κλειδιού (εάν υπάρχει):
|
||||||
certSign.showSig=Εμφάνιση Υπογραφής
|
certSign.showSig=Εμφάνιση Υπογραφής
|
||||||
|
@ -642,9 +643,9 @@ removeBlanks.submit=Αφαίρεση Κενών
|
||||||
|
|
||||||
|
|
||||||
#removeAnnotations
|
#removeAnnotations
|
||||||
removeAnnotations.title=Remove Annotations
|
removeAnnotations.title=Κατάργηση σχολιασμών
|
||||||
removeAnnotations.header=Remove Annotations
|
removeAnnotations.header=Κατάργηση σχολιασμών
|
||||||
removeAnnotations.submit=Remove
|
removeAnnotations.submit=Κατάργηση
|
||||||
|
|
||||||
|
|
||||||
#compare
|
#compare
|
||||||
|
@ -655,17 +656,17 @@ compare.document.2=Έγγραφο 2
|
||||||
compare.submit=Σύγκριση
|
compare.submit=Σύγκριση
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Books and Comics to PDF
|
BookToPDF.title=Books και Comics σε PDF
|
||||||
BookToPDF.header=Book to PDF
|
BookToPDF.header=Book σε PDF
|
||||||
BookToPDF.credit=Uses Calibre
|
BookToPDF.credit=Χρησιμοποιεί Caliber
|
||||||
BookToPDF.submit=Convert
|
BookToPDF.submit=Μετατροπή
|
||||||
|
|
||||||
#PDFToBook
|
#PDFToBook
|
||||||
PDFToBook.title=PDF to Book
|
PDFToBook.title=PDF σε Book
|
||||||
PDFToBook.header=PDF to Book
|
PDFToBook.header=PDF σε Book
|
||||||
PDFToBook.selectText.1=Format
|
PDFToBook.selectText.1=Μορφή
|
||||||
PDFToBook.credit=Uses Calibre
|
PDFToBook.credit=Χρησιμοποιεί Caliber
|
||||||
PDFToBook.submit=Convert
|
PDFToBook.submit=Μετατροπή
|
||||||
|
|
||||||
#sign
|
#sign
|
||||||
sign.title=Υπογραφή
|
sign.title=Υπογραφή
|
||||||
|
@ -752,7 +753,7 @@ compress.submit=Συμπίεση
|
||||||
#Add image
|
#Add image
|
||||||
addImage.title=Προσθήκη Εικόνας
|
addImage.title=Προσθήκη Εικόνας
|
||||||
addImage.header=Προσθήκη Εικόνας σε PDF
|
addImage.header=Προσθήκη Εικόνας σε PDF
|
||||||
addImage.everyPage=Κάθε Σελίδα?
|
addImage.everyPage=Κάθε Σελίδα;
|
||||||
addImage.upload=Προσθήκη Εικόνας
|
addImage.upload=Προσθήκη Εικόνας
|
||||||
addImage.submit=Προσθήκη Εικόνας
|
addImage.submit=Προσθήκη Εικόνας
|
||||||
|
|
||||||
|
@ -770,53 +771,53 @@ pdfOrganiser.title=Διοργανωτής σελίδας
|
||||||
pdfOrganiser.header=Διοργανωτής σελίδας PDF
|
pdfOrganiser.header=Διοργανωτής σελίδας PDF
|
||||||
pdfOrganiser.submit=Αναδιάταξη σελίδων
|
pdfOrganiser.submit=Αναδιάταξη σελίδων
|
||||||
pdfOrganiser.mode=Mode
|
pdfOrganiser.mode=Mode
|
||||||
pdfOrganiser.mode.1=Custom Page Order
|
pdfOrganiser.mode.1=Προσαρμοσμένη Σειρά Σελίδας
|
||||||
pdfOrganiser.mode.2=Reverse Order
|
pdfOrganiser.mode.2=Αντίστροφη Σειρά
|
||||||
pdfOrganiser.mode.3=Duplex Sort
|
pdfOrganiser.mode.3=Ταξινόμηση Διπλής Όψης (Duplex Sort)
|
||||||
pdfOrganiser.mode.4=Booklet Sort
|
pdfOrganiser.mode.4=Ταξινόμηση Φυλλαδίου (Booklet Sort)
|
||||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||||
pdfOrganiser.mode.6=Odd-Even Split
|
pdfOrganiser.mode.6=Διαίρεση Μονού-Ζυγού
|
||||||
pdfOrganiser.mode.7=Remove First
|
pdfOrganiser.mode.7=Αφαίρεση Πρώτου
|
||||||
pdfOrganiser.mode.8=Remove Last
|
pdfOrganiser.mode.8=Αφαίρεση Τελευταίου
|
||||||
pdfOrganiser.mode.9=Remove First and Last
|
pdfOrganiser.mode.9=Αφαίρεση Πρώτου και Τελευταίου
|
||||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
pdfOrganiser.placeholder=(π.χ. 1,3,2 ή 4-8,2,10-12 ή 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=PDF Πολυεργαλείο
|
multiTool.title=PDF Πολυεργαλείο
|
||||||
multiTool.header=PDF Πολυεργαλείο
|
multiTool.header=PDF Πολυεργαλείο
|
||||||
multiTool.uploadPrompts=Please Upload PDF
|
multiTool.uploadPrompts=Ανεβάστε το PDF
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=View PDF
|
viewPdf.title=Προβολή PDF
|
||||||
viewPdf.header=View PDF
|
viewPdf.header=Προβολή PDF
|
||||||
|
|
||||||
#pageRemover
|
#pageRemover
|
||||||
pageRemover.title=Αφαιρετής Σελίδων
|
pageRemover.title=Αφαιρετής Σελίδων
|
||||||
pageRemover.header=Αφαιρετής Σελίδων PDF
|
pageRemover.header=Αφαιρετής Σελίδων PDF
|
||||||
pageRemover.pagesToDelete=Σελίδες προς διαγραφή (Εισαγάγετε μια λίστα με αριθμούς σελίδων διαχωρισμένων με κόμματα):
|
pageRemover.pagesToDelete=Σελίδες προς διαγραφή (Εισαγάγετε μια λίστα με αριθμούς σελίδων διαχωρισμένων με κόμματα):
|
||||||
pageRemover.submit=Αφαίρεση Σελίδων
|
pageRemover.submit=Αφαίρεση Σελίδων
|
||||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
pageRemover.placeholder=(π.χ. 1,2,6 ή 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
rotate.title=Περιστροφή PDF
|
rotate.title=Περιστροφή PDF
|
||||||
rotate.header=Περιστροφή PDF
|
rotate.header=Περιστροφή PDF
|
||||||
rotate.selectAngle=Select rotation angle (in multiples of 90 degrees):
|
rotate.selectAngle=Επιλέξτε γωνία περιστροφής (σε πολλαπλάσια των 90 μοιρών):
|
||||||
rotate.submit=Rotate
|
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=Διαίρεση
|
||||||
|
|
||||||
|
@ -884,8 +885,8 @@ watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%):
|
||||||
watermark.selectText.8=Τύπος Υδατογραφήματος:
|
watermark.selectText.8=Τύπος Υδατογραφήματος:
|
||||||
watermark.selectText.9=Εικόνα Υδατογραφήματος:
|
watermark.selectText.9=Εικόνα Υδατογραφήματος:
|
||||||
watermark.submit=Προσθήκη Υδατογραφήματος
|
watermark.submit=Προσθήκη Υδατογραφήματος
|
||||||
watermark.type.1=Text
|
watermark.type.1=Κείμενο
|
||||||
watermark.type.2=Image
|
watermark.type.2=Εικόνα
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
|
@ -937,7 +938,7 @@ pdfToPDFA.title=PDF σε PDF/A
|
||||||
pdfToPDFA.header=PDF σε PDF/A
|
pdfToPDFA.header=PDF σε PDF/A
|
||||||
pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί OCRmyPDF για PDF/A μετατροπή
|
pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί OCRmyPDF για PDF/A μετατροπή
|
||||||
pdfToPDFA.submit=Μετατροπή
|
pdfToPDFA.submit=Μετατροπή
|
||||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
|
@ -978,68 +979,68 @@ PDFToXML.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffic
|
||||||
PDFToXML.submit=Μετατροπή
|
PDFToXML.submit=Μετατροπή
|
||||||
|
|
||||||
#PDFToCSV
|
#PDFToCSV
|
||||||
PDFToCSV.title=PDF ?? CSV
|
PDFToCSV.title=PDF σε CSV
|
||||||
PDFToCSV.header=PDF ?? CSV
|
PDFToCSV.header=PDF σε CSV
|
||||||
PDFToCSV.prompt=Choose page to extract table
|
PDFToCSV.prompt=Επιλέξτε σελίδα για εξαγωγή πίνακα
|
||||||
PDFToCSV.submit=?????????
|
PDFToCSV.submit=Εξαξωγή
|
||||||
|
|
||||||
#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 Κατά Μέγεθος ή Μέτρηση
|
||||||
split-by-size-or-count.header=Split PDF by Size or Count
|
split-by-size-or-count.header=Διαχωρίστε το PDF Κατά Μέγεθος ή Μέτρηση
|
||||||
split-by-size-or-count.type.label=Select Split Type
|
split-by-size-or-count.type.label=Επιλέξτε Τύπος Διαχωρισμού
|
||||||
split-by-size-or-count.type.size=By Size
|
split-by-size-or-count.type.size=Ανά Μέγεθος
|
||||||
split-by-size-or-count.type.pageCount=By Page Count
|
split-by-size-or-count.type.pageCount=Ανά αριθμό σελίδων
|
||||||
split-by-size-or-count.type.docCount=By Document Count
|
split-by-size-or-count.type.docCount=Ανά αριθμό εγγράφων
|
||||||
split-by-size-or-count.value.label=Enter Value
|
split-by-size-or-count.value.label=Εισαγάγετε τιμή
|
||||||
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=Εισαγάγετε μέγεθος (π.χ. 2MB ή 3KB) ή μέτρηση (π.χ. 5)
|
||||||
split-by-size-or-count.submit=Submit
|
split-by-size-or-count.submit=Υποβολή
|
||||||
|
|
||||||
|
|
||||||
#overlay-pdfs
|
#overlay-pdfs
|
||||||
overlay-pdfs.header=Overlay PDF Files
|
overlay-pdfs.header=Επικάλυψη αρχείων PDF
|
||||||
overlay-pdfs.baseFile.label=Select Base PDF File
|
overlay-pdfs.baseFile.label=Επιλέξτε Βασικό αρχείο PDF
|
||||||
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files
|
overlay-pdfs.overlayFiles.label=Επιλέξτε Επικάλυψη αρχείων PDF
|
||||||
overlay-pdfs.mode.label=Select Overlay Mode
|
overlay-pdfs.mode.label=Επιλέξτε Λειτουργία Επικάλυψης
|
||||||
overlay-pdfs.mode.sequential=Sequential Overlay
|
overlay-pdfs.mode.sequential=Διαδοχική Επικάλυψη
|
||||||
overlay-pdfs.mode.interleaved=Interleaved Overlay
|
overlay-pdfs.mode.interleaved=Επικάλυψη με Παρεμβολή
|
||||||
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay
|
overlay-pdfs.mode.fixedRepeat=Διορθώθηκε η Επικάλυψη Επανάληψης
|
||||||
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode)
|
overlay-pdfs.counts.label=Μετρήσεις επικάλυψης (για σταθερή λειτουργία επανάληψης)
|
||||||
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1)
|
overlay-pdfs.counts.placeholder=Εισαγάγετε μετρήσεις διαχωρισμένες με κόμματα (π.χ. 2,3,1)
|
||||||
overlay-pdfs.position.label=Select Overlay Position
|
overlay-pdfs.position.label=Επιλέξτε Θέση Επικάλυψης
|
||||||
overlay-pdfs.position.foreground=Foreground
|
overlay-pdfs.position.foreground=Foreground
|
||||||
overlay-pdfs.position.background=Background
|
overlay-pdfs.position.background=Background
|
||||||
overlay-pdfs.submit=Submit
|
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 number of horizontal divisions
|
split-by-sections.horizontal.placeholder=Εισαγάγετε τον αριθμό των οριζόντιων διαιρέσεων
|
||||||
split-by-sections.vertical.placeholder=Enter 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=3rd Party Licenses
|
licenses.title=3rd Party Άδειες
|
||||||
licenses.header=3rd Party Licenses
|
licenses.header=3rd Party Άδειες
|
||||||
licenses.module=Module
|
licenses.module=Module
|
||||||
licenses.version=Version
|
licenses.version=Εκδοχή
|
||||||
licenses.license=License
|
licenses.license=Άδεια
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=Συγγνώμη για το ζήτημα!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=Χρειάζεστε βοήθεια / Βρήκατε πρόβλημα;
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=Εάν εξακολουθείτε να αντιμετωπίζετε προβλήματα, μη διστάσετε να επικοινωνήσετε μαζί μας για βοήθεια. Μπορείτε να υποβάλετε ένα ticket στη σελίδα μας στο GitHub ή να επικοινωνήσετε μαζί μας μέσω του Discord:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - Η σελίδα δεν βρέθηκε | Oops, we tripped in the code!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=Δεν μπορούμε να βρούμε τη σελίδα που ψάχνετε.
|
||||||
error.404.2=Something went wrong
|
error.404.2=Κάτι πήγε στραβά
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=Υποβάλετε ένα ticket στο GitHub
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=Εμφάνιση Stack Trace
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=Αντιγραφή Stack Trace
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - Υποβάλετε ένα ticket
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - Υποβάλετε ένα Support post
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -54,18 +54,19 @@ 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 d’utilisateur existe déjà.
|
usernameExistsMessage=Le nouveau nom d’utilisateur existe déjà.
|
||||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
invalidUsernameMessage=Nom d’utilisateur invalide, le nom d’utilisateur ne peut contenir que des chiffres et des lettres.
|
||||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
deleteCurrentUserMessage=Impossible de supprimer l’utilisateur actuellement connecté.
|
||||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
deleteUsernameExistsMessage=Le nom d’utilisateur n’existe pas et ne peut pas être supprimé.
|
||||||
error=Error
|
error=Erreur
|
||||||
oops=Oops!
|
oops=Oups !
|
||||||
help=Help
|
help=Aide
|
||||||
goHomepage=Go to Homepage
|
goHomepage=Aller à la page d’accueil
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Rejoignez notre serveur Discord
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Consulter le Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visiter le dépôt Github
|
||||||
donate=Donate
|
donate=Faire un don
|
||||||
color=Color
|
color=Couleur
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,7 +125,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 d’utilisateur
|
changeCreds.newUsername=Nouveau nom d’utilisateur
|
||||||
changeCreds.oldPassword=Mot de passe actuel
|
changeCreds.oldPassword=Mot de passe actuel
|
||||||
changeCreds.newPassword=Nouveau mot de passe
|
changeCreds.newPassword=Nouveau mot de passe
|
||||||
|
@ -159,12 +160,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 d’utilisateur 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 l’API
|
||||||
adminUserSettings.webOnlyUser=Utilisateur Web uniquement
|
adminUserSettings.webOnlyUser=Utilisateur Web uniquement
|
||||||
adminUserSettings.demoUser=Demo User (Paramètres par défaut)
|
adminUserSettings.demoUser=Demo User (Paramètres par défaut)
|
||||||
adminUserSettings.internalApiUser=Internal API User
|
adminUserSettings.internalApiUser=Internal API User
|
||||||
|
@ -806,17 +807,17 @@ rotate.selectAngle=Angle de rotation (par multiples de 90 degré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
|
||||||
|
|
||||||
|
@ -1019,7 +1020,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
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=Licence
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=Désolé pour ce problème !
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=Besoin d’aide / Vous avez trouvé un problème ?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=Si vous avez encore des problèmes, n’hésitez pas à nous contacter pour obtenir de l’aide. Vous pouvez soumettre un ticket sur notre page GitHub ou nous contacter via Discord :
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - Page non trouvée | oups on s’est foiré !
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=Nous ne parvenons pas à trouver la page que vous recherchez.
|
||||||
error.404.2=Something went wrong
|
error.404.2=Quelque chose n’a pas fonctionné
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=Créer un ticket sur GitHub
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=Afficher la Stack Trace
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=Copier la Stack Trace
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - Créer un ticket
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - Poster un message de demande d’assistance
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=विभाजित करें
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=Vedi DockerHub
|
||||||
visitGithub=Visita il repository Github
|
visitGithub=Visita il repository Github
|
||||||
donate=Donazione
|
donate=Donazione
|
||||||
color=Colore
|
color=Colore
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,6 +80,7 @@ pipeline.defaultOption=Personalizzato
|
||||||
pipeline.submitButton=Invia
|
pipeline.submitButton=Invia
|
||||||
pipeline.help=Aiuto sulla pipeline
|
pipeline.help=Aiuto sulla pipeline
|
||||||
pipeline.scanHelp=Aiuto per la scansione delle cartelle
|
pipeline.scanHelp=Aiuto per la scansione delle cartelle
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
######################
|
######################
|
||||||
|
@ -127,7 +129,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
|
||||||
|
|
||||||
|
|
||||||
|
@ -187,7 +189,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.
|
||||||
|
@ -465,7 +467,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
|
||||||
|
@ -795,7 +797,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
|
||||||
|
@ -805,17 +807,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
|
||||||
|
|
||||||
|
|
|
@ -57,15 +57,16 @@ usernameExistsMessage=新しいユーザー名はすでに存在します。
|
||||||
invalidUsernameMessage=ユーザー名が無効です。ユーザー名にはアルファベットと数字のみを使用してください。
|
invalidUsernameMessage=ユーザー名が無効です。ユーザー名にはアルファベットと数字のみを使用してください。
|
||||||
deleteCurrentUserMessage=現在ログインしているユーザーは削除できません。
|
deleteCurrentUserMessage=現在ログインしているユーザーは削除できません。
|
||||||
deleteUsernameExistsMessage=そのユーザー名は存在しないため削除できません。
|
deleteUsernameExistsMessage=そのユーザー名は存在しないため削除できません。
|
||||||
error=Error
|
error=エラー
|
||||||
oops=Oops!
|
oops=おっと!
|
||||||
help=Help
|
help=ヘルプ
|
||||||
goHomepage=Go to Homepage
|
goHomepage=ホームページへ移動
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Discordサーバーに参加する
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Docker Hubを見る
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Githubリポジトリを訪問する
|
||||||
donate=Donate
|
donate=寄付する
|
||||||
color=Color
|
color=色
|
||||||
|
sponsor=スポンサー
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=分割
|
||||||
|
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=ライセンス
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=問題が発生したことをお詫び申し上げます!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=助けが必要/問題が見つかりましたか?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=まだ問題が解決していない場合は、お手数ですが、GitHubページでチケットを提出するか、Discordで私たちに連絡してください:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - ページが見つかりません | おっと、コードでつまずきました!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=あなたが探しているページが見つかりません。
|
||||||
error.404.2=Something went wrong
|
error.404.2=何か問題が発生しました
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=GitHubでチケットを提出
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=スタックトレースを表示
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=スタックトレースをコピー
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - チケットを提出
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - サポート投稿を提出
|
||||||
|
|
||||||
|
|
|
@ -57,15 +57,16 @@ usernameExistsMessage=새 사용자명이 이미 존재합니다.
|
||||||
invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다.
|
invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다.
|
||||||
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
|
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
|
||||||
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
|
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
|
||||||
error=Error
|
error=오류
|
||||||
oops=Oops!
|
oops=어머나!
|
||||||
help=Help
|
help=도움말
|
||||||
goHomepage=Go to Homepage
|
goHomepage=홈페이지로 이동
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Discord 서버에 참여하기
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Docker Hub에서 확인하기
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=GitHub 저장소 방문하기
|
||||||
donate=Donate
|
donate=기부하기
|
||||||
color=Color
|
color=색상
|
||||||
|
sponsor=스폰서
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=분할
|
||||||
|
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=라이센스
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=문제를 끼친 점 죄송합니다!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=도움이 필요하신가요 / 문제가 있으신가요?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=여전히 문제가 해결되지 않는다면 망설이지 마시고 도움을 요청하십시오. GitHub 페이지에서 티켓을 제출하거나 Discord를 통해 우리에게 연락하실 수 있습니다:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - 페이지를 찾을 수 없습니다 | 이런, 코드에 걸려 넘어졌어요!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=원하시는 페이지를 찾을 수가 없네요.
|
||||||
error.404.2=Something went wrong
|
error.404.2=문제가 발생했습니다
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=GitHub에서 티켓 제출
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=스택 추적 보기
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=스택 추적 복사
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - 티켓 제출
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - 문의 게시
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -57,15 +57,16 @@ usernameExistsMessage=Новое имя пользователя уже суще
|
||||||
invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры.
|
invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры.
|
||||||
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
|
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
|
||||||
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
|
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
|
||||||
error=Error
|
error=Ошибка
|
||||||
oops=Oops!
|
oops=Ой!
|
||||||
help=Help
|
help=Помощь
|
||||||
goHomepage=Go to Homepage
|
goHomepage=Перейти на главную страницу
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Присоединиться к нашему серверу Discord
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Посмотреть в Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Посетить репозиторий на GitHub
|
||||||
donate=Donate
|
donate=Пожертвовать
|
||||||
color=Color
|
color=Цвет
|
||||||
|
sponsor=Спонсор
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=Разделить
|
||||||
|
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=Лицензия
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=Извините за проблему!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=Нужна помощь / Нашли проблему?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=Если у вас все еще есть проблемы, не стесняйтесь обращаться к нам за помощью. Вы можете отправить заявку на нашей странице GitHub или связаться с нами через Discord:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - Страница не найдена | Ой, мы запутались в коде!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=Мы не можем найти страницу, которую вы ищете.
|
||||||
error.404.2=Something went wrong
|
error.404.2=Произошла ошибка
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=Отправить заявку на GitHub
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=Показать стек вызовов
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=Скопировать стек вызовов
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - Отправить заявку
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - Отправить запрос в поддержку
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@ seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Visit Github Repository
|
||||||
donate=Donate
|
donate=Donate
|
||||||
color=Color
|
color=Color
|
||||||
|
sponsor=Sponsor
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
|
|
@ -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,53 +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=Error
|
error=Hata
|
||||||
oops=Oops!
|
oops=Tüh!
|
||||||
help=Help
|
help=Yardım
|
||||||
goHomepage=Go to Homepage
|
goHomepage=Anasayfa'ya git
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=Discord sunucumuza katılın
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=Docker Hub'a bakın
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=Github Deposunu Ziyaret Edin
|
||||||
donate=Donate
|
donate=Bağış Yapın
|
||||||
color=Color
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -159,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
|
||||||
|
|
||||||
|
@ -175,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
|
||||||
|
@ -304,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
|
||||||
|
@ -389,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
|
||||||
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
|
@ -466,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
|
||||||
|
@ -498,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
|
||||||
|
@ -617,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
|
||||||
|
@ -642,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
|
||||||
|
@ -655,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
|
||||||
|
@ -769,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
|
||||||
|
@ -806,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
|
||||||
|
|
||||||
|
@ -884,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
|
||||||
|
@ -937,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
|
||||||
|
@ -978,68 +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
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=Sorun için özür dileriz!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=Yardıma mı ihtiyacınız var / Bir sorun mu buldunuz?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=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 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - Sayfa Bulunamadı | Tüh, kodda takıldık!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=Aradığınız sayfayı bulamıyoruz.
|
||||||
error.404.2=Something went wrong
|
error.404.2=Bir şeyler ters gitti
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=GitHub üzerinden bir hata bildirin
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=Yığın İzlemesini Göster
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=Yığın İzini Kopyala
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - Hata gönderin
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - Destek gönderisi gönderin
|
||||||
|
|
||||||
|
|
1046
src/main/resources/messages_uk_UA.properties
Normal file
1046
src/main/resources/messages_uk_UA.properties
Normal file
File diff suppressed because it is too large
Load diff
|
@ -66,6 +66,7 @@ seeDockerHub=查看Docker Hub
|
||||||
visitGithub=访问Github仓库
|
visitGithub=访问Github仓库
|
||||||
donate=捐款
|
donate=捐款
|
||||||
color=颜色
|
color=颜色
|
||||||
|
sponsor=赞助
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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页
|
||||||
|
|
|
@ -57,15 +57,16 @@ usernameExistsMessage=新使用者名稱已存在。
|
||||||
invalidUsernameMessage=使用者名無效,使用者名只能包含字母字元和數位。
|
invalidUsernameMessage=使用者名無效,使用者名只能包含字母字元和數位。
|
||||||
deleteCurrentUserMessage=無法刪除目前登錄的使用者。
|
deleteCurrentUserMessage=無法刪除目前登錄的使用者。
|
||||||
deleteUsernameExistsMessage=使用者名不存在,無法刪除。
|
deleteUsernameExistsMessage=使用者名不存在,無法刪除。
|
||||||
error=Error
|
error=錯誤
|
||||||
oops=Oops!
|
oops=哎呀!
|
||||||
help=Help
|
help=幫助
|
||||||
goHomepage=Go to Homepage
|
goHomepage=前往首頁
|
||||||
joinDiscord=Join our Discord server
|
joinDiscord=加入我們的Discord服務器
|
||||||
seeDockerHub=See Docker Hub
|
seeDockerHub=查看Docker Hub
|
||||||
visitGithub=Visit Github Repository
|
visitGithub=訪問Github存儲庫
|
||||||
donate=Donate
|
donate=捐贈
|
||||||
color=Color
|
color=顏色
|
||||||
|
sponsor=贊助
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -806,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=分割
|
||||||
|
|
||||||
|
@ -1031,15 +1032,15 @@ licenses.license=許可證
|
||||||
|
|
||||||
|
|
||||||
# error
|
# error
|
||||||
error.sorry=Sorry for the issue!
|
error.sorry=對於這個問題,我們感到抱歉!
|
||||||
error.needHelp=Need help / Found an issue?
|
error.needHelp=需要幫助/發現了一個問題?
|
||||||
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
error.contactTip=如果你仍然遇到問題,請不要猶豫,隨時向我們尋求幫助。你可以在我們的GitHub頁面提交工單,或通過Discord與我們聯繋:
|
||||||
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
error.404.head=404 - 找不到頁面 | 哎呀,我們在代碼中走錯了路!
|
||||||
error.404.1=We can't seem to find the page you're looking for.
|
error.404.1=我們好像找不到你正在尋找的頁面。
|
||||||
error.404.2=Something went wrong
|
error.404.2=出了點錯誤
|
||||||
error.github=Submit a ticket on GitHub
|
error.github=在GitHub上提交工單
|
||||||
error.showStack=Show Stack Trace
|
error.showStack=顯示堆疊追蹤
|
||||||
error.copyStack=Copy Stack Trace
|
error.copyStack=複製堆疊追蹤
|
||||||
error.githubSubmit=GitHub - Submit a ticket
|
error.githubSubmit=GitHub - 提交工單
|
||||||
error.discordSubmit=Discord - Submit Support post
|
error.discordSubmit=Discord - 提交支援帖子
|
||||||
|
|
||||||
|
|
6
src/main/resources/static/images/flags/ua.svg
Normal file
6
src/main/resources/static/images/flags/ua.svg
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ua" viewBox="0 0 640 480">
|
||||||
|
<g fill-rule="evenodd" stroke-width="1pt">
|
||||||
|
<path fill="gold" d="M0 0h640v480H0z"/>
|
||||||
|
<path fill="#0057b8" d="M0 0h640v240H0z"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 232 B |
|
@ -26,4 +26,5 @@
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hu_HU"> <img src="images/flags/hu.svg" alt="icon" width="20" height="15"> Hungarian</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hu_HU"> <img src="images/flags/hu.svg" alt="icon" width="20" height="15"> Hungarian</a>
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hi_IN"> <img src="images/flags/in.svg" alt="icon" width="20" height="15"> हिन्दी</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="hi_IN"> <img src="images/flags/in.svg" alt="icon" width="20" height="15"> हिन्दी</a>
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="sr_LATN_RS"> <img src="images/flags/rs.svg" alt="icon" width="20" height="15"> Srpski</a>
|
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="sr_LATN_RS"> <img src="images/flags/rs.svg" alt="icon" width="20" height="15"> Srpski</a>
|
||||||
|
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="uk_UA"> <img src="images/flags/ua.svg" alt="icon" width="20" height="15"> Українська</a>
|
||||||
</th:block>
|
</th:block>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue