Compare commits
2 Commits
v0.33.1
...
fix-sig-lo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b094634799 | ||
|
|
9e597a4390 |
17
.github/labeler-config.yml
vendored
17
.github/labeler-config.yml
vendored
@@ -16,27 +16,21 @@ Java:
|
|||||||
|
|
||||||
Back End:
|
Back End:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/**/*'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*'
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/**/*'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/provider/**/*'
|
||||||
- any-glob-to-any-file: 'src/main/resources/settings.yml.template'
|
- any-glob-to-any-file: 'src/main/resources/settings.yml.template'
|
||||||
- any-glob-to-any-file: 'src/main/resources/application.properties'
|
|
||||||
- any-glob-to-any-file: 'src/main/resources/banner.txt'
|
- any-glob-to-any-file: 'src/main/resources/banner.txt'
|
||||||
- any-glob-to-any-file: 'scripts/png_to_webp.py'
|
|
||||||
- any-glob-to-any-file: 'split_photos.py'
|
|
||||||
|
|
||||||
Security:
|
Security:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/security/**/*'
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/model/provider/**/*'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/provider/**/*'
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/model/AuthenticationType.java'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/config/model/AuthenticationType.java'
|
||||||
- any-glob-to-any-file: 'scripts/download-security-jar.sh'
|
|
||||||
|
|
||||||
API:
|
API:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/web/MetricsController.java'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/web/MetricsController.java'
|
||||||
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/api/**/*'
|
- any-glob-to-any-file: 'src/main/java/stirling/software/SPDF/controller/api/**/*'
|
||||||
- any-glob-to-any-file: 'scripts/png_to_webp.py'
|
|
||||||
- any-glob-to-any-file: 'split_photos.py'
|
|
||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
@@ -49,9 +43,6 @@ Docker:
|
|||||||
- any-glob-to-any-file: 'Dockerfile'
|
- any-glob-to-any-file: 'Dockerfile'
|
||||||
- any-glob-to-any-file: 'Dockerfile-*'
|
- any-glob-to-any-file: 'Dockerfile-*'
|
||||||
- any-glob-to-any-file: 'exampleYmlFiles/*.yml'
|
- any-glob-to-any-file: 'exampleYmlFiles/*.yml'
|
||||||
- any-glob-to-any-file: 'scripts/init.sh'
|
|
||||||
- any-glob-to-any-file: 'scripts/init-without-ocr.sh'
|
|
||||||
- any-glob-to-any-file: 'scripts/installFonts.sh'
|
|
||||||
|
|
||||||
Test:
|
Test:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
|
|||||||
21
.github/labels.yml
vendored
21
.github/labels.yml
vendored
@@ -3,12 +3,9 @@
|
|||||||
#
|
#
|
||||||
# The repository labels will be automatically configured using this file and
|
# The repository labels will be automatically configured using this file and
|
||||||
# the GitHub Action https://github.com/marketplace/actions/github-labeler.
|
# the GitHub Action https://github.com/marketplace/actions/github-labeler.
|
||||||
- name: "Licenses"
|
|
||||||
color: "EDEDED"
|
|
||||||
from_name: "licenses"
|
|
||||||
- name: "Back End"
|
- name: "Back End"
|
||||||
color: "20CE6C"
|
color: "20CE6C"
|
||||||
description: "Issues or pull requests related to back-end development"
|
description: "Issues related to back-end development"
|
||||||
from_name: "Back end"
|
from_name: "Back end"
|
||||||
- name: "Bug"
|
- name: "Bug"
|
||||||
description: "Something isn't working"
|
description: "Something isn't working"
|
||||||
@@ -27,7 +24,6 @@
|
|||||||
from_name: "documentation"
|
from_name: "documentation"
|
||||||
- name: "Done for next release"
|
- name: "Done for next release"
|
||||||
color: "0CDBD1"
|
color: "0CDBD1"
|
||||||
description: "Items that are completed and will be included in the next release"
|
|
||||||
- name: "Done"
|
- name: "Done"
|
||||||
color: "60F13B"
|
color: "60F13B"
|
||||||
- name: "duplicate"
|
- name: "duplicate"
|
||||||
@@ -41,7 +37,7 @@
|
|||||||
description: "Fix needs to be confirmed"
|
description: "Fix needs to be confirmed"
|
||||||
- name: "Front End"
|
- name: "Front End"
|
||||||
color: "BBD2F1"
|
color: "BBD2F1"
|
||||||
description: "Issues or pull requests related to front-end development"
|
description: "Issues related to front-end development"
|
||||||
- name: "github-actions"
|
- name: "github-actions"
|
||||||
description: "Pull requests that update GitHub Actions code"
|
description: "Pull requests that update GitHub Actions code"
|
||||||
color: "999999"
|
color: "999999"
|
||||||
@@ -95,16 +91,3 @@
|
|||||||
description: "Testing-related issues or pull requests"
|
description: "Testing-related issues or pull requests"
|
||||||
- name: "Stale"
|
- name: "Stale"
|
||||||
color: "000000"
|
color: "000000"
|
||||||
description: "Issues or pull requests that have become inactive"
|
|
||||||
- name: "Priority: Critical"
|
|
||||||
color: "000000"
|
|
||||||
description: "Issues or pull requests with the highest priority"
|
|
||||||
- name: "Priority: High"
|
|
||||||
color: "FF0000"
|
|
||||||
description: "Issues or pull requests with high priority"
|
|
||||||
- name: "Priority: Medium"
|
|
||||||
color: "FFFF00"
|
|
||||||
description: "Issues or pull requests with medium priority"
|
|
||||||
- name: "Priority: Low"
|
|
||||||
color: "00FF00"
|
|
||||||
description: "Issues or pull requests with low priority"
|
|
||||||
|
|||||||
1
.github/pull_request_template.md
vendored
1
.github/pull_request_template.md
vendored
@@ -10,6 +10,5 @@ Closes #(issue_number)
|
|||||||
- [ ] I have performed a self-review of my own code
|
- [ ] I have performed a self-review of my own code
|
||||||
- [ ] I have attached images of the change if it is UI based
|
- [ ] I have attached images of the change if it is UI based
|
||||||
- [ ] I have commented my code, particularly in hard-to-understand areas
|
- [ ] I have commented my code, particularly in hard-to-understand areas
|
||||||
- [ ] If my code has heavily changed functionality I have updated relevant docs on [Stirling-PDFs doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
|
|
||||||
- [ ] My changes generate no new warnings
|
- [ ] My changes generate no new warnings
|
||||||
- [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only)
|
- [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only)
|
||||||
|
|||||||
100
.github/scripts/gradle_to_chart.py
vendored
Normal file
100
.github/scripts/gradle_to_chart.py
vendored
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
import re
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
# Paths to the files
|
||||||
|
chart_yaml_path = "chart/stirling-pdf/Chart.yaml"
|
||||||
|
gradle_path = "build.gradle"
|
||||||
|
|
||||||
|
|
||||||
|
def get_chart_version(path):
|
||||||
|
"""
|
||||||
|
Reads the version and the appVersion from Chart.yaml.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
path (str): The file path to the Chart.yaml.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
dict: The version under "chart" key and the appVersion under "app" key.
|
||||||
|
"""
|
||||||
|
with open(path, encoding="utf-8") as file:
|
||||||
|
chart_yaml = yaml.safe_load(file)
|
||||||
|
return {
|
||||||
|
"chart": chart_yaml["version"],
|
||||||
|
"app": chart_yaml["appVersion"]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def get_gradle_version(path):
|
||||||
|
"""
|
||||||
|
Extracts the version from build.gradle.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
path (str): The file path to the build.gradle.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The version if found, otherwise an empty string.
|
||||||
|
"""
|
||||||
|
with open(path, encoding="utf-8") as file:
|
||||||
|
for line in file:
|
||||||
|
if "version =" in line:
|
||||||
|
# Extracts the value after 'version ='
|
||||||
|
return re.search(r'version\s*=\s*[\'"](.+?)[\'"]', line).group(1)
|
||||||
|
return ""
|
||||||
|
|
||||||
|
|
||||||
|
def get_new_chart_version(chart_version, old_app_version, new_app_version):
|
||||||
|
"""
|
||||||
|
Get the new chart version from
|
||||||
|
|
||||||
|
Args:
|
||||||
|
str: The current chart version.
|
||||||
|
str: The current app version.
|
||||||
|
str: The new app version.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: The new chart version to update to.
|
||||||
|
"""
|
||||||
|
chart_major, chart_minor, chart_patch = chart_version.split(".")
|
||||||
|
|
||||||
|
old_major, old_minor, old_patch = old_app_version.split(".")
|
||||||
|
new_major, new_minor, new_patch = new_app_version.split(".")
|
||||||
|
|
||||||
|
if old_major != new_major:
|
||||||
|
new_chart_version = f"{int(chart_major)+1}.0.0"
|
||||||
|
elif old_minor != new_minor:
|
||||||
|
new_chart_version = f"{chart_major}.{int(chart_minor)+1}.0"
|
||||||
|
elif old_patch != new_patch:
|
||||||
|
new_chart_version = f"{chart_major}.{chart_minor}.{int(chart_patch)+1}"
|
||||||
|
|
||||||
|
return new_chart_version
|
||||||
|
|
||||||
|
|
||||||
|
def update_chart_version(path, new_chart_version, new_app_version):
|
||||||
|
"""
|
||||||
|
Updates the version and the appVersion in Chart.yaml with a new version.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
path (str): The file path to the Chart.yaml.
|
||||||
|
new_chart_version (str): The new chart version to update to.
|
||||||
|
new_app_version (str): The new app version to update to.
|
||||||
|
"""
|
||||||
|
with open(path, encoding="utf-8") as file:
|
||||||
|
chart_yaml = yaml.safe_load(file)
|
||||||
|
chart_yaml["version"] = new_chart_version
|
||||||
|
chart_yaml["appVersion"] = new_app_version
|
||||||
|
with open(path, "w", encoding="utf-8") as file:
|
||||||
|
yaml.safe_dump(chart_yaml, file)
|
||||||
|
|
||||||
|
|
||||||
|
# Main logic
|
||||||
|
chart_version = get_chart_version(chart_yaml_path)
|
||||||
|
gradle_version = get_gradle_version(gradle_path)
|
||||||
|
|
||||||
|
if chart_version["app"] != gradle_version:
|
||||||
|
new_chart_version = get_new_chart_version(chart_version["chart"], chart_version["app"], gradle_version, )
|
||||||
|
print(
|
||||||
|
f"Versions do not match. Updating Chart.yaml from {chart_version['chart']} to {new_chart_version}."
|
||||||
|
)
|
||||||
|
update_chart_version(chart_yaml_path, new_chart_version, gradle_version)
|
||||||
|
else:
|
||||||
|
print("Versions match. No update required.")
|
||||||
7
.github/workflows/push-docker.yml
vendored
7
.github/workflows/push-docker.yml
vendored
@@ -10,7 +10,6 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
packages: write
|
packages: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
push:
|
push:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -67,8 +66,6 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }},enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
@@ -96,8 +93,6 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
type=raw,value=latest-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=latest-ultra-lite,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
@@ -124,8 +119,6 @@ jobs:
|
|||||||
images: |
|
images: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
${{ secrets.DOCKER_HUB_USERNAME }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/s-pdf
|
||||||
ghcr.io/${{ steps.repoowner.outputs.lowercase }}/stirling-pdf
|
|
||||||
${{ secrets.DOCKER_HUB_ORG_USERNAME }}/stirling-pdf
|
|
||||||
tags: |
|
tags: |
|
||||||
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=${{ steps.versionNumber.outputs.versionNumber }}-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
type=raw,value=latest-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
type=raw,value=latest-fat,enable=${{ github.ref == 'refs/heads/master' }}
|
||||||
|
|||||||
38
.github/workflows/sync_files.yml
vendored
38
.github/workflows/sync_files.yml
vendored
@@ -14,6 +14,44 @@ permissions:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
sync-versions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.x"
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pip install pyyaml
|
||||||
|
- name: Sync versions
|
||||||
|
run: python .github/scripts/gradle_to_chart.py
|
||||||
|
- name: Set up git config
|
||||||
|
run: |
|
||||||
|
git config --global user.name "github-actions[bot]"
|
||||||
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
|
- name: Run git add
|
||||||
|
run: |
|
||||||
|
git add .
|
||||||
|
git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
|
||||||
|
> Made via sync_files.yml" || echo "no changes"
|
||||||
|
- name: Create Pull Request
|
||||||
|
uses: peter-evans/create-pull-request@v6
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
commit-message: Update files
|
||||||
|
committer: GitHub Action <action@github.com>
|
||||||
|
author: GitHub Action <action@github.com>
|
||||||
|
signoff: true
|
||||||
|
branch: sync_version
|
||||||
|
title: ":floppy_disk: Update Version"
|
||||||
|
body: |
|
||||||
|
Auto-generated by [create-pull-request][1]
|
||||||
|
|
||||||
|
[1]: https://github.com/peter-evans/create-pull-request
|
||||||
|
draft: false
|
||||||
|
delete-branch: true
|
||||||
|
labels: github-actions
|
||||||
sync-readme:
|
sync-readme:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# New Database Backup and Import Functionality
|
# New Database Backup and Import Functionality
|
||||||
|
|
||||||
> [!IMPORTANT]
|
**Full activation will take place on approximately January 5th, 2025!**
|
||||||
> **Full activation will take place on approximately January 5th, 2025!**
|
|
||||||
|
|
||||||
Why is the waiting time six months?
|
Why is the waiting time six months?
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ Stirling-PDF is a robust, locally hosted web-based PDF manipulation tool. This g
|
|||||||
## 2. Project Overview
|
## 2. Project Overview
|
||||||
|
|
||||||
Stirling-PDF is built using:
|
Stirling-PDF is built using:
|
||||||
|
|
||||||
- Spring Boot + Thymeleaf
|
- Spring Boot + Thymeleaf
|
||||||
- PDFBox
|
- PDFBox
|
||||||
- LibreOffice
|
- LibreOffice
|
||||||
@@ -21,17 +20,14 @@ Stirling-PDF is built using:
|
|||||||
## 3. Development Environment Setup
|
## 3. Development Environment Setup
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- Docker
|
- Docker
|
||||||
- Git
|
- Git
|
||||||
- Java JDK 17 or later
|
- Java JDK 17 or later
|
||||||
- Gradle 7.0 or later (Included within repo)
|
- Gradle 7.0 or later (Included within repo)
|
||||||
|
|
||||||
### Setup Steps
|
### Setup Steps
|
||||||
|
|
||||||
1. Clone the repository:
|
1. Clone the repository:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
git clone https://github.com/Stirling-Tools/Stirling-PDF.git
|
git clone https://github.com/Stirling-Tools/Stirling-PDF.git
|
||||||
cd Stirling-PDF
|
cd Stirling-PDF
|
||||||
```
|
```
|
||||||
@@ -47,9 +43,10 @@ Visit the [Lombok website](https://projectlombok.org/setup/) for installation in
|
|||||||
5. Add environment variable
|
5. Add environment variable
|
||||||
For local testing you should generally be testing the full 'Security' version of Stirling-PDF to do this you must add the environment flag DOCKER_ENABLE_SECURITY=true to your system and/or IDE build/run step
|
For local testing you should generally be testing the full 'Security' version of Stirling-PDF to do this you must add the environment flag DOCKER_ENABLE_SECURITY=true to your system and/or IDE build/run step
|
||||||
|
|
||||||
|
|
||||||
## 4. Project Structure
|
## 4. Project Structure
|
||||||
|
|
||||||
```bash
|
```
|
||||||
Stirling-PDF/
|
Stirling-PDF/
|
||||||
├── .github/ # GitHub-specific files (workflows, issue templates)
|
├── .github/ # GitHub-specific files (workflows, issue templates)
|
||||||
├── configs/ # Configuration files used by stirling at runtime (generated at runtime)
|
├── configs/ # Configuration files used by stirling at runtime (generated at runtime)
|
||||||
@@ -95,7 +92,6 @@ Stirling-PDF/
|
|||||||
## 5. Docker-based Development
|
## 5. Docker-based Development
|
||||||
|
|
||||||
Stirling-PDF offers several Docker versions:
|
Stirling-PDF offers several Docker versions:
|
||||||
|
|
||||||
- Full: All features included
|
- Full: All features included
|
||||||
- Ultra-Lite: Basic PDF operations only
|
- Ultra-Lite: Basic PDF operations only
|
||||||
- Fat: Includes additional libraries and fonts predownloaded
|
- Fat: Includes additional libraries and fonts predownloaded
|
||||||
@@ -157,13 +153,11 @@ docker-compose -f exampleYmlFiles/docker-compose-latest-security.yml up
|
|||||||
Stirling-PDF uses different Docker images for various configurations. The build process is controlled by environment variables and uses specific Dockerfile variants. Here's how to build the Docker images:
|
Stirling-PDF uses different Docker images for various configurations. The build process is controlled by environment variables and uses specific Dockerfile variants. Here's how to build the Docker images:
|
||||||
|
|
||||||
1. Set the security environment variable:
|
1. Set the security environment variable:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export DOCKER_ENABLE_SECURITY=false # or true for security-enabled builds
|
export DOCKER_ENABLE_SECURITY=false # or true for security-enabled builds
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Build the project with Gradle:
|
2. Build the project with Gradle:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./gradlew clean build
|
./gradlew clean build
|
||||||
```
|
```
|
||||||
@@ -171,19 +165,16 @@ Stirling-PDF uses different Docker images for various configurations. The build
|
|||||||
3. Build the Docker images:
|
3. Build the Docker images:
|
||||||
|
|
||||||
For the latest version:
|
For the latest version:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile .
|
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest -f ./Dockerfile .
|
||||||
```
|
```
|
||||||
|
|
||||||
For the ultra-lite version:
|
For the ultra-lite version:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite .
|
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-ultra-lite -f ./Dockerfile-ultra-lite .
|
||||||
```
|
```
|
||||||
|
|
||||||
For the fat version (with security enabled):
|
For the fat version (with security enabled):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export DOCKER_ENABLE_SECURITY=true
|
export DOCKER_ENABLE_SECURITY=true
|
||||||
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-fat -f ./Dockerfile-fat .
|
docker build --no-cache --pull --build-arg VERSION_TAG=alpha -t frooodle/s-pdf:latest-fat -f ./Dockerfile-fat .
|
||||||
@@ -191,6 +182,8 @@ Stirling-PDF uses different Docker images for various configurations. The build
|
|||||||
|
|
||||||
Note: The `--no-cache` and `--pull` flags ensure that the build process uses the latest base images and doesn't use cached layers, which is useful for testing and ensuring reproducible builds. however to improve build times these can often be removed depending on your usecase
|
Note: The `--no-cache` and `--pull` flags ensure that the build process uses the latest base images and doesn't use cached layers, which is useful for testing and ensuring reproducible builds. however to improve build times these can often be removed depending on your usecase
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 6. Testing
|
## 6. Testing
|
||||||
|
|
||||||
### Comprehensive Testing Script
|
### Comprehensive Testing Script
|
||||||
@@ -204,7 +197,6 @@ To run the test script:
|
|||||||
```
|
```
|
||||||
|
|
||||||
This script performs the following actions:
|
This script performs the following actions:
|
||||||
|
|
||||||
1. Builds all Docker images (full, ultra-lite, fat)
|
1. Builds all Docker images (full, ultra-lite, fat)
|
||||||
2. Runs each version to ensure it starts correctly
|
2. Runs each version to ensure it starts correctly
|
||||||
3. Executes Cucumber tests against main version and ensures feature compatibility, in the event these tests fail your PR will not be merged
|
3. Executes Cucumber tests against main version and ensures feature compatibility, in the event these tests fail your PR will not be merged
|
||||||
@@ -217,6 +209,7 @@ Note: The `test.sh` script will run automatically when you raise a PR. However,
|
|||||||
|
|
||||||
2. Access the application at `http://localhost:8080` and manually test all features developed.
|
2. Access the application at `http://localhost:8080` and manually test all features developed.
|
||||||
|
|
||||||
|
|
||||||
### Local Testing (Java and UI Components)
|
### Local Testing (Java and UI Components)
|
||||||
|
|
||||||
For quick iterations and development of Java backend, JavaScript, and UI components, you can run and test Stirling-PDF locally without Docker. This approach allows you to work on and verify changes to:
|
For quick iterations and development of Java backend, JavaScript, and UI components, you can run and test Stirling-PDF locally without Docker. This approach allows you to work on and verify changes to:
|
||||||
@@ -230,8 +223,7 @@ For quick iterations and development of Java backend, JavaScript, and UI compone
|
|||||||
To run Stirling-PDF locally:
|
To run Stirling-PDF locally:
|
||||||
|
|
||||||
1. Compile and run the project using built in IDE methods or by running:
|
1. Compile and run the project using built in IDE methods or by running:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
./gradlew bootRun
|
./gradlew bootRun
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -242,11 +234,11 @@ To run Stirling-PDF locally:
|
|||||||
4. For API changes, use tools like Postman or curl to test endpoints directly.
|
4. For API changes, use tools like Postman or curl to test endpoints directly.
|
||||||
|
|
||||||
Important notes:
|
Important notes:
|
||||||
|
|
||||||
- Local testing doesn't include features that depend on external tools like OCRmyPDF, LibreOffice, or Python scripts.
|
- Local testing doesn't include features that depend on external tools like OCRmyPDF, LibreOffice, or Python scripts.
|
||||||
- There are currently no automated unit tests. All testing is done manually through the UI or API calls. (You are welcome to add JUnits!)
|
- There are currently no automated unit tests. All testing is done manually through the UI or API calls. (You are welcome to add JUnits!)
|
||||||
- Always verify your changes in the full Docker environment before submitting pull requests, as some integrations and features will only work in the complete setup.
|
- Always verify your changes in the full Docker environment before submitting pull requests, as some integrations and features will only work in the complete setup.
|
||||||
|
|
||||||
|
|
||||||
## 7. Contributing
|
## 7. Contributing
|
||||||
|
|
||||||
1. Fork the repository on GitHub.
|
1. Fork the repository on GitHub.
|
||||||
@@ -254,17 +246,14 @@ Important notes:
|
|||||||
3. Make your changes and commit them with clear, descriptive messages and ensure any documentation is updated related to your changes.
|
3. Make your changes and commit them with clear, descriptive messages and ensure any documentation is updated related to your changes.
|
||||||
4. Test your changes thoroughly in the Docker environment.
|
4. Test your changes thoroughly in the Docker environment.
|
||||||
5. Run the `test.sh` script to ensure all versions build correctly and pass the Cucumber tests:
|
5. Run the `test.sh` script to ensure all versions build correctly and pass the Cucumber tests:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./test.sh
|
./test.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Push your changes to your fork.
|
6. Push your changes to your fork.
|
||||||
7. Submit a pull request to the main repository.
|
7. Submit a pull request to the main repository.
|
||||||
8. See additional [contributing guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
|
8. See additional [contributing guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
|
||||||
|
|
||||||
When you raise a PR:
|
When you raise a PR:
|
||||||
|
|
||||||
- The `test.sh` script will run automatically against your PR.
|
- The `test.sh` script will run automatically against your PR.
|
||||||
- The PR checks will verify versioning and dependency updates.
|
- The PR checks will verify versioning and dependency updates.
|
||||||
- Documentation will be automatically updated for dependency changes.
|
- Documentation will be automatically updated for dependency changes.
|
||||||
@@ -279,7 +268,6 @@ API documentation is available at `/swagger-ui/index.html` when running the appl
|
|||||||
## 9. Customization
|
## 9. Customization
|
||||||
|
|
||||||
Stirling-PDF can be customized through environment variables or a `settings.yml` file. Key customization options include:
|
Stirling-PDF can be customized through environment variables or a `settings.yml` file. Key customization options include:
|
||||||
|
|
||||||
- Application name and branding
|
- Application name and branding
|
||||||
- Security settings
|
- Security settings
|
||||||
- UI customization
|
- UI customization
|
||||||
@@ -288,8 +276,7 @@ Stirling-PDF can be customized through environment variables or a `settings.yml`
|
|||||||
When using Docker, pass environment variables using the `-e` flag or in your `docker-compose.yml` file.
|
When using Docker, pass environment variables using the `-e` flag or in your `docker-compose.yml` file.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
docker run -p 8080:8080 -e APP_NAME="My PDF Tool" stirling-pdf:full
|
docker run -p 8080:8080 -e APP_NAME="My PDF Tool" stirling-pdf:full
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -306,14 +293,16 @@ For managing language translations that affect multiple files, Stirling-PDF prov
|
|||||||
This script helps you make consistent replacements across language files.
|
This script helps you make consistent replacements across language files.
|
||||||
|
|
||||||
When contributing translations:
|
When contributing translations:
|
||||||
|
|
||||||
1. Use the helper script for multi-file changes.
|
1. Use the helper script for multi-file changes.
|
||||||
2. Ensure all language files are updated consistently.
|
2. Ensure all language files are updated consistently.
|
||||||
3. The PR checks will verify consistency in language file updates.
|
3. The PR checks will verify consistency in language file updates.
|
||||||
|
|
||||||
Remember to test your changes thoroughly to ensure they don't break any existing functionality.
|
Remember to test your changes thoroughly to ensure they don't break any existing functionality.
|
||||||
|
|
||||||
## Code examples
|
|
||||||
|
|
||||||
|
|
||||||
|
# Code examples
|
||||||
|
|
||||||
### Overview of Thymeleaf
|
### Overview of Thymeleaf
|
||||||
|
|
||||||
@@ -322,28 +311,22 @@ Thymeleaf is a server-side Java HTML template engine. It is used in Stirling-PD
|
|||||||
### Thymeleaf overview
|
### Thymeleaf overview
|
||||||
|
|
||||||
In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content.
|
In Stirling-PDF, Thymeleaf is used to create HTML templates that are rendered on the server side. These templates are located in the `src/main/resources/templates` directory. Thymeleaf templates use a combination of HTML and special Thymeleaf attributes to dynamically generate content.
|
||||||
|
Some examples of this are
|
||||||
Some examples of this are:
|
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
||||||
or
|
or
|
||||||
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
||||||
```
|
```
|
||||||
|
|
||||||
Where it uses the th:block, th: indicating its a special thymeleaf element to be used serverside in generating the html, and block being the actual element type.
|
Where it uses the th:block, th: indicating its a special thymeleaf element to be used serverside in generating the html, and block being the actual element type.
|
||||||
In this case we are inserting the ``navbar`` entry within the ``fragments/navbar.html`` fragment into the ``th:block`` element.
|
In this case we are inserting the ``navbar`` entry within the ``fragments/navbar.html`` fragment into the ``th:block`` element.
|
||||||
|
|
||||||
They can be more complex such as:
|
They can be more complex such as
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}"></th:block>
|
<th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}"></th:block>
|
||||||
```
|
```
|
||||||
|
|
||||||
Which is the same as above but passes the parameters title and header into the fragment common.html to be used in its HTML generation
|
Which is the same as above but passes the parameters title and header into the fragment common.html to be used in its HTML generation
|
||||||
|
|
||||||
Thymeleaf can also be used to loop through objects or pass things from java side into html side.
|
Thymeleaf can also be used to loop through objects or pass things from java side into html side.
|
||||||
|
|
||||||
```java
|
```java
|
||||||
@GetMapping
|
@GetMapping
|
||||||
public String newFeaturePage(Model model) {
|
public String newFeaturePage(Model model) {
|
||||||
@@ -351,9 +334,7 @@ Thymeleaf can also be used to loop through objects or pass things from java side
|
|||||||
return "new-feature";
|
return "new-feature";
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
in above example if exampleData is a list of plain java objects of class Person and within it you had id, name, age etc. You can reference it like so
|
in above example if exampleData is a list of plain java objects of class Person and within it you had id, name, age etc. You can reference it like so
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<tbody>
|
<tbody>
|
||||||
<!-- Use th:each to iterate over the list -->
|
<!-- Use th:each to iterate over the list -->
|
||||||
@@ -365,7 +346,6 @@ in above example if exampleData is a list of plain java objects of class Person
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
```
|
```
|
||||||
|
|
||||||
This would generate n entries of tr for each person in exampleData
|
This would generate n entries of tr for each person in exampleData
|
||||||
|
|
||||||
### Adding a New Feature to the Backend (API)
|
### Adding a New Feature to the Backend (API)
|
||||||
@@ -417,8 +397,7 @@ This would generate n entries of tr for each person in exampleData
|
|||||||
```
|
```
|
||||||
|
|
||||||
2b. **Integrate the Service with the Controller:**
|
2b. **Integrate the Service with the Controller:**
|
||||||
|
- Autowire the service class in the controller and use it to handle the API request.
|
||||||
- Autowire the service class in the controller and use it to handle the API request.
|
|
||||||
|
|
||||||
```java
|
```java
|
||||||
package stirling.software.SPDF.controller.api;
|
package stirling.software.SPDF.controller.api;
|
||||||
@@ -532,6 +511,7 @@ This would generate n entries of tr for each person in exampleData
|
|||||||
</li>
|
</li>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Adding New Translations to Existing Language Files in Stirling-PDF
|
## Adding New Translations to Existing Language Files in Stirling-PDF
|
||||||
|
|
||||||
When adding a new feature or modifying existing ones in Stirling-PDF, you'll need to add new translation entries to the existing language files. Here's a step-by-step guide:
|
When adding a new feature or modifying existing ones in Stirling-PDF, you'll need to add new translation entries to the existing language files. Here's a step-by-step guide:
|
||||||
@@ -542,8 +522,8 @@ Find the existing `messages.properties` files in the `src/main/resources` direct
|
|||||||
|
|
||||||
- `messages.properties` (default, usually English)
|
- `messages.properties` (default, usually English)
|
||||||
- `messages_en_GB.properties`
|
- `messages_en_GB.properties`
|
||||||
- `messages_fr_FR.properties`
|
- `messages_fr.properties`
|
||||||
- `messages_de_DE.properties`
|
- `messages_de.properties`
|
||||||
- etc.
|
- etc.
|
||||||
|
|
||||||
### 2. Add New Translation Entries
|
### 2. Add New Translation Entries
|
||||||
@@ -572,4 +552,6 @@ In your Thymeleaf templates, use the `#{key}` syntax to reference the new transl
|
|||||||
<button th:text="#{pdfSplitter.button.split}">Split PDF</button>
|
<button th:text="#{pdfSplitter.button.split}">Split PDF</button>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Remember, never hard-code text in your templates or Java code. Always use translation keys to ensure proper localization.
|
Remember, never hard-code text in your templates or Java code. Always use translation keys to ensure proper localization.
|
||||||
|
|||||||
@@ -1,46 +1,47 @@
|
|||||||
| Operation | PageOps | Convert | Security | Other | CLI | Python | OpenCV | LibreOffice | OCRmyPDF | Java | Javascript | Unoconv | Ghostscript |
|
| Operation | PageOps | Convert | Security | Other | CLI | Python | OpenCV | LibreOffice | OCRmyPDF | Java | Javascript |
|
||||||
| ------------------- | ------- | ------- | -------- | ----- | --- | ------ | ------ | ----------- | -------- | ---- | ---------- | ------- | ----------- |
|
| ------------------- | ------- | ------- | -------- | ----- | --- | ------ | ------ | ----------- | -------- | ---- | ---------- |
|
||||||
| adjust-contrast | ✔️ | | | | | | | | | | ✔️ | | |
|
| adjust-contrast | ✔️ | | | | | | | | | | ✔️ |
|
||||||
| auto-split-pdf | ✔️ | | | | | | | | | ✔️ | | | |
|
| auto-split-pdf | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| crop | ✔️ | | | | | | | | | ✔️ | | | |
|
| crop | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| extract-page | ✔️ | | | | | | | | | ✔️ | | | |
|
| extract-page | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| merge-pdfs | ✔️ | | | | | | | | | ✔️ | | | |
|
| merge-pdfs | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| multi-page-layout | ✔️ | | | | | | | | | ✔️ | | | |
|
| multi-page-layout | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| pdf-organizer | ✔️ | | | | | | | | | ✔️ | ✔️ | | |
|
| pdf-organizer | ✔️ | | | | | | | | | ✔️ | ✔️ |
|
||||||
| pdf-to-single-page | ✔️ | | | | | | | | | ✔️ | | | |
|
| pdf-to-single-page | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| remove-pages | ✔️ | | | | | | | | | ✔️ | | | |
|
| remove-pages | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| rotate-pdf | ✔️ | | | | | | | | | ✔️ | | | |
|
| rotate-pdf | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| scale-pages | ✔️ | | | | | | | | | ✔️ | | | |
|
| scale-pages | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| split-pdfs | ✔️ | | | | | | | | | ✔️ | | | |
|
| split-pdfs | ✔️ | | | | | | | | | ✔️ | |
|
||||||
| file-to-pdf | | ✔️ | | | ✔️ | ✔️ | | ✔️ | | | | ✔️ | |
|
| file-to-pdf | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| img-to-pdf | | ✔️ | | | | | | | | ✔️ | | | |
|
| img-to-pdf | | ✔️ | | | | | | | | ✔️ | |
|
||||||
| pdf-to-html | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
|
| pdf-to-html | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| pdf-to-img | | ✔️ | | | | ✔️ | | | | ✔️ | | | |
|
| pdf-to-img | | ✔️ | | | | ✔️ | | | | ✔️ | |
|
||||||
| pdf-to-pdfa | | ✔️ | | | ✔️ | | | | ✔️ | | | | ✔️ |
|
| pdf-to-pdfa | | ✔️ | | | ✔️ | | | | ✔️ | | |
|
||||||
| pdf-to-markdown | | ✔️ | | | | | | | | ✔️ | | | |
|
| pdf-to-markdown | | ✔️ | | | | | | | | ✔️ | |
|
||||||
| pdf-to-presentation | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
|
| pdf-to-presentation | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| pdf-to-text | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
|
| pdf-to-text | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| pdf-to-word | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
|
| pdf-to-word | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| pdf-to-xml | | ✔️ | | | ✔️ | | | ✔️ | | | | | |
|
| pdf-to-xml | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| add-password | | | ✔️ | | | | | | | ✔️ | | | |
|
| xlsx-to-pdf | | ✔️ | | | ✔️ | | | ✔️ | | | |
|
||||||
| add-watermark | | | ✔️ | | | | | | | ✔️ | | | |
|
| add-password | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| cert-sign | | | ✔️ | | | | | | | ✔️ | | | |
|
| add-watermark | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| remove-cert-sign | | | ✔️ | | | | | | | ✔️ | | | |
|
| cert-sign | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| change-permissions | | | ✔️ | | | | | | | ✔️ | | | |
|
| remove-cert-sign | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| remove-password | | | ✔️ | | | | | | | ✔️ | | | |
|
| change-permissions | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| sanitize-pdf | | | ✔️ | | | | | | | ✔️ | | | |
|
| remove-password | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| add-image | | | | ✔️ | | | | | | ✔️ | | | |
|
| sanitize-pdf | | | ✔️ | | | | | | | ✔️ | |
|
||||||
| add-page-numbers | | | | ✔️ | | | | | | ✔️ | | | |
|
| add-image | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| auto-rename | | | | ✔️ | | | | | | ✔️ | | | |
|
| add-page-numbers | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| change-metadata | | | | ✔️ | | | | | | ✔️ | | | |
|
| auto-rename | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| compare | | | | ✔️ | | | | | | | ✔️ | | |
|
| change-metadata | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| compress-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | ✔️ |
|
| compare | | | | ✔️ | | | | | | | ✔️ |
|
||||||
| extract-image-scans | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | |
|
| compress-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | |
|
||||||
| extract-images | | | | ✔️ | | | | | | ✔️ | | | |
|
| extract-image-scans | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | |
|
||||||
| flatten | | | | ✔️ | | | | | | | ✔️ | | |
|
| extract-images | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| get-info-on-pdf | | | | ✔️ | | | | | | ✔️ | | | |
|
| flatten | | | | ✔️ | | | | | | | ✔️ |
|
||||||
| ocr-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | | | |
|
| get-info-on-pdf | | | | ✔️ | | | | | | ✔️ | |
|
||||||
| remove-blanks | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | | | |
|
| ocr-pdf | | | | ✔️ | ✔️ | | | | ✔️ | | |
|
||||||
| repair | | | | ✔️ | ✔️ | | | ✔️ | | | | | ✔️ |
|
| remove-blanks | | | | ✔️ | ✔️ | ✔️ | ✔️ | | | | |
|
||||||
| show-javascript | | | | ✔️ | | | | | | | ✔️ | | |
|
| repair | | | | ✔️ | ✔️ | | | ✔️ | | | |
|
||||||
| sign | | | | ✔️ | | | | | | | ✔️ | | |
|
| show-javascript | | | | ✔️ | | | | | | | ✔️ |
|
||||||
|
| sign | | | | ✔️ | | | | | | | ✔️ |
|
||||||
|
|||||||
@@ -1,41 +1,33 @@
|
|||||||
## User Guide for Local Directory Scanning and File Processing
|
## User Guide for Local Directory Scanning and File Processing
|
||||||
|
|
||||||
### Setting Up Watched Folders
|
### Setting Up Watched Folders:
|
||||||
|
|
||||||
- Create a folder where you want your files to be monitored. This is your 'watched folder'.
|
- Create a folder where you want your files to be monitored. This is your 'watched folder'.
|
||||||
- The default directory for this is `./pipeline/watchedFolders/`.
|
- The default directory for this is `./pipeline/watchedFolders/`
|
||||||
- Place any directories you want to be scanned into this folder. This folder should contain multiple folders, each for their own tasks and pipelines.
|
- Place any directories you want to be scanned into this folder, this folder should contain multiple folders each for their own tasks and pipelines.
|
||||||
|
|
||||||
### Configuring Processing with JSON Files
|
### Configuring Processing with JSON Files:
|
||||||
|
- In each directory you want processed (e.g `./pipeline/watchedFolders/officePrinter`), include a JSON configuration file.
|
||||||
- In each directory you want processed (e.g., `./pipeline/watchedFolders/officePrinter`), include a JSON configuration file.
|
- This JSON file should specify how you want the files in the directory to be handled (e.g., what operations to perform on them) which can be made, configured and downloaded from Stirling-PDF Pipeline interface.r
|
||||||
- This JSON file should specify how you want the files in the directory to be handled (e.g., what operations to perform on them). This can be made, configured, and downloaded from the Stirling-PDF Pipeline interface.
|
|
||||||
|
|
||||||
### Automatic Scanning and Processing
|
|
||||||
|
|
||||||
|
### Automatic Scanning and Processing:
|
||||||
- The system automatically checks the watched folder every minute for new directories and files to process.
|
- The system automatically checks the watched folder every minute for new directories and files to process.
|
||||||
- When a directory with a valid JSON configuration file is found, it begins processing the files inside according to the configuration.
|
- When a directory with a valid JSON configuration file is found, it begins processing the files inside as per the configuration.
|
||||||
|
|
||||||
### Processing Steps
|
|
||||||
|
|
||||||
|
### Processing Steps:
|
||||||
- Files in each directory are processed according to the instructions in the JSON file.
|
- Files in each directory are processed according to the instructions in the JSON file.
|
||||||
- This might involve file conversions, data filtering, renaming files, etc. If the output of a step is a zip, this zip will be automatically unzipped as it passes to the next process.
|
- This might involve file conversions, data filtering, renaming files, etc. If the output of a step is a zip, this zip will be automatically unzipped as it passes to next process.
|
||||||
|
|
||||||
### Results and Output
|
|
||||||
|
|
||||||
|
### Results and Output:
|
||||||
- After processing, the results are saved in a specified output location. This could be a different folder or location as defined in the JSON file or the default location `./pipeline/finishedFolders/`.
|
- After processing, the results are saved in a specified output location. This could be a different folder or location as defined in the JSON file or the default location `./pipeline/finishedFolders/`.
|
||||||
- Each processed file is named and organized according to the rules set in the JSON configuration.
|
- Each processed file is named and organized according to the rules set in the JSON configuration.
|
||||||
|
|
||||||
### Completion and Cleanup
|
### Completion and Cleanup:
|
||||||
|
|
||||||
- Once processing is complete, the original files in the watched folder's directory are removed.
|
- Once processing is complete, the original files in the watched folder's directory are removed.
|
||||||
- You can find the processed files in the designated output location.
|
- You can find the processed files in the designated output location.
|
||||||
|
|
||||||
### Error Handling
|
### Error Handling:
|
||||||
|
|
||||||
- If there's an error during processing, the system will not delete the original files, allowing you to check and retry if necessary.
|
- If there's an error during processing, the system will not delete the original files, allowing you to check and retry if necessary.
|
||||||
|
|
||||||
### User Interaction
|
### User Interaction:
|
||||||
|
|
||||||
- As a user, your main tasks are to set up the watched folders, place directories with files for processing, and create the corresponding JSON configuration files.
|
- As a user, your main tasks are to set up the watched folders, place directories with files for processing, and create the corresponding JSON configuration files.
|
||||||
- The system handles the rest, including scanning, processing, and outputting results.
|
- The system handles the rest, including scanning, processing, and outputting results.
|
||||||
|
|||||||
@@ -1,47 +1,43 @@
|
|||||||
<p align="center">
|
<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>
|
||||||
<img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80">
|
|
||||||
<br>
|
|
||||||
<h1 align="center">Stirling-PDF</h1>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
# How to add new languages to Stirling-PDF
|
# How to add new languages to Stirling-PDF
|
||||||
|
|
||||||
Fork Stirling-PDF and create a new branch out of `main`.
|
Fork Stirling-PDF and make a new branch out of Main
|
||||||
|
|
||||||
Then add a reference to the language in the navbar by adding a new language entry to the dropdown:
|
Then add reference to the language in the navbar by adding a new language entry to the dropdown
|
||||||
|
|
||||||
- Edit the file: [languages.html](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/templates/fragments/languages.html)
|
https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/templates/fragments/languages.html
|
||||||
- Add a flag SVG file to: [flags directory](https://github.com/Stirling-Tools/Stirling-PDF/tree/main/src/main/resources/static/images/flags)
|
and add a flag svg file to
|
||||||
|
https://github.com/Stirling-Tools/Stirling-PDF/tree/main/src/main/resources/static/images/flags
|
||||||
|
Any SVG flags are fine, i got most of mine from [here](https://flagicons.lipis.dev/)
|
||||||
|
If your language isn't represented by a flag just find whichever closely matches it, such as for Arabic i chose Saudi Arabia
|
||||||
|
|
||||||
Any SVG flags are fine; most of the current ones were sourced from [here](https://flagicons.lipis.dev/). If your language isn't represented by a flag, choose a similar one, such as Saudi Arabia's flag for Arabic.
|
For example to add Polish you would add
|
||||||
|
|
||||||
For example, to add Polish, you would add:
|
|
||||||
|
|
||||||
```html
|
```html
|
||||||
<a class="dropdown-item lang_dropdown-item" href="" data-bs-language-code="pl_PL">
|
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="pl_PL">
|
||||||
<img src="images/flags/pl.svg" alt="icon" width="20" height="15"> Polski
|
<img src="images/flags/pl.svg" alt="icon" width="20" height="15"> Polski
|
||||||
</a>
|
</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
The `data-bs-language-code` is the code used to reference the file in the next step.
|
The data-language-code is the code used to reference the file in the next step.
|
||||||
|
|
||||||
### Add Language Property File
|
Start by copying the existing english property file
|
||||||
|
|
||||||
Start by copying the existing English property file:
|
[https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties)
|
||||||
|
|
||||||
- [messages_en_GB.properties](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/messages_en_GB.properties)
|
Copy and rename it to messages_{your data-language-code here}.properties, in the polish example you would set the name to messages_pl_PL.properties
|
||||||
|
|
||||||
Copy and rename it to `messages_{your data-bs-language-code here}.properties`. In the Polish example, you would set the name to `messages_pl_PL.properties`.
|
Then simply translate all property entries within that file and make a PR into main for others to use!
|
||||||
|
|
||||||
Then simply translate all property entries within that file and make a Pull Request (PR) into `main` for others to use!
|
If you do not have a java IDE i am happy to verify the changes worked once you raise PR (but won't be able to verify the translations themselves)
|
||||||
|
|
||||||
If you do not have a Java IDE, I am happy to verify that the changes work once you raise the PR (but I won't be able to verify the translations themselves).
|
|
||||||
|
|
||||||
## Handling Untranslatable Strings
|
## Handling Untranslatable Strings
|
||||||
|
|
||||||
Sometimes, certain strings in the properties file may not require translation because they are the same in the target language or are universal (like names of protocols, certain terminologies, etc.). To ensure accurate statistics for language progress, these strings should be added to the `ignore_translation.toml` file located in the `scripts` directory. This will exclude them from the translation progress calculations.
|
Sometimes, certain strings in the properties file may not require translation because they are the same in the target language or are universal (like names of protocols, certain terminologies, etc.). To ensure accurate statistics for language progress, these strings should be added to the `ignore_translation.toml` file located in the `scripts` directory. This will exclude them from the translation progress calculations.
|
||||||
|
|
||||||
For example, if the English string `error=Error` does not need translation in Polish, add it to the `ignore_translation.toml` under the Polish section:
|
For example, if the English string error=Error does not need translation in Polish, add it to the ignore_translation.toml under the Polish section:
|
||||||
|
|
||||||
```toml
|
```toml
|
||||||
[pl_PL]
|
[pl_PL]
|
||||||
@@ -53,9 +49,7 @@ ignore = [
|
|||||||
|
|
||||||
## Add New Translation Tags
|
## Add New Translation Tags
|
||||||
|
|
||||||
> [!IMPORTANT]
|
- **Important**: If you add any new translation tags, they must first be added to the `messages_en_GB.properties` file. This ensures consistency across all language files.
|
||||||
> If you add any new translation tags, they must first be added to the `messages_en_GB.properties` file. This ensures consistency across all language files.
|
|
||||||
|
|
||||||
- New translation tags **must be added** to the `messages_en_GB.properties` file to maintain a reference for other languages.
|
- New translation tags **must be added** to the `messages_en_GB.properties` file to maintain a reference for other languages.
|
||||||
- After adding the new tags to `messages_en_GB.properties`, add and translate them in the respective language file (e.g., `messages_pl_PL.properties`).
|
- After adding the new tags to `messages_en_GB.properties`, add and translate them in the respective language file (e.g., `messages_pl_PL.properties`).
|
||||||
|
|
||||||
|
|||||||
@@ -3,37 +3,35 @@
|
|||||||
This document provides instructions on how to add additional language packs for the OCR tab in Stirling-PDF, both inside and outside of Docker.
|
This document provides instructions on how to add additional language packs for the OCR tab in Stirling-PDF, both inside and outside of Docker.
|
||||||
|
|
||||||
## My OCR used to work and now doesn't!
|
## My OCR used to work and now doesn't!
|
||||||
|
The paths have changed for the tessadata locations on new docker images, please use ``/usr/share/tessdata`` (Others should still work for backwards compatibility but might not)
|
||||||
The paths have changed for the tessdata locations on new Docker images. Please use `/usr/share/tessdata` (Others should still work for backward compatibility but might not).
|
|
||||||
|
|
||||||
## How does the OCR Work
|
## How does the OCR Work
|
||||||
|
Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) which in turn uses tesseract for its text recognition.
|
||||||
Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF), which in turn uses Tesseract for its text recognition. All credit goes to them for this awesome work!
|
All credit goes to them for this awesome work!
|
||||||
|
|
||||||
## Language Packs
|
## Language Packs
|
||||||
|
|
||||||
Tesseract OCR supports a variety of languages. You can find additional language packs in the Tesseract GitHub repositories:
|
Tesseract OCR supports a variety of languages. You can find additional language packs in the Tesseract GitHub repositories:
|
||||||
|
|
||||||
- [tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast): These language packs are smaller and faster to load but may provide lower recognition accuracy.
|
- [tessdata_fast](https://github.com/tesseract-ocr/tessdata_fast): These language packs are smaller and faster to load, but may provide lower recognition accuracy.
|
||||||
- [tessdata](https://github.com/tesseract-ocr/tessdata): These language packs are larger and provide better recognition accuracy, but may take longer to load.
|
- [tessdata](https://github.com/tesseract-ocr/tessdata): These language packs are larger and provide better recognition accuracy, but may take longer to load.
|
||||||
|
|
||||||
Depending on your requirements, you can choose the appropriate language pack for your use case. By default, Stirling-PDF uses `tessdata_fast` for English, but this can be replaced.
|
Depending on your requirements, you can choose the appropriate language pack for your use case. By default Stirling-PDF uses the tessdata_fast eng but this can be replaced.
|
||||||
|
|
||||||
### Installing Language Packs
|
### Installing Language Packs
|
||||||
|
|
||||||
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
|
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
|
||||||
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
|
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
|
||||||
|
|
||||||
**DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.**
|
# DO NOT REMOVE EXISTING ENG.TRAINEDDATA, IT'S REQUIRED.
|
||||||
|
|
||||||
### Docker Setup
|
#### Docker
|
||||||
|
|
||||||
If you are using Docker, you need to expose the Tesseract tessdata directory as a volume in order to use the additional language packs.
|
If you are using Docker, you need to expose the Tesseract tessdata directory as a volume in order to use the additional language packs.
|
||||||
|
|
||||||
#### Docker Compose
|
#### Docker Compose
|
||||||
|
|
||||||
Modify your `docker-compose.yml` file to include the following volume configuration:
|
Modify your `docker-compose.yml` file to include the following volume configuration:
|
||||||
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
your_service_name:
|
your_service_name:
|
||||||
@@ -42,19 +40,18 @@ services:
|
|||||||
- /location/of/trainingData:/usr/share/tessdata
|
- /location/of/trainingData:/usr/share/tessdata
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Docker Run
|
|
||||||
|
|
||||||
Add the following to your existing Docker run command:
|
|
||||||
|
|
||||||
|
#### Docker run
|
||||||
|
Add the following to your existing docker run command
|
||||||
```bash
|
```bash
|
||||||
-v /location/of/trainingData:/usr/share/tessdata
|
-v /location/of/trainingData:/usr/share/tessdata
|
||||||
```
|
```
|
||||||
|
|
||||||
### Non-Docker Setup
|
#### Non-Docker
|
||||||
|
If you are not using Docker, you need to install the OCR components, including the ocrmypdf app.
|
||||||
|
You can see [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html)
|
||||||
|
|
||||||
If you are not using Docker, you need to install the OCR components, including the `ocrmypdf` app. You can see the [OCRmyPDF install guide](https://ocrmypdf.readthedocs.io/en/latest/installation.html).
|
Debian based systems, install languages with this command:
|
||||||
|
|
||||||
For Debian-based systems, install languages with this command:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update &&\
|
sudo apt update &&\
|
||||||
@@ -68,7 +65,7 @@ apt search tesseract-ocr-
|
|||||||
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
|
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
|
||||||
```
|
```
|
||||||
|
|
||||||
For Fedora:
|
Fedora:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# All languages
|
# All languages
|
||||||
@@ -80,23 +77,3 @@ dnf search -C tesseract-langpack-
|
|||||||
# View installed languages:
|
# View installed languages:
|
||||||
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
|
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
|
||||||
```
|
```
|
||||||
|
|
||||||
For Windows:
|
|
||||||
|
|
||||||
Ensure ocrmypdf in installed with
|
|
||||||
``pip install ocrmypdf``
|
|
||||||
|
|
||||||
Additional languages must be downloaded manually:
|
|
||||||
Download desired .traineddata files from tessdata or tessdata_fast
|
|
||||||
Place them in the tessdata folder within your Tesseract installation directory
|
|
||||||
(e.g., C:\Program Files\Tesseract-OCR\tessdata)
|
|
||||||
|
|
||||||
Verify installation:
|
|
||||||
``tesseract --list-langs``
|
|
||||||
|
|
||||||
You must then edit your ``/configs/settings.yml`` and change the system.tessdataDir to match the directory containing lang files
|
|
||||||
```
|
|
||||||
system:
|
|
||||||
tessdataDir: C:/Program Files/Tesseract-OCR/tessdata # path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|||||||
143
LocalRunGuide.md
143
LocalRunGuide.md
@@ -1,28 +1,41 @@
|
|||||||
|
|
||||||
To run the application without Docker/Podman, you will need to manually install all dependencies and build the necessary components.
|
To run the application without Docker/Podman, you will need to manually install all dependencies and build the necessary components.
|
||||||
|
|
||||||
Note that some dependencies might not be available in the standard repositories of all Linux distributions, and may require additional steps to install.
|
Note that some dependencies might not be available in the standard repositories of all Linux distributions, and may require additional steps to install.
|
||||||
|
|
||||||
The following guide assumes you have a basic understanding of using a command line interface in your operating system.
|
The following guide assumes you have a basic understanding of using a command line interface in your operating system.
|
||||||
|
|
||||||
It should work on most Linux distributions and MacOS. For Windows, you might need to use Windows Subsystem for Linux (WSL) for certain steps. The amount of dependencies is to actually reduce overall size, i.e., installing LibreOffice subcomponents rather than the full LibreOffice package.
|
It should work on most Linux distributions and MacOS. For Windows, you might need to use Windows Subsystem for Linux (WSL) for certain steps.
|
||||||
|
The amount of dependencies is to actually reduce overall size, ie installing LibreOffice sub components rather than full LibreOffice package.
|
||||||
|
|
||||||
You could theoretically use a Distrobox/Toolbox if your distribution has old or not all packages. But you might just as well use the Docker container then.
|
You could theoretically use a Distrobox/Toolbox, if your Distribution has old or not all Packages. But you might just as well use the Docker Container then.
|
||||||
|
|
||||||
### Step 1: Prerequisites
|
### Step 1: Prerequisites
|
||||||
|
|
||||||
Install the following software, if not already installed:
|
Install the following software, if not already installed:
|
||||||
|
|
||||||
- Java 17 or later (21 recommended)
|
- Java 17 or later (21 recommended)
|
||||||
|
|
||||||
- Gradle 7.0 or later (included within repo so not needed on server)
|
- Gradle 7.0 or later (included within repo so not needed on server)
|
||||||
|
|
||||||
- Git
|
- Git
|
||||||
|
|
||||||
- Python 3.8 (with pip)
|
- Python 3.8 (with pip)
|
||||||
|
|
||||||
- Make
|
- Make
|
||||||
|
|
||||||
- GCC/G++
|
- GCC/G++
|
||||||
|
|
||||||
- Automake
|
- Automake
|
||||||
|
|
||||||
- Autoconf
|
- Autoconf
|
||||||
|
|
||||||
- libtool
|
- libtool
|
||||||
|
|
||||||
- pkg-config
|
- pkg-config
|
||||||
|
|
||||||
- zlib1g-dev
|
- zlib1g-dev
|
||||||
|
|
||||||
- libleptonica-dev
|
- libleptonica-dev
|
||||||
|
|
||||||
For Debian-based systems, you can use the following command:
|
For Debian-based systems, you can use the following command:
|
||||||
@@ -39,7 +52,6 @@ sudo dnf install -y git automake autoconf libtool leptonica-devel pkg-config zli
|
|||||||
```
|
```
|
||||||
|
|
||||||
For non-root users with Nix Package Manager, use the following command:
|
For non-root users with Nix Package Manager, use the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix-channel --update
|
nix-channel --update
|
||||||
nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica
|
nix-env -iA nixpkgs.jdk21 nixpkgs.git nixpkgs.python38 nixpkgs.gnumake nixpkgs.libgcc nixpkgs.automake nixpkgs.autoconf nixpkgs.libtool nixpkgs.pkg-config nixpkgs.zlib nixpkgs.leptonica
|
||||||
@@ -51,37 +63,45 @@ For Debian and Fedora, you can build it from source using the following commands
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir ~/.git
|
mkdir ~/.git
|
||||||
cd ~/.git && \
|
cd ~/.git &&\
|
||||||
git clone https://github.com/agl/jbig2enc.git && \
|
git clone https://github.com/agl/jbig2enc.git &&\
|
||||||
cd jbig2enc && \
|
cd jbig2enc &&\
|
||||||
./autogen.sh && \
|
./autogen.sh &&\
|
||||||
./configure && \
|
./configure &&\
|
||||||
make && \
|
make &&\
|
||||||
sudo make install
|
sudo make install
|
||||||
```
|
```
|
||||||
|
|
||||||
For Nix, you will face `Leptonica not detected`. Bypass this by installing it directly using the following command:
|
For Nix, you will face `Leptonica not detected`. Bypass this by installing it directly using the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix-env -iA nixpkgs.jbig2enc
|
nix-env -iA nixpkgs.jbig2enc
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 3: Install Additional Software
|
### Step 3: Install Additional Software
|
||||||
|
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for pattern recognition functionality.
|
||||||
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and OpenCV for pattern recognition functionality.
|
|
||||||
|
|
||||||
Install the following software:
|
Install the following software:
|
||||||
|
|
||||||
- libreoffice-core
|
- libreoffice-core
|
||||||
|
|
||||||
- libreoffice-common
|
- libreoffice-common
|
||||||
|
|
||||||
- libreoffice-writer
|
- libreoffice-writer
|
||||||
|
|
||||||
- libreoffice-calc
|
- libreoffice-calc
|
||||||
|
|
||||||
- libreoffice-impress
|
- libreoffice-impress
|
||||||
|
|
||||||
- python3-uno
|
- python3-uno
|
||||||
|
|
||||||
- unoconv
|
- unoconv
|
||||||
|
|
||||||
- pngquant
|
- pngquant
|
||||||
|
|
||||||
- unpaper
|
- unpaper
|
||||||
|
|
||||||
- ocrmypdf
|
- ocrmypdf
|
||||||
|
|
||||||
- opencv-python-headless
|
- opencv-python-headless
|
||||||
|
|
||||||
For Debian-based systems, you can use the following command:
|
For Debian-based systems, you can use the following command:
|
||||||
@@ -108,41 +128,40 @@ pip3 install uno opencv-python-headless unoconv pngquant WeasyPrint
|
|||||||
### Step 4: Clone and Build Stirling-PDF
|
### Step 4: Clone and Build Stirling-PDF
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd ~/.git && \
|
cd ~/.git &&\
|
||||||
git clone https://github.com/Stirling-Tools/Stirling-PDF.git && \
|
git clone https://github.com/Stirling-Tools/Stirling-PDF.git &&\
|
||||||
cd Stirling-PDF && \
|
cd Stirling-PDF &&\
|
||||||
chmod +x ./gradlew && \
|
chmod +x ./gradlew &&\
|
||||||
./gradlew build
|
./gradlew build
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 5: Move Jar to Desired Location
|
### Step 5: Move jar to desired location
|
||||||
|
|
||||||
After the build process, a `.jar` file will be generated in the `build/libs` directory. You can move this file to a desired location, for example, `/opt/Stirling-PDF/`. You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory. This folder is required for the Python scripts using OpenCV.
|
After the build process, a `.jar` file will be generated in the `build/libs` directory.
|
||||||
|
You can move this file to a desired location, for example, `/opt/Stirling-PDF/`.
|
||||||
|
You must also move the Script folder within the Stirling-PDF repo that you have downloaded to this directory.
|
||||||
|
This folder is required for the python scripts using OpenCV.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo mkdir /opt/Stirling-PDF && \
|
sudo mkdir /opt/Stirling-PDF &&\
|
||||||
sudo mv ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ && \
|
sudo mv ./build/libs/Stirling-PDF-*.jar /opt/Stirling-PDF/ &&\
|
||||||
sudo mv scripts /opt/Stirling-PDF/ && \
|
sudo mv scripts /opt/Stirling-PDF/ &&\
|
||||||
echo "Scripts installed."
|
echo "Scripts installed."
|
||||||
```
|
```
|
||||||
|
|
||||||
For non-root users, you can just keep the jar in the main directory of Stirling-PDF using the following command:
|
For non-root users, you can just keep the jar in the main directory of Stirling-PDF using the following command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mv ./build/libs/Stirling-PDF-*.jar ./Stirling-PDF-*.jar
|
mv ./build/libs/Stirling-PDF-*.jar ./Stirling-PDF-*.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 6: Other Files
|
### Step 6: Other files
|
||||||
|
|
||||||
#### OCR
|
#### OCR
|
||||||
|
If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running non-english scanning.
|
||||||
If you plan to use the OCR (Optical Character Recognition) functionality, you might need to install language packs for Tesseract if running non-English scanning.
|
|
||||||
|
|
||||||
##### Installing Language Packs
|
##### Installing Language Packs
|
||||||
|
Easiest is to use the langpacks provided by your repositories. Skip the other steps.
|
||||||
|
|
||||||
The easiest method is to use the language packs provided by your repositories. Skip the other steps if they are available.
|
Manual:
|
||||||
|
|
||||||
**Manual:**
|
|
||||||
|
|
||||||
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
|
1. Download the desired language pack(s) by selecting the `.traineddata` file(s) for the language(s) you need.
|
||||||
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
|
2. Place the `.traineddata` files in the Tesseract tessdata directory: `/usr/share/tessdata`
|
||||||
@@ -150,10 +169,10 @@ The easiest method is to use the language packs provided by your repositories. S
|
|||||||
|
|
||||||
**IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.
|
**IMPORTANT:** DO NOT REMOVE EXISTING `eng.traineddata`, IT'S REQUIRED.
|
||||||
|
|
||||||
**Debian-based systems**, install languages with this command:
|
Debian based systems, install languages with this command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt update && \
|
sudo apt update &&\
|
||||||
# All languages
|
# All languages
|
||||||
# sudo apt install -y 'tesseract-ocr-*'
|
# sudo apt install -y 'tesseract-ocr-*'
|
||||||
|
|
||||||
@@ -164,7 +183,7 @@ apt search tesseract-ocr-
|
|||||||
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
|
dpkg-query -W tesseract-ocr- | sed 's/tesseract-ocr-//g'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Fedora:**
|
Fedora:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# All languages
|
# All languages
|
||||||
@@ -177,13 +196,13 @@ dnf search -C tesseract-langpack-
|
|||||||
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
|
rpm -qa | grep tesseract-langpack | sed 's/tesseract-langpack-//g'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Nix:**
|
Nix:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix-env -iA nixpkgs.tesseract
|
nix-env -iA nixpkgs.tesseract
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** Nix Package Manager pre-installs almost all the language packs when Tesseract is installed.
|
**Note:** Nix Package Manager pre-installs almost all the language packs when tesseract is installed.
|
||||||
|
|
||||||
### Step 7: Run Stirling-PDF
|
### Step 7: Run Stirling-PDF
|
||||||
|
|
||||||
@@ -195,13 +214,11 @@ or
|
|||||||
java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar
|
java -jar /opt/Stirling-PDF/Stirling-PDF-*.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
Since LibreOffice, soffice, and conversion tools have their dbus_tmp_dir set as `dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"`, you might get the following error when using their endpoints:
|
Since libreoffice, soffice, and conversion tools have their dbus_tmp_dir set as `dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"`, you might get the following error when using their endpoints:
|
||||||
|
|
||||||
```
|
```
|
||||||
[Thread-7] INFO s.s.SPDF.utils.ProcessExecutor - mkdir: cannot create directory ‘/run/user/1501’: Permission denied
|
[Thread-7] INFO s.s.SPDF.utils.ProcessExecutor - mkdir: cannot create directory ‘/run/user/1501’: Permission denied
|
||||||
```
|
```
|
||||||
|
To resolve this, before starting the Stirling-PDF, you have to set the environment variable to a directory you have write access to by using the following commands:
|
||||||
To resolve this, before starting Stirling-PDF, you have to set the environment variable to a directory you have write access to by using the following commands:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir temp
|
mkdir temp
|
||||||
@@ -211,10 +228,9 @@ or
|
|||||||
java -jar ./Stirling-PDF-*.jar
|
java -jar ./Stirling-PDF-*.jar
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 8: Adding a Desktop Icon
|
### Step 8: Adding a Desktop icon
|
||||||
|
|
||||||
This will add a modified app starter to your app menu.
|
|
||||||
|
|
||||||
|
This will add a modified Appstarter to your Appmenu.
|
||||||
```bash
|
```bash
|
||||||
location=$(pwd)/gradlew
|
location=$(pwd)/gradlew
|
||||||
image=$(pwd)/docs/stirling-transparent.svg
|
image=$(pwd)/docs/stirling-transparent.svg
|
||||||
@@ -235,40 +251,35 @@ EOF
|
|||||||
|
|
||||||
Note: Currently the app will run in the background until manually closed.
|
Note: Currently the app will run in the background until manually closed.
|
||||||
|
|
||||||
### Optional: Changing the Host and Port of the Application
|
### Optional: Changing the host and port of the application:
|
||||||
|
|
||||||
To override the default configuration, you can add the following to `/.git/Stirling-PDF/configs/custom_settings.yml` file:
|
To override the default configuration, you can add the following to `/.git/Stirling-PDF/configs/custom_settings.yml` file:
|
||||||
|
|
||||||
```yaml
|
```bash
|
||||||
server:
|
server:
|
||||||
host: 0.0.0.0 # Not working - use instead address
|
host: 0.0.0.0 # Not working - use instead address
|
||||||
address: 0.0.0.0
|
address: 0.0.0.0
|
||||||
port: 3000
|
port: 3000
|
||||||
```
|
```
|
||||||
|
'-Djava.net.preferIPv4Stack=true' --> To force ipv4 only in the java starting command
|
||||||
`-Djava.net.preferIPv4Stack=true` --> To force IPv4 only in the Java starting command
|
|
||||||
|
|
||||||
**Note:** This file is created after the first application launch. To have it before that, you can create the directory and add the file yourself.
|
**Note:** This file is created after the first application launch. To have it before that, you can create the directory and add the file yourself.
|
||||||
|
|
||||||
### Optional: Run Stirling-PDF as a Service (requires root)
|
### Optional: Run Stirling-PDF as a service (requires root).
|
||||||
|
|
||||||
First create a `.env` file, where you can store environment variables:
|
First create a .env file, where you can store environment variables:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
touch /opt/Stirling-PDF/.env
|
touch /opt/Stirling-PDF/.env
|
||||||
```
|
```
|
||||||
|
In this file you can add all variables, one variable per line, as stated in the main readme (for example SYSTEM_DEFAULTLOCALE="de-DE").
|
||||||
|
|
||||||
In this file, you can add all variables, one variable per line, as stated in the main readme (for example `SYSTEM_DEFAULTLOCALE="de-DE"`).
|
Create a new file where we store our service settings and open it with nano editor:
|
||||||
|
```
|
||||||
Create a new file where we store our service settings and open it with the nano editor:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
nano /etc/systemd/system/stirlingpdf.service
|
nano /etc/systemd/system/stirlingpdf.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Paste this content, make sure to update the filename of the jar file. Press `Ctrl+S` and `Ctrl+X` to save and exit the nano editor:
|
Paste this content, make sure to update the filename of the jar-file. Press Ctrl+S and Ctrl+X to save and exit the nano editor:
|
||||||
|
```
|
||||||
```ini
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Stirling-PDF service
|
Description=Stirling-PDF service
|
||||||
After=syslog.target network.target
|
After=syslog.target network.target
|
||||||
@@ -292,25 +303,22 @@ WantedBy=multi-user.target
|
|||||||
|
|
||||||
Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file):
|
Notify systemd that it has to rebuild its internal service database (you have to run this command every time you make a change in the service file):
|
||||||
|
|
||||||
```bash
|
```
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
```
|
```
|
||||||
|
|
||||||
Enable the service to tell it to start automatically:
|
Enable the service to tell the service to start it automatically:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
sudo systemctl enable stirlingpdf.service
|
sudo systemctl enable stirlingpdf.service
|
||||||
```
|
```
|
||||||
|
|
||||||
See the status of the service:
|
See the status of the service:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
sudo systemctl status stirlingpdf.service
|
sudo systemctl status stirlingpdf.service
|
||||||
```
|
```
|
||||||
|
|
||||||
Manually start/stop/restart the service:
|
Manually start/stop/restart the service:
|
||||||
|
```
|
||||||
```bash
|
|
||||||
sudo systemctl start stirlingpdf.service
|
sudo systemctl start stirlingpdf.service
|
||||||
sudo systemctl stop stirlingpdf.service
|
sudo systemctl stop stirlingpdf.service
|
||||||
sudo systemctl restart stirlingpdf.service
|
sudo systemctl restart stirlingpdf.service
|
||||||
@@ -318,11 +326,12 @@ sudo systemctl restart stirlingpdf.service
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Remember to set the necessary environment variables before running the project if you want to customize the application. The list can be seen in the main readme.
|
Remember to set the necessary environment variables before running the project if you want to customize the application the list can be seen in the main readme.
|
||||||
|
|
||||||
You can do this in the terminal by using the `export` command or `-D` argument to the Java `-jar` command:
|
You can do this in the terminal by using the `export` command or -D argument to java -jar command:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export APP_HOME_NAME="Stirling PDF"
|
export APP_HOME_NAME="Stirling PDF"
|
||||||
or
|
or
|
||||||
-DAPP_HOME_NAME="Stirling PDF"
|
-DAPP_HOME_NAME="Stirling PDF"
|
||||||
|
```
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
# Pipeline Configuration and Usage Tutorial
|
# Pipeline Configuration and Usage Tutorial
|
||||||
|
- Configure the pipeline config file and input files to run files against it
|
||||||
- Configure the pipeline config file and input files to run files against it.
|
- For reuse, download the config file and re-upload it when needed, or place it in /pipeline/defaultWebUIConfigs/ to auto-load in the web UI for all users
|
||||||
- For reuse, download the config file and re-upload it when needed, or place it in `/pipeline/defaultWebUIConfigs/` to auto-load in the web UI for all users.
|
|
||||||
|
|
||||||
## Steps to Configure and Use Your Pipeline
|
## Steps to Configure and Use Your Pipeline
|
||||||
|
|
||||||
@@ -27,16 +26,19 @@
|
|||||||
- Use the **Validation** button to check your pipeline. A green indicator signifies correct setup; a pop-out error indicates issues.
|
- Use the **Validation** button to check your pipeline. A green indicator signifies correct setup; a pop-out error indicates issues.
|
||||||
|
|
||||||
8. **Download Pipeline Configuration**
|
8. **Download Pipeline Configuration**
|
||||||
- To use the configuration for folder scanning (or save it for future use and re-upload it), download a JSON file in this menu. You can also pre-load it for future use by placing it in `/pipeline/defaultWebUIConfigs/`. It will then appear in the dropdown menu for all users to use.
|
- To use the configuration for folder scanning (or save it for future use and reupload it), you can also download a JSON file in this menu. You can also pre-load this for future use by placing it in ``/pipeline/defaultWebUIConfigs/``. It will then appear in the dropdown menu for all users to use.
|
||||||
|
|
||||||
9. **Submit Files for Processing**
|
9. **Submit Files for Processing**
|
||||||
- If your pipeline is correctly set up, close the configure menu, input the files, and hit **Submit**.
|
- If your pipeline is correctly set up close the configure menu, input the files and hit **Submit**.
|
||||||
|
|
||||||
10. **Note on Web UI Limitations**
|
10. **Note on Web UI Limitations**
|
||||||
- The current web UI version does not support operations that require multiple different types of inputs, such as adding a separate image to a PDF.
|
- The current web UI version does not support operations that require multiple different types of inputs, such as adding a separate image to a PDF.
|
||||||
|
|
||||||
### Current Limitations
|
|
||||||
|
|
||||||
- Cannot have more than one of the same operation.
|
### Current Limitations
|
||||||
- Cannot input additional files via UI.
|
- Cannot have more than one of the same operation
|
||||||
- All files and operations run in serial mode.
|
- Cannot input additional files via UI
|
||||||
|
- All files and operations run in serial mode
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
420
README.md
420
README.md
@@ -1,4 +1,4 @@
|
|||||||
<p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80"></p>
|
<p align="center"><img src="https://raw.githubusercontent.com/Stirling-Tools/Stirling-PDF/main/docs/stirling.png" width="80" ></p>
|
||||||
<h1 align="center">Stirling-PDF</h1>
|
<h1 align="center">Stirling-PDF</h1>
|
||||||
|
|
||||||
[](https://hub.docker.com/r/frooodle/s-pdf)
|
[](https://hub.docker.com/r/frooodle/s-pdf)
|
||||||
@@ -7,10 +7,11 @@
|
|||||||
[](https://github.com/Stirling-Tools/stirling-pdf)
|
[](https://github.com/Stirling-Tools/stirling-pdf)
|
||||||
|
|
||||||
[](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af)
|
[](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af)
|
||||||
|
[<img src="https://www.ssdnodes.com/wp-content/uploads/2023/11/footer-logo.svg" alt="Name" height="40">](https://www.ssdnodes.com/manage/aff.php?aff=2216®ister=true)
|
||||||
|
|
||||||
[Stirling-PDF](https://www.stirlingpdf.com) is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements.
|
This is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements.
|
||||||
|
|
||||||
Stirling-PDF does not initiate any outbound calls for record-keeping or tracking purposes.
|
Stirling PDF does not initiate any outbound calls for record-keeping or tracking purposes.
|
||||||
|
|
||||||
All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point.
|
All files and PDFs exist either exclusively on the client side, reside in server memory only during task execution, or temporarily reside in a file solely for the execution of the task. Any file downloaded by the user will have been deleted from the server by that point.
|
||||||
|
|
||||||
@@ -18,8 +19,7 @@ All files and PDFs exist either exclusively on the client side, reside in server
|
|||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Enterprise features like SSO Check [here](https://docs.stirlingpdf.com/Enterprise%20Edition)
|
- Dark mode support.
|
||||||
- Dark mode support
|
|
||||||
- Custom download options
|
- Custom download options
|
||||||
- Parallel file processing and downloads
|
- Parallel file processing and downloads
|
||||||
- Custom 'Pipelines' to run multiple features in a queue
|
- Custom 'Pipelines' to run multiple features in a queue
|
||||||
@@ -27,76 +27,68 @@ All files and PDFs exist either exclusively on the client side, reside in server
|
|||||||
- Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation)
|
- Optional Login and Authentication support (see [here](https://github.com/Stirling-Tools/Stirling-PDF/tree/main#login-authentication) for documentation)
|
||||||
- Database Backup and Import (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DATABASE.md) for documentation)
|
- Database Backup and Import (see [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DATABASE.md) for documentation)
|
||||||
|
|
||||||
|
## **PDF Features**
|
||||||
|
|
||||||
## 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)
|
||||||
|
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages.
|
||||||
|
- Merge multiple PDFs together into a single resultant file.
|
||||||
|
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files.
|
||||||
|
- Reorganize PDF pages into different orders.
|
||||||
|
- Rotate PDFs in 90-degree increments.
|
||||||
|
- Remove pages.
|
||||||
|
- Multi-page layout (Format PDFs into a multi-paged page).
|
||||||
|
- Scale page contents size by set %.
|
||||||
|
- Adjust Contrast.
|
||||||
|
- Crop PDF.
|
||||||
|
- Auto Split PDF (With physically scanned page dividers).
|
||||||
|
- Extract page(s).
|
||||||
|
- Convert PDF to a single page.
|
||||||
|
- Overlay PDFs ontop of each other
|
||||||
|
|
||||||
- View and modify PDFs - View multi-page PDFs with custom viewing, sorting, and searching. Plus on-page edit features like annotate, draw, and adding text and images. (Using PDF.js with Joxit and Liberation fonts)
|
### **Conversion Operations**
|
||||||
- Full interactive GUI for merging/splitting/rotating/moving PDFs and their pages
|
|
||||||
- Merge multiple PDFs into a single resultant file
|
|
||||||
- Split PDFs into multiple files at specified page numbers or extract all pages as individual files
|
|
||||||
- Reorganize PDF pages into different orders
|
|
||||||
- Rotate PDFs in 90-degree increments
|
|
||||||
- Remove pages
|
|
||||||
- Multi-page layout (format PDFs into a multi-paged page)
|
|
||||||
- Scale page contents size by set percentage
|
|
||||||
- Adjust contrast
|
|
||||||
- Crop PDF
|
|
||||||
- Auto split PDF (with physically scanned page dividers)
|
|
||||||
- Extract page(s)
|
|
||||||
- Convert PDF to a single page
|
|
||||||
- Overlay PDFs on top of each other
|
|
||||||
- PDF to single page
|
|
||||||
- Split PDF by sections
|
|
||||||
|
|
||||||
### Conversion Operations
|
- Convert PDFs to and from images.
|
||||||
|
- Convert any common file to PDF (using LibreOffice).
|
||||||
|
- Convert PDF to Word/Powerpoint/Others (using LibreOffice).
|
||||||
|
- Convert HTML to PDF.
|
||||||
|
- URL to PDF.
|
||||||
|
- Markdown to PDF.
|
||||||
|
|
||||||
- Convert PDFs to and from images
|
### **Security & Permissions**
|
||||||
- Convert any common file to PDF (using LibreOffice)
|
|
||||||
- Convert PDF to Word/PowerPoint/others (using LibreOffice)
|
|
||||||
- Convert HTML to PDF
|
|
||||||
- Convert PDF to xml
|
|
||||||
- Convert PDF to CSV
|
|
||||||
- URL to PDF
|
|
||||||
- Markdown to PDF
|
|
||||||
|
|
||||||
### Security & Permissions
|
- Add and remove passwords.
|
||||||
|
- Change/set PDF Permissions.
|
||||||
|
- Add watermark(s).
|
||||||
|
- Certify/sign PDFs.
|
||||||
|
- Sanitize PDFs.
|
||||||
|
- Auto-redact text.
|
||||||
|
|
||||||
- Add and remove passwords
|
### **Other Operations**
|
||||||
- Change/set PDF permissions
|
|
||||||
- Add watermark(s)
|
|
||||||
- Certify/sign PDFs
|
|
||||||
- Sanitize PDFs
|
|
||||||
- Auto-redact text
|
|
||||||
|
|
||||||
### Other Operations
|
- Add/Generate/Write signatures.
|
||||||
|
- Repair PDFs.
|
||||||
|
- Detect and remove blank pages.
|
||||||
|
- Compare 2 PDFs and show differences in text.
|
||||||
|
- Add images to PDFs.
|
||||||
|
- Compress PDFs to decrease their filesize (Using OCRMyPDF).
|
||||||
|
- Extract images from PDF.
|
||||||
|
- Extract images from Scans.
|
||||||
|
- Add page numbers.
|
||||||
|
- Auto rename file by detecting PDF header text.
|
||||||
|
- OCR on PDF (Using OCRMyPDF).
|
||||||
|
- PDF/A conversion (Using OCRMyPDF).
|
||||||
|
- Edit metadata.
|
||||||
|
- Flatten PDFs.
|
||||||
|
- Get all information on a PDF to view or export as JSON.
|
||||||
|
- Show/Detect embedded Javascript
|
||||||
|
|
||||||
- Add/generate/write signatures
|
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)
|
||||||
- Split by Size or PDF
|
|
||||||
- Repair PDFs
|
|
||||||
- Detect and remove blank pages
|
|
||||||
- Compare two PDFs and show differences in text
|
|
||||||
- Add images to PDFs
|
|
||||||
- Compress PDFs to decrease their filesize (using OCRMyPDF)
|
|
||||||
- Extract images from PDF
|
|
||||||
- Remove images from PDF
|
|
||||||
- Extract images from scans
|
|
||||||
- Remove annotations
|
|
||||||
- Add page numbers
|
|
||||||
- Auto rename file by detecting PDF header text
|
|
||||||
- OCR on PDF (using OCRMyPDF)
|
|
||||||
- PDF/A conversion (using OCRMyPDF)
|
|
||||||
- Edit metadata
|
|
||||||
- Flatten PDFs
|
|
||||||
- Get all information on a PDF to view or export as JSON
|
|
||||||
- Show/detect embedded JavaScript
|
|
||||||
|
|
||||||
For an overview of the tasks and the technology each uses, please view [Endpoint-groups.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md).
|
Demo of the app is available [here](https://stirlingpdf.io).
|
||||||
|
|
||||||
A demo of the app is available [here](https://stirlingpdf.io).
|
## 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)
|
||||||
@@ -107,28 +99,27 @@ A demo of the app is available [here](https://stirlingpdf.io).
|
|||||||
- [PDF.js](https://github.com/mozilla/pdf.js)
|
- [PDF.js](https://github.com/mozilla/pdf.js)
|
||||||
- [PDF-LIB.js](https://github.com/Hopding/pdf-lib)
|
- [PDF-LIB.js](https://github.com/Hopding/pdf-lib)
|
||||||
|
|
||||||
## How to Use
|
## How to use
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
For windows users download the latest Stirling-PDF.exe from our [release](https://github.com/Stirling-Tools/Stirling-PDF/releases) section or by clicking [here](https://github.com/Stirling-Tools/Stirling-PDF/releases/latest/download/Stirling-PDF.exe)
|
||||||
For Windows users, download the latest Stirling-PDF.exe from our [release](https://github.com/Stirling-Tools/Stirling-PDF/releases) section or by clicking [here](https://github.com/Stirling-Tools/Stirling-PDF/releases/latest/download/Stirling-PDF.exe).
|
|
||||||
|
|
||||||
### Locally
|
### Locally
|
||||||
|
|
||||||
Please view the [LocalRunGuide](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
|
||||||
|
|
||||||
> [!NOTE]
|
https://hub.docker.com/r/frooodle/s-pdf
|
||||||
> <https://hub.docker.com/r/frooodle/s-pdf>
|
|
||||||
|
|
||||||
Stirling-PDF has three different versions: a full version, an ultra-lite version, and a 'fat' version. Depending on the types of features you use, you may want a smaller image to save on space. To see what the different versions offer, please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md). For people that don't mind space optimization, just use the latest tag.
|
|
||||||
|
|
||||||
|
Stirling PDF has 3 different versions, a Full version and ultra-Lite version as well as a 'Fat' version. Depending on the types of features you use you may want a smaller image to save on space.
|
||||||
|
To see what the different versions offer please look at our [version mapping](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Version-groups.md)
|
||||||
|
For people that don't mind about space optimization just use the latest tag.
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
Please note in the examples below, you may need to change the volume paths as needed, e.g., `./extraConfigs:/configs` to `/opt/stirlingpdf/extraConfigs:/configs`.
|
Please note in below examples you may need to change the volume paths as needed, current examples install them to the current working directory
|
||||||
|
eg ``./extraConfigs:/configs`` to ``/opt/stirlingpdf/extraConfigs:/configs``
|
||||||
|
|
||||||
### Docker Run
|
### Docker Run
|
||||||
|
|
||||||
@@ -138,13 +129,15 @@ docker run -d \
|
|||||||
-v ./trainingData:/usr/share/tessdata \
|
-v ./trainingData:/usr/share/tessdata \
|
||||||
-v ./extraConfigs:/configs \
|
-v ./extraConfigs:/configs \
|
||||||
-v ./logs:/logs \
|
-v ./logs:/logs \
|
||||||
# Optional customization (not required)
|
|
||||||
# -v /location/of/customFiles:/customFiles \
|
|
||||||
-e DOCKER_ENABLE_SECURITY=false \
|
-e DOCKER_ENABLE_SECURITY=false \
|
||||||
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
|
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
|
||||||
-e LANGS=en_GB \
|
-e LANGS=en_GB \
|
||||||
--name stirling-pdf \
|
--name stirling-pdf \
|
||||||
frooodle/s-pdf:latest
|
frooodle/s-pdf:latest
|
||||||
|
|
||||||
|
Can also add these for customisation but are not required
|
||||||
|
|
||||||
|
-v /location/of/customFiles:/customFiles \
|
||||||
```
|
```
|
||||||
|
|
||||||
### Docker Compose
|
### Docker Compose
|
||||||
@@ -157,7 +150,7 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- '8080:8080'
|
- '8080:8080'
|
||||||
volumes:
|
volumes:
|
||||||
- ./trainingData:/usr/share/tessdata # Required for extra OCR languages
|
- ./trainingData:/usr/share/tessdata #Required for extra OCR languages
|
||||||
- ./extraConfigs:/configs
|
- ./extraConfigs:/configs
|
||||||
# - ./customFiles:/customFiles/
|
# - ./customFiles:/customFiles/
|
||||||
# - ./logs:/logs/
|
# - ./logs:/logs/
|
||||||
@@ -169,144 +162,126 @@ 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".
|
||||||
|
|
||||||
### Kubernetes
|
## Enable OCR/Compression feature
|
||||||
|
|
||||||
See the kubernetes helm chart [here](https://github.com/Stirling-Tools/Stirling-PDF-chart)
|
Please view https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md
|
||||||
|
|
||||||
## Enable OCR/Compression Feature
|
## Reuse stored files
|
||||||
|
|
||||||
Please view the [HowToUseOCR.md](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToUseOCR.md).
|
Certain functionality like ``Sign`` Supports pre-saved files stored at ``/customFiles/signatures/``, image files placed within here will be accesable to be used via webUI
|
||||||
|
Currently this supports two folder types
|
||||||
## Reuse Stored Files
|
- ``/customFiles/signatures/ALL_USERS`` accessible to all users, useful for orginasations were many users use same files or for users not using authentication
|
||||||
|
- ``/customFiles/signatures/{username}`` such as ``/customFiles/signatures/froodle`` accessible to only the ``froodle`` username, private for all others
|
||||||
Certain functionality like `Sign` supports pre-saved files stored at `/customFiles/signatures/`. Image files placed within here will be accessible to be used via the web UI. Currently, this supports two folder types:
|
|
||||||
|
|
||||||
- `/customFiles/signatures/ALL_USERS`: Accessible to all users, useful for organizations where many users use the same files or for users not using authentication
|
|
||||||
- `/customFiles/signatures/{username}`: Such as `/customFiles/signatures/froodle`, accessible only to the `froodle` username, private for all others
|
|
||||||
|
|
||||||
## Supported Languages
|
## Supported Languages
|
||||||
|
|
||||||
Stirling-PDF currently supports 36 languages!
|
Stirling PDF currently supports 38!
|
||||||
|
|
||||||
| Language | Progress |
|
| Language | Progress |
|
||||||
| -------------------------------------------- | -------------------------------------- |
|
| ------------------------------------------- | -------------------------------------- |
|
||||||
| Arabic (العربية) (ar_AR) |  |
|
| Arabic (العربية) (ar_AR) |  |
|
||||||
| Basque (Euskara) (eu_ES) |  |
|
| Basque (Euskara) (eu_ES) |  |
|
||||||
| Bulgarian (Български) (bg_BG) |  |
|
| Bulgarian (Български) (bg_BG) |  |
|
||||||
| Catalan (Català) (ca_CA) |  |
|
| Catalan (Català) (ca_CA) |  |
|
||||||
| Croatian (Hrvatski) (hr_HR) |  |
|
| Croatian (Hrvatski) (hr_HR) |  |
|
||||||
| Czech (Česky) (cs_CZ) |  |
|
| Czech (Česky) (cs_CZ) |  |
|
||||||
| Danish (Dansk) (da_DK) |  |
|
| Danish (Dansk) (da_DK) |  |
|
||||||
| Dutch (Nederlands) (nl_NL) |  |
|
| Dutch (Nederlands) (nl_NL) |  |
|
||||||
| English (English) (en_GB) |  |
|
| English (English) (en_GB) |  |
|
||||||
| English (US) (en_US) |  |
|
| English (US) (en_US) |  |
|
||||||
| French (Français) (fr_FR) |  |
|
| French (Français) (fr_FR) |  |
|
||||||
| German (Deutsch) (de_DE) |  |
|
| German (Deutsch) (de_DE) |  |
|
||||||
| Greek (Ελληνικά) (el_GR) |  |
|
| Greek (Ελληνικά) (el_GR) |  |
|
||||||
| Hindi (हिंदी) (hi_IN) |  |
|
| Hindi (हिंदी) (hi_IN) |  |
|
||||||
| Hungarian (Magyar) (hu_HU) |  |
|
| Hungarian (Magyar) (hu_HU) |  |
|
||||||
| Indonesian (Bahasa Indonesia) (id_ID) |  |
|
| Indonesia (Bahasa Indonesia) (id_ID) |  |
|
||||||
| Irish (Gaeilge) (ga_IE) |  |
|
| Irish (Gaeilge) (ga_IE) |  |
|
||||||
| Italian (Italiano) (it_IT) |  |
|
| Italian (Italiano) (it_IT) |  |
|
||||||
| Japanese (日本語) (ja_JP) |  |
|
| Japanese (日本語) (ja_JP) |  |
|
||||||
| Korean (한국어) (ko_KR) |  |
|
| Korean (한국어) (ko_KR) |  |
|
||||||
| Norwegian (Norsk) (no_NB) |  |
|
| Norwegian (Norsk) (no_NB) |  |
|
||||||
| Polish (Polski) (pl_PL) |  |
|
| Polish (Polski) (pl_PL) |  |
|
||||||
| Portuguese (Português) (pt_PT) |  |
|
| Portuguese (Português) (pt_PT) |  |
|
||||||
| Portuguese Brazilian (Português) (pt_BR) |  |
|
| Portuguese Brazilian (Português) (pt_BR) |  |
|
||||||
| Romanian (Română) (ro_RO) |  |
|
| Romanian (Română) (ro_RO) |  |
|
||||||
| Russian (Русский) (ru_RU) |  |
|
| Russian (Русский) (ru_RU) |  |
|
||||||
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
||||||
| Simplified Chinese (简体中文) (zh_CN) |  |
|
| Simplified Chinese (简体中文) (zh_CN) |  |
|
||||||
| Slovakian (Slovensky) (sk_SK) |  |
|
| Slovakian (Slovensky) (sk_SK) |  |
|
||||||
| Spanish (Español) (es_ES) |  |
|
| Spanish (Español) (es_ES) |  |
|
||||||
| Swedish (Svenska) (sv_SE) |  |
|
| Swedish (Svenska) (sv_SE) |  |
|
||||||
| Thai (ไทย) (th_TH) |  |
|
| Thai (ไทย) (th_TH) |  |
|
||||||
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
||||||
| Turkish (Türkçe) (tr_TR) |  |
|
| Turkish (Türkçe) (tr_TR) |  |
|
||||||
| Ukrainian (Українська) (uk_UA) |  |
|
| Ukrainian (Українська) (uk_UA) |  |
|
||||||
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
||||||
|
|
||||||
## 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)!
|
||||||
|
|
||||||
## Stirling PDF Enterprise
|
## Customisation
|
||||||
|
|
||||||
Stirling PDF offers a Enterprise edition of its software, This is the same great software but with added features and comforts
|
Stirling PDF allows easy customization of the app.
|
||||||
|
Includes things like
|
||||||
### Whats included
|
|
||||||
|
|
||||||
- Prioritised Support tickets via support@stirlingpdf.com to reach directly to Stirling-PDF team for support and 1:1 meetings where applicable (Provided they come from same email domain registered with us)
|
|
||||||
- Prioritised Enhancements to Stirling-PDF where applicable
|
|
||||||
- Base SSO support
|
|
||||||
- Advanced SSO such as automated login handling (Coming very soon)
|
|
||||||
- SAML SSO (Coming very soon)
|
|
||||||
- Custom automated metadata handling
|
|
||||||
- Advanced user configurations (Coming soon)
|
|
||||||
- Plus other exciting features to come
|
|
||||||
|
|
||||||
Check out of [docs](https://docs.stirlingpdf.com/Enterprise%20Edition) on it or our official [website](https://www.stirlingpdf.com)
|
|
||||||
|
|
||||||
## Customization
|
|
||||||
|
|
||||||
Stirling-PDF allows easy customization of the app, including things like:
|
|
||||||
|
|
||||||
- Custom application name
|
- Custom application name
|
||||||
- Custom slogans, icons, HTML, images, CSS, etc. (via file overrides)
|
- Custom slogans, icons, HTML, images CSS etc (via file overrides)
|
||||||
|
|
||||||
There are two options for this, either using the generated settings file `settings.yml`, which is located in the `/configs` directory and follows standard YAML formatting, or using environment variables, which would override the settings file.
|
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
|
||||||
|
|
||||||
For example, in `settings.yml`, you might have:
|
Environment variables are also supported and would override the settings file
|
||||||
|
For example in the settings.yml you have
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
security:
|
security:
|
||||||
enableLogin: 'true'
|
enableLogin: 'true'
|
||||||
```
|
```
|
||||||
|
|
||||||
To have this via an environment variable, you would use `SECURITY_ENABLELOGIN`.
|
To have this via an environment variable you would have ``SECURITY_ENABLELOGIN``
|
||||||
|
|
||||||
The current list of settings is:
|
The Current list of settings is
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
security:
|
security:
|
||||||
enableLogin: false # set to 'true' to enable login
|
enableLogin: false # set to 'true' to enable login
|
||||||
csrfDisabled: true # set to 'true' to disable CSRF protection (not recommended for production)
|
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production)
|
||||||
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
|
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
|
||||||
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
|
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
|
||||||
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
|
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
|
||||||
initialLogin:
|
initialLogin:
|
||||||
username: '' # initial username for the first login
|
username: '' # Initial username for the first login
|
||||||
password: '' # initial password for the first login
|
password: '' # Initial password for the first login
|
||||||
oauth2:
|
oauth2:
|
||||||
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
|
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
|
||||||
client:
|
client:
|
||||||
keycloak:
|
keycloak:
|
||||||
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
|
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
|
||||||
clientId: '' # client ID for Keycloak OAuth2
|
clientId: '' # Client ID for Keycloak OAuth2
|
||||||
clientSecret: '' # client secret for Keycloak OAuth2
|
clientSecret: '' # Client Secret for Keycloak OAuth2
|
||||||
scopes: openid, profile, email # scopes for Keycloak OAuth2
|
scopes: openid, profile, email # Scopes for Keycloak OAuth2
|
||||||
useAsUsername: preferred_username # field to use as the username for Keycloak OAuth2
|
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2
|
||||||
google:
|
google:
|
||||||
clientId: '' # client ID for Google OAuth2
|
clientId: '' # Client ID for Google OAuth2
|
||||||
clientSecret: '' # client secret for Google OAuth2
|
clientSecret: '' # Client Secret for Google OAuth2
|
||||||
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # scopes for Google OAuth2
|
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2
|
||||||
useAsUsername: email # field to use as the username for Google OAuth2
|
useAsUsername: email # Field to use as the username for Google OAuth2
|
||||||
github:
|
github:
|
||||||
clientId: '' # client ID for GitHub OAuth2
|
clientId: '' # Client ID for GitHub OAuth2
|
||||||
clientSecret: '' # client secret for GitHub OAuth2
|
clientSecret: '' # Client Secret for GitHub OAuth2
|
||||||
scopes: read:user # scope for GitHub OAuth2
|
scopes: read:user # Scope for GitHub OAuth2
|
||||||
useAsUsername: login # field to use as the username for GitHub OAuth2
|
useAsUsername: login # Field to use as the username for GitHub OAuth2
|
||||||
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) endpoint
|
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point
|
||||||
clientId: '' # client ID from your provider
|
clientId: '' # Client ID from your provider
|
||||||
clientSecret: '' # client secret from your provider
|
clientSecret: '' # Client Secret from your provider
|
||||||
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
||||||
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
||||||
useAsUsername: email # default is 'email'; custom fields can be used as the username
|
useAsUsername: email # Default is 'email'; custom fields can be used as the username
|
||||||
scopes: openid, profile, email # specify the scopes for which the application will request permissions
|
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
|
||||||
provider: google # set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
||||||
saml2:
|
saml2:
|
||||||
enabled: false # currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
|
enabled: false # Currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
|
||||||
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
||||||
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
||||||
registrationId: stirling
|
registrationId: stirling
|
||||||
@@ -314,7 +289,7 @@ security:
|
|||||||
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
|
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
|
||||||
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
|
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
|
||||||
idpIssuer: http://www.okta.com/externalKey
|
idpIssuer: http://www.okta.com/externalKey
|
||||||
idpCert: classpath:okta.crt
|
idpCert: classpath:octa.crt
|
||||||
privateKey: classpath:saml-private-key.key
|
privateKey: classpath:saml-private-key.key
|
||||||
spCert: classpath:saml-public-cert.crt
|
spCert: classpath:saml-public-cert.crt
|
||||||
|
|
||||||
@@ -323,35 +298,35 @@ enterpriseEdition:
|
|||||||
key: 00000000-0000-0000-0000-000000000000
|
key: 00000000-0000-0000-0000-000000000000
|
||||||
CustomMetadata:
|
CustomMetadata:
|
||||||
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values
|
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values
|
||||||
author: username # supports text such as 'John Doe' or types such as username to autopopulate with user's username
|
author: username # Supports text such as 'John Doe' or types such as username to autopopulate with users username
|
||||||
creator: Stirling-PDF # supports text such as 'Company-PDF'
|
creator: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
producer: Stirling-PDF # supports text such as 'Company-PDF'
|
producer: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
|
|
||||||
legal:
|
legal:
|
||||||
termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder
|
termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms) Empty string to disable or filename to load from local file in static folder
|
||||||
privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy). Empty string to disable or filename to load from local file in static folder
|
privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy) Empty string to disable or filename to load from local file in static folder
|
||||||
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility). Empty string to disable or filename to load from local file in static folder
|
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility) Empty string to disable or filename to load from local file in static folder
|
||||||
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie). Empty string to disable or filename to load from local file in static folder
|
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie) Empty string to disable or filename to load from local file in static folder
|
||||||
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum). Empty string to disable or filename to load from local file in static folder
|
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum) Empty string to disable or filename to load from local file in static folder
|
||||||
|
|
||||||
system:
|
system:
|
||||||
defaultLocale: en-US # set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
||||||
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
||||||
enableAlphaFunctionality: false # set to enable functionality which might need more testing before it fully goes live (this feature might make no changes)
|
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
|
||||||
showUpdate: false # see when a new update is available
|
showUpdate: false # see when a new update is available
|
||||||
showUpdateOnlyAdmin: false # only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
|
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
|
||||||
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template HTML files
|
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files
|
||||||
tessdataDir: /usr/share/tessdata # path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
|
tessdataDir: /usr/share/tessdata # Path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
|
||||||
enableAnalytics: undefined # set to 'true' to enable analytics, set to 'false' to disable analytics; for enterprise users, this is set to true
|
enableAnalytics: undefined # Set to 'true' to enable analytics, set to 'false' to disable analytics, for enterprise users this is set to true
|
||||||
|
|
||||||
ui:
|
ui:
|
||||||
appName: '' # application's visible name
|
appName: '' # Application's visible name
|
||||||
homeDescription: '' # short description or tagline shown on the homepage
|
homeDescription: '' # Short description or tagline shown on homepage.
|
||||||
appNameNavbar: '' # name displayed on the navigation bar
|
appNameNavbar: '' # Name displayed on the navigation bar
|
||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
toRemove: [] # list endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
||||||
groupsToRemove: [] # list groups to disable (e.g. ['LibreOffice'])
|
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])
|
||||||
|
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
|
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
|
||||||
@@ -362,64 +337,63 @@ AutomaticallyGenerated:
|
|||||||
UUID: example
|
UUID: example
|
||||||
```
|
```
|
||||||
|
|
||||||
There is an additional config file `/configs/custom_settings.yml` where users familiar with Java and Spring `application.properties` can input their own settings on top of Stirling-PDF's existing ones.
|
There is an additional config file ``/configs/custom_settings.yml`` were users familiar with java and spring application.properties can input their own settings on-top of Stirling-PDFs existing ones
|
||||||
|
|
||||||
|
### Extra notes
|
||||||
|
|
||||||
|
- Endpoints. Currently, the endpoints ENDPOINTS_TO_REMOVE and GROUPS_TO_REMOVE can include comma separate lists of endpoints and groups to disable as example ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages would disable both image-to-pdf and remove pages, GROUPS_TO_REMOVE=LibreOffice Would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md)
|
||||||
|
- customStaticFilePath. Customise static files such as the app logo by placing files in the /customFiles/static/ directory. An example of customising app logo is placing a /customFiles/static/favicon.svg to override current SVG. This can be used to change any images/icons/css/fonts/js etc in Stirling-PDF
|
||||||
|
|
||||||
### Extra Notes
|
### Environment only parameters
|
||||||
|
|
||||||
- **Endpoints**: Currently, the `ENDPOINTS_TO_REMOVE` and `GROUPS_TO_REMOVE` endpoints can include comma-separated lists of endpoints and groups to disable. For example, `ENDPOINTS_TO_REMOVE=img-to-pdf,remove-pages` would disable both image-to-pdf and remove pages, while `GROUPS_TO_REMOVE=LibreOffice` would disable all things that use LibreOffice. You can see a list of all endpoints and groups [here](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/Endpoint-groups.md).
|
- ``SYSTEM_ROOTURIPATH`` ie set to ``/pdf-app`` to Set the application's root URI to ``localhost:8080/pdf-app``
|
||||||
- **customStaticFilePath**: Customize static files such as the app logo by placing files in the `/customFiles/static/` directory. An example of customizing the app logo is placing `/customFiles/static/favicon.svg` to override the current SVG. This can be used to change any `images/icons/css/fonts/js`, etc. in Stirling-PDF.
|
- ``SYSTEM_CONNECTIONTIMEOUTMINUTES`` to set custom connection timeout values
|
||||||
|
- ``DOCKER_ENABLE_SECURITY`` to tell docker to download security jar (required as true for auth login)
|
||||||
### Environment-Only Parameters
|
- ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS`` to download calibre onto stirling-pdf enabling pdf to/from book and advanced html conversion
|
||||||
|
- ``LANGS`` to define custom font libraries to install for use for document conversions
|
||||||
- `SYSTEM_ROOTURIPATH` - Set the application's root URI (e.g. `/pdf-app` to set the root URI to `localhost:8080/pdf-app`)
|
|
||||||
- `SYSTEM_CONNECTIONTIMEOUTMINUTES` - Set custom connection timeout values
|
|
||||||
- `DOCKER_ENABLE_SECURITY` - Set to `true` to download security jar (required for authentication login)
|
|
||||||
- `INSTALL_BOOK_AND_ADVANCED_HTML_OPS` - Download Calibre onto Stirling-PDF to enable PDF to/from book and advanced HTML conversion
|
|
||||||
- `LANGS` - Define custom font libraries to install for document conversions
|
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
For those wanting to use Stirling-PDF's backend API to link with their own custom scripting to edit PDFs, you can view all existing API documentation [here](https://app.swaggerhub.com/apis-docs/Stirling-Tools/Stirling-PDF/), or navigate to `/swagger-ui/index.html` of your Stirling-PDF instance for your version's documentation (or by following the API button in the settings of Stirling-PDF).
|
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)
|
||||||
|
|
||||||
## Login Authentication
|
## Login authentication
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
- User must have the folder `./configs` volumed within Docker so that it is retained during updates.
|
- User must have the folder ./configs volumed within docker so that it is retained during updates.
|
||||||
- Docker users must download the security jar version by setting `DOCKER_ENABLE_SECURITY` to `true` in environment variables.
|
- Docker users must download the security jar version by setting ``DOCKER_ENABLE_SECURITY`` to ``true`` in environment variables.
|
||||||
- Then either enable login via the `settings.yml` file or set `SECURITY_ENABLE_LOGIN` to `true`.
|
- Then either enable login via the settings.yml file or via setting ``SECURITY_ENABLE_LOGIN`` to ``true``
|
||||||
- Now the initial user will be generated with username `admin` and password `stirling`. On login, you will be forced to change the password to a new one. You can also use the environment variables `SECURITY_INITIALLOGIN_USERNAME` and `SECURITY_INITIALLOGIN_PASSWORD` to set your own credentials straight away (recommended to remove them after user creation).
|
- Now the initial user will be generated with username ``admin`` and password ``stirling``. On login you will be forced to change the password to a new one. You can also use the environment variables ``SECURITY_INITIALLOGIN_USERNAME`` and ``SECURITY_INITIALLOGIN_PASSWORD`` to set your own straight away (Recommended to remove them after user creation).
|
||||||
|
|
||||||
Once the above has been done, on restart, a new `stirling-pdf-DB.mv.db` will show if everything worked.
|
Once the above has been done, on restart, a new stirling-pdf-DB.mv.db will show if everything worked.
|
||||||
|
|
||||||
When you log in to Stirling-PDF, you will be redirected to the `/login` page to log in with those default credentials. After login, everything should function as normal.
|
When you login to Stirling PDF you will be redirected to /login page to login with those default credentials. After login everything should function as normal
|
||||||
|
|
||||||
To access your account settings, go to Account Settings in the settings cog menu (top right in the navbar). This Account Settings menu is also where you find your API key.
|
To access your account settings go to Account settings in the settings cog menu (top right in navbar) This Account settings menu is also where you find your API key.
|
||||||
|
|
||||||
To add new users, go to the bottom of Account Settings and hit 'Admin Settings'. Here you can add new users. The different roles mentioned within this are for rate limiting. This is a work in progress and will be expanded on more in the future.
|
To add new users go to the bottom of Account settings and hit 'Admin Settings', here you can add new users. The different roles mentioned within this are for rate limiting. This is a Work in progress which will be expanding on more in future
|
||||||
|
|
||||||
For API usage, you must provide a header with `X-API-Key` and the associated API key for that user.
|
For API usage you must provide a header with 'X-API-Key' and the associated API key for that user.
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
### Q1: What are your planned features?
|
### Q1: What are your planned features?
|
||||||
|
|
||||||
- Progress bar/tracking
|
- Progress bar/Tracking
|
||||||
- Full custom logic pipelines to combine multiple operations together
|
- Full custom logic pipelines to combine multiple operations together.
|
||||||
- Folder support with auto-scanning to perform operations on
|
- Folder support with auto scanning to perform operations on
|
||||||
- Redact text (via UI, not just automated)
|
- Redact text (Via UI not just automated way)
|
||||||
- Add forms
|
- Add Forms
|
||||||
- Multi-page layout (stitch PDF pages together) support x rows y columns and custom page sizing
|
- Multi page layout (Stich PDF pages together) support x rows y columns and custom page sizing
|
||||||
- Fill forms manually or automatically
|
- Fill forms manually or automatically
|
||||||
|
|
||||||
### Q2: Why is my application downloading .htm files? Why am i getting HTTP error 413?
|
### Q2: Why is my application downloading .htm files?
|
||||||
|
|
||||||
This is an issue commonly caused by your NGINX configuration. The default file upload size for NGINX is 1MB. You need to add the following in your Nginx sites-available file: `client_max_body_size SIZE;` (where "SIZE" is 50M for example for 50MB files).
|
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;``
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|All versions in a Docker environment can download Calibre as a optional extra at runtime to support `book-to-pdf` and `pdf-to-book` using parameter ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS``.
|
|All versions in a Docker environment can download Calibre as a optional extra at runtime to support `book-to-pdf` and `pdf-to-book` using parameter ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS``.
|
||||||
The 'Fat' container contains all those found in 'Full' with security jar along with this Calibre install.
|
The 'Fat' container contains all those found in 'Full' with security jar along with this Calibre install.
|
||||||
|
|
||||||
| Technology | Ultra-Lite | Full |
|
Technology | Ultra-Lite | Full |
|
||||||
| ---------- | :--------: | :---: |
|
| ---------- | :--------: | :---: |
|
||||||
| Java | ✔️ | ✔️ |
|
| Java | ✔️ | ✔️ |
|
||||||
| JavaScript | ✔️ | ✔️ |
|
| JavaScript | ✔️ | ✔️ |
|
||||||
@@ -54,15 +54,3 @@ The 'Fat' container contains all those found in 'Full' with security jar along w
|
|||||||
| ocr-pdf | | ✔️ |
|
| ocr-pdf | | ✔️ |
|
||||||
| pdf-to-pdfa | | ✔️ |
|
| pdf-to-pdfa | | ✔️ |
|
||||||
| remove-blanks | | ✔️ |
|
| remove-blanks | | ✔️ |
|
||||||
pdf-to-text | ✔️ | ✔️
|
|
||||||
pdf-to-html | | ✔️
|
|
||||||
pdf-to-word | | ✔️
|
|
||||||
pdf-to-presentation | | ✔️
|
|
||||||
pdf-to-xml | | ✔️
|
|
||||||
remove-annotations | ✔️ | ✔️
|
|
||||||
remove-cert-sign | ✔️ | ✔️
|
|
||||||
remove-image-pdf | ✔️ | ✔️
|
|
||||||
file-to-pdf | | ✔️
|
|
||||||
html-to-pdf | | ✔️
|
|
||||||
url-to-pdf | | ✔️
|
|
||||||
repair | | ✔️
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ ext {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "stirling.software"
|
group = "stirling.software"
|
||||||
version = "0.33.1"
|
version = "0.31.1"
|
||||||
|
|
||||||
java {
|
java {
|
||||||
// 17 is lowest but we support and recommend 21
|
// 17 is lowest but we support and recommend 21
|
||||||
@@ -78,7 +78,7 @@ launch4j {
|
|||||||
|
|
||||||
errTitle="Encountered error, Do you have Java 21?"
|
errTitle="Encountered error, Do you have Java 21?"
|
||||||
downloadUrl="https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe"
|
downloadUrl="https://download.oracle.com/java/21/latest/jdk-21_windows-x64_bin.exe"
|
||||||
variables=["BROWSER_OPEN=true"]
|
variables=["BROWSER_OPEN=true", "ENDPOINTS_GROUPS_TO_REMOVE=CLI"]
|
||||||
jreMinVersion="17"
|
jreMinVersion="17"
|
||||||
|
|
||||||
mutexName="Stirling-PDF"
|
mutexName="Stirling-PDF"
|
||||||
|
|||||||
16
chart/stirling-pdf/Chart.yaml
Normal file
16
chart/stirling-pdf/Chart.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: 0.31.1
|
||||||
|
description: locally hosted web application that allows you to perform various operations
|
||||||
|
on PDF files
|
||||||
|
home: https://github.com/Stirling-Tools/Stirling-PDF
|
||||||
|
keywords:
|
||||||
|
- stirling-pdf
|
||||||
|
- helm
|
||||||
|
- charts repo
|
||||||
|
maintainers:
|
||||||
|
- name: Stirling-Tools
|
||||||
|
url: https://github.com/Stirling-Tools/Stirling-PDF
|
||||||
|
name: stirling-pdf-chart
|
||||||
|
sources:
|
||||||
|
- https://github.com/Stirling-Tools/Stirling-PDF
|
||||||
|
version: 1.0.1
|
||||||
30
chart/stirling-pdf/templates/NOTES.txt
Normal file
30
chart/stirling-pdf/templates/NOTES.txt
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
** Please be patient while the chart is being deployed **
|
||||||
|
|
||||||
|
Get the stirlingpdf URL by running:
|
||||||
|
|
||||||
|
{{- if contains "NodePort" .Values.service.type }}
|
||||||
|
|
||||||
|
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "stirlingpdf.fullname" . }})
|
||||||
|
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||||
|
echo http://$NODE_IP:$NODE_PORT/
|
||||||
|
|
||||||
|
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||||
|
|
||||||
|
** Please ensure an external IP is associated to the {{ template "stirlingpdf.fullname" . }} service before proceeding **
|
||||||
|
** Watch the status using: kubectl get svc --namespace {{ .Release.Namespace }} -w {{ template "stirlingpdf.fullname" . }} **
|
||||||
|
|
||||||
|
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||||
|
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}/
|
||||||
|
|
||||||
|
OR
|
||||||
|
|
||||||
|
export SERVICE_HOST=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "stirlingpdf.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
|
||||||
|
echo http://$SERVICE_HOST:{{ .Values.service.externalPort }}/
|
||||||
|
|
||||||
|
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||||
|
|
||||||
|
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "stirlingpdf.name" . }}" -l "release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||||
|
echo http://127.0.0.1:8080/
|
||||||
|
kubectl port-forward $POD_NAME 8080:8080 --namespace {{ .Release.Namespace }}
|
||||||
|
|
||||||
|
{{- end }}
|
||||||
129
chart/stirling-pdf/templates/_helpers.tpl
Normal file
129
chart/stirling-pdf/templates/_helpers.tpl
Normal file
@@ -0,0 +1,129 @@
|
|||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
|
||||||
|
It does minimal escaping for use in Kubernetes labels.
|
||||||
|
|
||||||
|
Example output:
|
||||||
|
|
||||||
|
stirlingpdf-0.4.5
|
||||||
|
*/ -}}
|
||||||
|
{{- define "stirlingpdf.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "stirlingpdf.chart" . }}
|
||||||
|
{{ include "stirlingpdf.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.commonLabels}}
|
||||||
|
{{ toYaml .Values.commonLabels }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "stirlingpdf.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.serviceAccountName" -}}
|
||||||
|
{{- if .Values.serviceAccount.create }}
|
||||||
|
{{- default (include "stirlingpdf.fullname" .) .Values.serviceAccount.name }}
|
||||||
|
{{- else }}
|
||||||
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper image name to change the volume permissions
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.volumePermissions.image" -}}
|
||||||
|
{{- $registryName := .Values.volumePermissions.image.registry -}}
|
||||||
|
{{- $repositoryName := .Values.volumePermissions.image.repository -}}
|
||||||
|
{{- $tag := .Values.volumePermissions.image.tag | toString -}}
|
||||||
|
{{/*
|
||||||
|
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
|
||||||
|
but Helm 2.9 and 2.10 doesn't support it, so we need to implement this if-else logic.
|
||||||
|
Also, we can't use a single if because lazy evaluation is not an option
|
||||||
|
*/}}
|
||||||
|
{{- if .Values.global }}
|
||||||
|
{{- if .Values.global.imageRegistry }}
|
||||||
|
{{- printf "%s/%s:%s" .Values.global.imageRegistry $repositoryName $tag -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s/%s:%s" $registryName $repositoryName $tag -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Docker Image Registry Secret Names
|
||||||
|
*/}}
|
||||||
|
{{- define "stirlingpdf.imagePullSecrets" -}}
|
||||||
|
{{/*
|
||||||
|
Helm 2.11 supports the assignment of a value to a variable defined in a different scope,
|
||||||
|
but Helm 2.9 and 2.10 does not support it, so we need to implement this if-else logic.
|
||||||
|
Also, we can not use a single if because lazy evaluation is not an option
|
||||||
|
*/}}
|
||||||
|
{{- if .Values.global }}
|
||||||
|
{{- if .Values.global.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- range .Values.global.imagePullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- range .Values.image.pullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- else if or .Values.image.pullSecrets .Values.volumePermissions.image.pullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- range .Values.image.pullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.volumePermissions.image.pullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
131
chart/stirling-pdf/templates/deployment.yaml
Normal file
131
chart/stirling-pdf/templates/deployment.yaml
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "stirlingpdf.fullname" . }}
|
||||||
|
{{- with .Values.deployment.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- if .Values.deployment.labels }}
|
||||||
|
{{- toYaml .Values.deployment.labels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "stirlingpdf.selectorLabels" . | nindent 6 }}
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
strategy:
|
||||||
|
{{ toYaml .Values.strategy | indent 4 }}
|
||||||
|
revisionHistoryLimit: 10
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.selectorLabels" . | nindent 8 }}
|
||||||
|
{{- if .Values.podLabels }}
|
||||||
|
{{- toYaml .Values.podLabels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.priorityClassName }}
|
||||||
|
priorityClassName: "{{ .Values.priorityClassName }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.securityContext.enabled }}
|
||||||
|
securityContext:
|
||||||
|
fsGroup: {{ .Values.securityContext.fsGroup }}
|
||||||
|
{{- if .Values.securityContext.runAsNonRoot }}
|
||||||
|
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.securityContext.supplementalGroups }}
|
||||||
|
supplementalGroups: {{ .Values.securityContext.supplementalGroups }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else if .Values.persistence.enabled }}
|
||||||
|
initContainers:
|
||||||
|
- name: volume-permissions
|
||||||
|
image: {{ template "stirlingpdf.volumePermissions.image" . }}
|
||||||
|
imagePullPolicy: "{{ .Values.volumePermissions.image.pullPolicy }}"
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
|
||||||
|
command: ['sh', '-c', 'chown -R {{ .Values.securityContext.fsGroup }}:{{ .Values.securityContext.fsGroup }} {{ .Values.persistence.path }}']
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: {{ .Values.persistence.path }}
|
||||||
|
name: storage-volume
|
||||||
|
{{- end }}
|
||||||
|
{{- include "stirlingpdf.imagePullSecrets" . | indent 6 }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Chart.Name }}
|
||||||
|
image: {{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.containerSecurityContext | nindent 10 }}
|
||||||
|
env:
|
||||||
|
- name: SYSTEM_ROOTURIPATH
|
||||||
|
value: {{ .Values.rootPath}}
|
||||||
|
{{- if .Values.envs }}
|
||||||
|
{{ toYaml .Values.envs | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraArgs }}
|
||||||
|
args:
|
||||||
|
{{ toYaml .Values.extraArgs | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8080
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.rootPath}}
|
||||||
|
port: http
|
||||||
|
{{ toYaml .Values.probes.livenessHttpGetConfig | indent 12 }}
|
||||||
|
{{ toYaml .Values.probes.liveness | indent 10 }}
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: {{ .Values.rootPath}}
|
||||||
|
port: http
|
||||||
|
{{ toYaml .Values.probes.readinessHttpGetConfig | indent 12 }}
|
||||||
|
{{ toYaml .Values.probes.readiness | indent 10 }}
|
||||||
|
volumeMounts:
|
||||||
|
{{- if .Values.deployment.extraVolumeMounts }}
|
||||||
|
{{- toYaml .Values.deployment.extraVolumeMounts | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.deployment.sidecarContainers }}
|
||||||
|
{{- range $name, $spec := .Values.deployment.sidecarContainers }}
|
||||||
|
- name: {{ $name }}
|
||||||
|
{{- toYaml $spec | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.resources }}
|
||||||
|
resources:
|
||||||
|
{{ toYaml . | indent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{ toYaml . | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{ toYaml . | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{ toYaml . | indent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.schedulerName }}
|
||||||
|
schedulerName: {{ .Values.schedulerName }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "stirlingpdf.serviceAccountName" . }}
|
||||||
|
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
|
||||||
|
volumes:
|
||||||
|
{{- if .Values.deployment.extraVolumes }}
|
||||||
|
{{- toYaml .Values.deployment.extraVolumes | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
- name: storage-volume
|
||||||
|
{{- if .Values.persistence.enabled }}
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ .Values.persistence.existingClaim | default (include "stirlingpdf.fullname" .) }}
|
||||||
|
{{- else }}
|
||||||
|
emptyDir: {}
|
||||||
|
{{- end }}
|
||||||
85
chart/stirling-pdf/templates/ingress.yaml
Normal file
85
chart/stirling-pdf/templates/ingress.yaml
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
{{- $servicePort := .Values.service.externalPort -}}
|
||||||
|
{{- $serviceName := include "stirlingpdf.fullname" . -}}
|
||||||
|
{{- $ingressExtraPaths := .Values.ingress.extraPaths -}}
|
||||||
|
---
|
||||||
|
{{- if semverCompare "<1.14-0" .Capabilities.KubeVersion.GitVersion }}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
{{- else if semverCompare "<1.19-0" .Capabilities.KubeVersion.GitVersion }}
|
||||||
|
apiVersion: networking.k8s.io/v1beta1
|
||||||
|
{{- else }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
{{- end }}
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ include "stirlingpdf.fullname" . }}
|
||||||
|
{{- with .Values.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.ingress.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.ingress.ingressClassName }}
|
||||||
|
ingressClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
- host: {{ .name }}
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
{{- range $ingressExtraPaths }}
|
||||||
|
- path: {{ default "/" .path | quote }}
|
||||||
|
backend:
|
||||||
|
{{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }}
|
||||||
|
{{- if $.Values.service.servicename }}
|
||||||
|
serviceName: {{ $.Values.service.servicename }}
|
||||||
|
{{- else }}
|
||||||
|
serviceName: {{ default $serviceName .service }}
|
||||||
|
{{- end }}
|
||||||
|
servicePort: {{ default $servicePort .port }}
|
||||||
|
{{- else }}
|
||||||
|
service:
|
||||||
|
{{- if $.Values.service.servicename }}
|
||||||
|
name: {{ $.Values.service.servicename }}
|
||||||
|
{{- else }}
|
||||||
|
name: {{ default $serviceName .service }}
|
||||||
|
{{- end }}
|
||||||
|
port:
|
||||||
|
number: {{ default $servicePort .port }}
|
||||||
|
pathType: {{ default $.Values.ingress.pathType .pathType }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
- path: {{ default "/" .path | quote }}
|
||||||
|
backend:
|
||||||
|
{{- if semverCompare "<1.19-0" $.Capabilities.KubeVersion.GitVersion }}
|
||||||
|
{{- if $.Values.service.servicename }}
|
||||||
|
serviceName: {{ $.Values.service.servicename }}
|
||||||
|
{{- else }}
|
||||||
|
serviceName: {{ default $serviceName .service }}
|
||||||
|
{{- end }}
|
||||||
|
servicePort: {{ default $servicePort .servicePort }}
|
||||||
|
{{- else }}
|
||||||
|
service:
|
||||||
|
{{- if $.Values.service.servicename }}
|
||||||
|
name: {{ $.Values.service.servicename }}
|
||||||
|
{{- else }}
|
||||||
|
name: {{ default $serviceName .service }}
|
||||||
|
{{- end }}
|
||||||
|
port:
|
||||||
|
number: {{ default $servicePort .port }}
|
||||||
|
pathType: {{ $.Values.ingress.pathType }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
tls:
|
||||||
|
{{- range .Values.ingress.hosts }}
|
||||||
|
{{- if .tls }}
|
||||||
|
- hosts:
|
||||||
|
- {{ .name }}
|
||||||
|
secretName: {{ .tlsSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
16
chart/stirling-pdf/templates/pv.yaml
Normal file
16
chart/stirling-pdf/templates/pv.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{{- if .Values.persistence.pv.enabled -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolume
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.persistence.pv.pvname | default (include "stirlingpdf.fullname" .) }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
capacity:
|
||||||
|
storage: {{ .Values.persistence.pv.capacity.storage }}
|
||||||
|
accessModes:
|
||||||
|
- {{ .Values.persistence.pv.accessMode | quote }}
|
||||||
|
nfs:
|
||||||
|
server: {{ .Values.persistence.pv.nfs.server }}
|
||||||
|
path: {{ .Values.persistence.pv.nfs.path | quote }}
|
||||||
|
{{- end }}
|
||||||
27
chart/stirling-pdf/templates/pvc.yaml
Normal file
27
chart/stirling-pdf/templates/pvc.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: {{ include "stirlingpdf.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.persistence.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- {{ .Values.persistence.accessMode | quote }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.persistence.size | quote }}
|
||||||
|
{{- if .Values.persistence.storageClass }}
|
||||||
|
{{- if (eq "-" .Values.persistence.storageClass) }}
|
||||||
|
storageClassName: ""
|
||||||
|
{{- else }}
|
||||||
|
storageClassName: "{{ .Values.persistence.storageClass }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.persistence.volumeName }}
|
||||||
|
volumeName: "{{ .Values.persistence.volumeName }}"
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
48
chart/stirling-pdf/templates/service.yaml
Normal file
48
chart/stirling-pdf/templates/service.yaml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ .Values.service.servicename | default (include "stirlingpdf.fullname" .) }}
|
||||||
|
{{- with .Values.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.service.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
{{- if (or (eq .Values.service.type "LoadBalancer") (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort)))) }}
|
||||||
|
externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerIP) }}
|
||||||
|
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if (and (eq .Values.service.type "LoadBalancer") .Values.service.loadBalancerSourceRanges) }}
|
||||||
|
loadBalancerSourceRanges:
|
||||||
|
{{- with .Values.service.loadBalancerSourceRanges }}
|
||||||
|
{{ toYaml . | indent 2 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if eq .Values.service.type "ClusterIP" }}
|
||||||
|
{{- if .Values.service.clusterIP }}
|
||||||
|
clusterIP: {{ .Values.service.clusterIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.service.externalPort }}
|
||||||
|
{{- if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }}
|
||||||
|
nodePort: {{.Values.service.nodePort}}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.service.targetPort }}
|
||||||
|
targetPort: {{ .Values.service.targetPort }}
|
||||||
|
name: {{ .Values.service.targetPort }}
|
||||||
|
{{- else }}
|
||||||
|
targetPort: http
|
||||||
|
name: http
|
||||||
|
{{- end }}
|
||||||
|
protocol: TCP
|
||||||
|
|
||||||
|
selector:
|
||||||
|
{{- include "stirlingpdf.selectorLabels" . | nindent 4 }}
|
||||||
13
chart/stirling-pdf/templates/serviceaccount.yaml
Normal file
13
chart/stirling-pdf/templates/serviceaccount.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{{- if .Values.serviceAccount.create -}}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "stirlingpdf.serviceAccountName" . }}
|
||||||
|
{{- with .Values.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
31
chart/stirling-pdf/templates/servicemonitor.yaml
Normal file
31
chart/stirling-pdf/templates/servicemonitor.yaml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
{{- if and ( .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" ) ( .Values.serviceMonitor.enabled ) }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "stirlingpdf.fullname" . }}
|
||||||
|
namespace: {{ .Values.serviceMonitor.namespace | default .Release.Namespace }}
|
||||||
|
labels:
|
||||||
|
{{- include "stirlingpdf.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.serviceMonitor.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- targetPort: 8080
|
||||||
|
{{- if .Values.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.serviceMonitor.metricsPath }}
|
||||||
|
path: {{ .Values.serviceMonitor.metricsPath }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.serviceMonitor.timeout }}
|
||||||
|
scrapeTimeout: {{ .Values.serviceMonitor.timeout }}
|
||||||
|
{{- end }}
|
||||||
|
jobLabel: {{ include "stirlingpdf.fullname" . }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "stirlingpdf.selectorLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
240
chart/stirling-pdf/values.yaml
Normal file
240
chart/stirling-pdf/values.yaml
Normal file
@@ -0,0 +1,240 @@
|
|||||||
|
extraArgs: []
|
||||||
|
# - --storage-timestamp-tolerance 1s
|
||||||
|
replicaCount: 1
|
||||||
|
strategy:
|
||||||
|
type: RollingUpdate
|
||||||
|
image:
|
||||||
|
repository: frooodle/s-pdf
|
||||||
|
# took Chart appVersion by default
|
||||||
|
tag: ~
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
secret:
|
||||||
|
labels: {}
|
||||||
|
## Labels to apply to all resources
|
||||||
|
##
|
||||||
|
commonLabels: {}
|
||||||
|
# team_name: dev
|
||||||
|
|
||||||
|
# rootpath for the application
|
||||||
|
rootPath: /
|
||||||
|
|
||||||
|
envs: []
|
||||||
|
# - name: UI_APP_NAME
|
||||||
|
# value: "Stirling PDF"
|
||||||
|
# - name: UI_HOME_DESCRIPTION
|
||||||
|
# value: "Your locally hosted one-stop-shop for all your PDF needs."
|
||||||
|
# - name: UI_APP_NAVBAR_NAME
|
||||||
|
# value: "Stirling PDF"
|
||||||
|
# - name: ALLOW_GOOGLE_VISIBILITY
|
||||||
|
# value: "true"
|
||||||
|
# - name: APP_LOCALE
|
||||||
|
# value: "en_GB"
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
## stirling-pdf Deployment annotations
|
||||||
|
annotations: {}
|
||||||
|
# name: value
|
||||||
|
labels: {}
|
||||||
|
# name: value
|
||||||
|
# additional volumes
|
||||||
|
extraVolumes: []
|
||||||
|
# - name: nginx-config
|
||||||
|
# secret:
|
||||||
|
# secretName: nginx-config
|
||||||
|
# additional volumes to mount
|
||||||
|
extraVolumeMounts: []
|
||||||
|
## sidecarContainers for the stirling-pdf
|
||||||
|
# Can be used to add a proxy to the pod that does
|
||||||
|
# scanning for secrets, signing, authentication, validation
|
||||||
|
# of the chart's content, send notifications...
|
||||||
|
sidecarContainers: {}
|
||||||
|
## Example sidecarContainer which uses an extraVolume from above and
|
||||||
|
## a named port that can be referenced in the service as targetPort.
|
||||||
|
# proxy:
|
||||||
|
# image: nginx:latest
|
||||||
|
# ports:
|
||||||
|
# - name: proxy
|
||||||
|
# containerPort: 8081
|
||||||
|
# volumeMounts:
|
||||||
|
# - name: nginx-config
|
||||||
|
# readOnly: true
|
||||||
|
# mountPath: /etc/nginx
|
||||||
|
|
||||||
|
## Pod annotations
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||||
|
## Read more about kube2iam to provide access to s3 https://github.com/jtblin/kube2iam
|
||||||
|
##
|
||||||
|
podAnnotations: {}
|
||||||
|
# iam.amazonaws.com/role: role-arn
|
||||||
|
|
||||||
|
## Pod labels
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||||
|
podLabels: {}
|
||||||
|
# name: value
|
||||||
|
|
||||||
|
service:
|
||||||
|
servicename:
|
||||||
|
type: ClusterIP
|
||||||
|
externalTrafficPolicy: Local
|
||||||
|
## Uses pre-assigned IP address from cloud provider
|
||||||
|
## Only valid if service.type: LoadBalancer
|
||||||
|
loadBalancerIP:
|
||||||
|
## Limits which cidr blocks can connect to service's load balancer
|
||||||
|
## Only valid if service.type: LoadBalancer
|
||||||
|
loadBalancerSourceRanges: []
|
||||||
|
# clusterIP: None
|
||||||
|
externalPort: 8080
|
||||||
|
## targetPort of the container to use. If a sidecar should handle the
|
||||||
|
## requests first, use the named port from the sidecar. See sidecar example
|
||||||
|
## from deployment above. Leave empty to use stirling-pdf directly.
|
||||||
|
targetPort:
|
||||||
|
nodePort:
|
||||||
|
annotations: {}
|
||||||
|
labels: {}
|
||||||
|
|
||||||
|
serviceMonitor:
|
||||||
|
enabled: false
|
||||||
|
# namespace: prometheus
|
||||||
|
labels: {}
|
||||||
|
metricsPath: "/metrics"
|
||||||
|
# timeout: 60
|
||||||
|
# interval: 60
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
# limits:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 80m
|
||||||
|
# memory: 64Mi
|
||||||
|
|
||||||
|
probes:
|
||||||
|
liveness:
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 1
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
livenessHttpGetConfig:
|
||||||
|
scheme: HTTP
|
||||||
|
readiness:
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 10
|
||||||
|
timeoutSeconds: 1
|
||||||
|
successThreshold: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
readinessHttpGetConfig:
|
||||||
|
scheme: HTTP
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
create: true
|
||||||
|
name: ""
|
||||||
|
automountServiceAccountToken: false
|
||||||
|
## Annotations for the Service Account
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
|
# UID/GID 1000 is the default user "stirling-pdf" used in
|
||||||
|
# the container image starting in v0.8.0 and above. This
|
||||||
|
# is required for local persistent storage. If your cluster
|
||||||
|
# does not allow this, try setting securityContext: {}
|
||||||
|
securityContext:
|
||||||
|
enabled: true
|
||||||
|
fsGroup: 1000
|
||||||
|
## Optionally, specify supplementalGroups and/or
|
||||||
|
## runAsNonRoot for security purposes
|
||||||
|
# runAsNonRoot: true
|
||||||
|
# supplementalGroups: [1000]
|
||||||
|
|
||||||
|
containerSecurityContext: {}
|
||||||
|
|
||||||
|
priorityClassName: ""
|
||||||
|
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: false
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 8Gi
|
||||||
|
labels: {}
|
||||||
|
# name: value
|
||||||
|
path: /tmp
|
||||||
|
## A manually managed Persistent Volume and Claim
|
||||||
|
## Requires persistence.enabled: true
|
||||||
|
## If defined, PVC must be created manually before volume will be bound
|
||||||
|
# existingClaim:
|
||||||
|
|
||||||
|
## stirling-pdf data Persistent Volume Storage Class
|
||||||
|
## If defined, storageClassName: <storageClass>
|
||||||
|
## If set to "-", storageClassName: "", which disables dynamic provisioning
|
||||||
|
## If undefined (the default) or set to null, no storageClassName spec is
|
||||||
|
## set, choosing the default provisioner. (gp2 on AWS, standard on
|
||||||
|
## GKE, AWS & OpenStack)
|
||||||
|
##
|
||||||
|
# storageClass: "-"
|
||||||
|
# volumeName:
|
||||||
|
pv:
|
||||||
|
enabled: false
|
||||||
|
pvname:
|
||||||
|
capacity:
|
||||||
|
storage: 8Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
nfs:
|
||||||
|
server:
|
||||||
|
path:
|
||||||
|
|
||||||
|
## Init containers parameters:
|
||||||
|
## volumePermissions: Change the owner of the persistent volume mountpoint to RunAsUser:fsGroup
|
||||||
|
##
|
||||||
|
volumePermissions:
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: bitnami/minideb
|
||||||
|
tag: buster
|
||||||
|
pullPolicy: Always
|
||||||
|
## Optionally specify an array of imagePullSecrets.
|
||||||
|
## Secrets must be manually created in the namespace.
|
||||||
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
|
||||||
|
##
|
||||||
|
# pullSecrets:
|
||||||
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
|
## Ingress for load balancer
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
pathType: "ImplementationSpecific"
|
||||||
|
## stirling-pdf Ingress labels
|
||||||
|
##
|
||||||
|
labels: {}
|
||||||
|
# dns: "route53"
|
||||||
|
|
||||||
|
## stirling-pdf Ingress annotations
|
||||||
|
##
|
||||||
|
annotations: {}
|
||||||
|
# kubernetes.io/ingress.class: nginx
|
||||||
|
# kubernetes.io/tls-acme: "true"
|
||||||
|
|
||||||
|
## stirling-pdf Ingress hostnames
|
||||||
|
## Must be provided if Ingress is enabled
|
||||||
|
##
|
||||||
|
hosts: []
|
||||||
|
# - name: stirling-pdf.domain1.com
|
||||||
|
# path: /
|
||||||
|
# tls: false
|
||||||
|
# - name: stirling-pdf.domain2.com
|
||||||
|
# path: /
|
||||||
|
#
|
||||||
|
# ## Set this to true in order to enable TLS on the ingress record
|
||||||
|
# tls: true
|
||||||
|
#
|
||||||
|
# ## If TLS is set to true, you must declare what secret will store the key/certificate for TLS
|
||||||
|
# ## Secrets must be added manually to the namespace
|
||||||
|
# tlsSecret: stirling-pdf.domain2-tls
|
||||||
|
|
||||||
|
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
|
||||||
|
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
|
||||||
|
ingressClassName:
|
||||||
|
|
||||||
@@ -13,11 +13,13 @@ ignore = [
|
|||||||
'PDFToText.tags',
|
'PDFToText.tags',
|
||||||
'adminUserSettings.admin',
|
'adminUserSettings.admin',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
|
'survey.button',
|
||||||
'watermark.type.1',
|
'watermark.type.1',
|
||||||
]
|
]
|
||||||
|
|
||||||
[cs_CZ]
|
[cs_CZ]
|
||||||
ignore = [
|
ignore = [
|
||||||
|
'info',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'pipeline.header',
|
'pipeline.header',
|
||||||
'text',
|
'text',
|
||||||
@@ -37,12 +39,10 @@ ignore = [
|
|||||||
'addPageNumbers.selectText.3',
|
'addPageNumbers.selectText.3',
|
||||||
'alphabet',
|
'alphabet',
|
||||||
'certSign.name',
|
'certSign.name',
|
||||||
'home.pipeline.title',
|
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'licenses.version',
|
'licenses.version',
|
||||||
'pipeline.title',
|
'pipeline.title',
|
||||||
'pipelineOptions.pipelineHeader',
|
'pipelineOptions.pipelineHeader',
|
||||||
'pro',
|
|
||||||
'sponsor',
|
'sponsor',
|
||||||
'text',
|
'text',
|
||||||
'watermark.type.1',
|
'watermark.type.1',
|
||||||
@@ -79,6 +79,7 @@ ignore = [
|
|||||||
'alphabet',
|
'alphabet',
|
||||||
'compare.document.1',
|
'compare.document.1',
|
||||||
'compare.document.2',
|
'compare.document.2',
|
||||||
|
'info',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'licenses.license',
|
'licenses.license',
|
||||||
'licenses.module',
|
'licenses.module',
|
||||||
@@ -86,6 +87,8 @@ ignore = [
|
|||||||
'licenses.version',
|
'licenses.version',
|
||||||
'pdfOrganiser.mode',
|
'pdfOrganiser.mode',
|
||||||
'pipeline.title',
|
'pipeline.title',
|
||||||
|
'pipelineOptions.pipelineHeader',
|
||||||
|
'sponsor',
|
||||||
'watermark.type.2',
|
'watermark.type.2',
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -102,8 +105,11 @@ ignore = [
|
|||||||
[hr_HR]
|
[hr_HR]
|
||||||
ignore = [
|
ignore = [
|
||||||
'PDFToBook.selectText.1',
|
'PDFToBook.selectText.1',
|
||||||
|
'font',
|
||||||
'home.pipeline.title',
|
'home.pipeline.title',
|
||||||
|
'info',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
|
'pdfOrganiser.tags',
|
||||||
'showJS.tags',
|
'showJS.tags',
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -119,6 +125,7 @@ ignore = [
|
|||||||
|
|
||||||
[it_IT]
|
[it_IT]
|
||||||
ignore = [
|
ignore = [
|
||||||
|
'font',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'no',
|
'no',
|
||||||
'password',
|
'password',
|
||||||
@@ -141,10 +148,18 @@ ignore = [
|
|||||||
|
|
||||||
[nl_NL]
|
[nl_NL]
|
||||||
ignore = [
|
ignore = [
|
||||||
|
'HTMLToPDF.print',
|
||||||
|
'adjustContrast.contrast',
|
||||||
'compare.document.1',
|
'compare.document.1',
|
||||||
'compare.document.2',
|
'compare.document.2',
|
||||||
|
'error',
|
||||||
|
'getPdfInfo.downloadJson',
|
||||||
|
'help',
|
||||||
|
'info',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'navbar.allTools',
|
'navbar.allTools',
|
||||||
|
'printFile.submit',
|
||||||
|
'showJS.downloadJS',
|
||||||
'sponsor',
|
'sponsor',
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -166,6 +181,7 @@ ignore = [
|
|||||||
|
|
||||||
[pt_BR]
|
[pt_BR]
|
||||||
ignore = [
|
ignore = [
|
||||||
|
'changeMetadata.trapped',
|
||||||
'language.direction',
|
'language.direction',
|
||||||
'pipelineOptions.pipelineHeader',
|
'pipelineOptions.pipelineHeader',
|
||||||
]
|
]
|
||||||
@@ -211,6 +227,7 @@ ignore = [
|
|||||||
[th_TH]
|
[th_TH]
|
||||||
ignore = [
|
ignore = [
|
||||||
'language.direction',
|
'language.direction',
|
||||||
|
'pipeline.title',
|
||||||
'pipelineOptions.pipelineHeader',
|
'pipelineOptions.pipelineHeader',
|
||||||
'showJS.tags',
|
'showJS.tags',
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("Convert", "img-to-pdf");
|
addEndpointToGroup("Convert", "img-to-pdf");
|
||||||
addEndpointToGroup("Convert", "pdf-to-pdfa");
|
addEndpointToGroup("Convert", "pdf-to-pdfa");
|
||||||
addEndpointToGroup("Convert", "file-to-pdf");
|
addEndpointToGroup("Convert", "file-to-pdf");
|
||||||
|
addEndpointToGroup("Convert", "xlsx-to-pdf");
|
||||||
addEndpointToGroup("Convert", "pdf-to-word");
|
addEndpointToGroup("Convert", "pdf-to-word");
|
||||||
addEndpointToGroup("Convert", "pdf-to-presentation");
|
addEndpointToGroup("Convert", "pdf-to-presentation");
|
||||||
addEndpointToGroup("Convert", "pdf-to-text");
|
addEndpointToGroup("Convert", "pdf-to-text");
|
||||||
@@ -162,6 +163,7 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("CLI", "repair");
|
addEndpointToGroup("CLI", "repair");
|
||||||
addEndpointToGroup("CLI", "pdf-to-pdfa");
|
addEndpointToGroup("CLI", "pdf-to-pdfa");
|
||||||
addEndpointToGroup("CLI", "file-to-pdf");
|
addEndpointToGroup("CLI", "file-to-pdf");
|
||||||
|
addEndpointToGroup("CLI", "xlsx-to-pdf");
|
||||||
addEndpointToGroup("CLI", "pdf-to-word");
|
addEndpointToGroup("CLI", "pdf-to-word");
|
||||||
addEndpointToGroup("CLI", "pdf-to-presentation");
|
addEndpointToGroup("CLI", "pdf-to-presentation");
|
||||||
addEndpointToGroup("CLI", "pdf-to-html");
|
addEndpointToGroup("CLI", "pdf-to-html");
|
||||||
@@ -182,7 +184,6 @@ public class EndpointConfiguration {
|
|||||||
addEndpointToGroup("Python", "html-to-pdf");
|
addEndpointToGroup("Python", "html-to-pdf");
|
||||||
addEndpointToGroup("Python", "url-to-pdf");
|
addEndpointToGroup("Python", "url-to-pdf");
|
||||||
addEndpointToGroup("Python", "pdf-to-img");
|
addEndpointToGroup("Python", "pdf-to-img");
|
||||||
addEndpointToGroup("Python", "file-to-pdf");
|
|
||||||
|
|
||||||
// openCV
|
// openCV
|
||||||
addEndpointToGroup("OpenCV", "extract-image-scans");
|
addEndpointToGroup("OpenCV", "extract-image-scans");
|
||||||
@@ -190,15 +191,13 @@ public class EndpointConfiguration {
|
|||||||
// LibreOffice
|
// LibreOffice
|
||||||
addEndpointToGroup("LibreOffice", "repair");
|
addEndpointToGroup("LibreOffice", "repair");
|
||||||
addEndpointToGroup("LibreOffice", "file-to-pdf");
|
addEndpointToGroup("LibreOffice", "file-to-pdf");
|
||||||
|
addEndpointToGroup("LibreOffice", "xlsx-to-pdf");
|
||||||
addEndpointToGroup("LibreOffice", "pdf-to-word");
|
addEndpointToGroup("LibreOffice", "pdf-to-word");
|
||||||
addEndpointToGroup("LibreOffice", "pdf-to-presentation");
|
addEndpointToGroup("LibreOffice", "pdf-to-presentation");
|
||||||
addEndpointToGroup("LibreOffice", "pdf-to-rtf");
|
addEndpointToGroup("LibreOffice", "pdf-to-rtf");
|
||||||
addEndpointToGroup("LibreOffice", "pdf-to-html");
|
addEndpointToGroup("LibreOffice", "pdf-to-html");
|
||||||
addEndpointToGroup("LibreOffice", "pdf-to-xml");
|
addEndpointToGroup("LibreOffice", "pdf-to-xml");
|
||||||
|
|
||||||
// Unoconv
|
|
||||||
addEndpointToGroup("Unoconv", "file-to-pdf");
|
|
||||||
|
|
||||||
// OCRmyPDF
|
// OCRmyPDF
|
||||||
addEndpointToGroup("OCRmyPDF", "compress-pdf");
|
addEndpointToGroup("OCRmyPDF", "compress-pdf");
|
||||||
addEndpointToGroup("OCRmyPDF", "pdf-to-pdfa");
|
addEndpointToGroup("OCRmyPDF", "pdf-to-pdfa");
|
||||||
@@ -251,7 +250,6 @@ public class EndpointConfiguration {
|
|||||||
// Ghostscript dependent endpoints
|
// Ghostscript dependent endpoints
|
||||||
addEndpointToGroup("Ghostscript", "compress-pdf");
|
addEndpointToGroup("Ghostscript", "compress-pdf");
|
||||||
addEndpointToGroup("Ghostscript", "pdf-to-pdfa");
|
addEndpointToGroup("Ghostscript", "pdf-to-pdfa");
|
||||||
addEndpointToGroup("Ghostscript", "repair");
|
|
||||||
|
|
||||||
// Weasyprint dependent endpoints
|
// Weasyprint dependent endpoints
|
||||||
addEndpointToGroup("Weasyprint", "html-to-pdf");
|
addEndpointToGroup("Weasyprint", "html-to-pdf");
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ public class ExternalAppDepConfig {
|
|||||||
put("ocrmypdf", List.of("OCRmyPDF"));
|
put("ocrmypdf", List.of("OCRmyPDF"));
|
||||||
put("weasyprint", List.of("Weasyprint"));
|
put("weasyprint", List.of("Weasyprint"));
|
||||||
put("pdftohtml", List.of("Pdftohtml"));
|
put("pdftohtml", List.of("Pdftohtml"));
|
||||||
put("unoconv", List.of("Unoconv"));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,7 +101,6 @@ public class ExternalAppDepConfig {
|
|||||||
checkDependencyAndDisableGroup("ocrmypdf");
|
checkDependencyAndDisableGroup("ocrmypdf");
|
||||||
checkDependencyAndDisableGroup("weasyprint");
|
checkDependencyAndDisableGroup("weasyprint");
|
||||||
checkDependencyAndDisableGroup("pdftohtml");
|
checkDependencyAndDisableGroup("pdftohtml");
|
||||||
checkDependencyAndDisableGroup("unoconv");
|
|
||||||
|
|
||||||
// Special handling for Python/OpenCV dependencies
|
// Special handling for Python/OpenCV dependencies
|
||||||
boolean pythonAvailable = isCommandAvailable("python3") || isCommandAvailable("python");
|
boolean pythonAvailable = isCommandAvailable("python3") || isCommandAvailable("python");
|
||||||
|
|||||||
@@ -156,14 +156,10 @@ public class SecurityConfiguration {
|
|||||||
http.rememberMe(
|
http.rememberMe(
|
||||||
rememberMeConfigurer ->
|
rememberMeConfigurer ->
|
||||||
rememberMeConfigurer // Use the configurator directly
|
rememberMeConfigurer // Use the configurator directly
|
||||||
|
.key("uniqueAndSecret")
|
||||||
.tokenRepository(persistentTokenRepository())
|
.tokenRepository(persistentTokenRepository())
|
||||||
.tokenValiditySeconds(14 * 24 * 60 * 60) // 14 days
|
.tokenValiditySeconds(1209600) // 2 weeks
|
||||||
.userDetailsService(
|
);
|
||||||
userDetailsService) // Your existing UserDetailsService
|
|
||||||
.useSecureCookie(true) // Enable secure cookie
|
|
||||||
.rememberMeParameter("remember-me") // Form parameter name
|
|
||||||
.rememberMeCookieName("remember-me") // Cookie name
|
|
||||||
.alwaysRemember(false));
|
|
||||||
http.authorizeHttpRequests(
|
http.authorizeHttpRequests(
|
||||||
authz ->
|
authz ->
|
||||||
authz.requestMatchers(
|
authz.requestMatchers(
|
||||||
|
|||||||
@@ -19,12 +19,10 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
|||||||
import org.springframework.security.oauth2.core.user.OAuth2User;
|
import org.springframework.security.oauth2.core.user.OAuth2User;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import stirling.software.SPDF.config.interfaces.DatabaseBackupInterface;
|
import stirling.software.SPDF.config.interfaces.DatabaseBackupInterface;
|
||||||
import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal;
|
import stirling.software.SPDF.config.security.saml2.CustomSaml2AuthenticatedPrincipal;
|
||||||
import stirling.software.SPDF.config.security.session.SessionPersistentRegistry;
|
import stirling.software.SPDF.config.security.session.SessionPersistentRegistry;
|
||||||
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
|
import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
|
||||||
import stirling.software.SPDF.model.ApplicationProperties;
|
|
||||||
import stirling.software.SPDF.model.AuthenticationType;
|
import stirling.software.SPDF.model.AuthenticationType;
|
||||||
import stirling.software.SPDF.model.Authority;
|
import stirling.software.SPDF.model.Authority;
|
||||||
import stirling.software.SPDF.model.Role;
|
import stirling.software.SPDF.model.Role;
|
||||||
@@ -33,7 +31,6 @@ import stirling.software.SPDF.repository.AuthorityRepository;
|
|||||||
import stirling.software.SPDF.repository.UserRepository;
|
import stirling.software.SPDF.repository.UserRepository;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@Slf4j
|
|
||||||
public class UserService implements UserServiceInterface {
|
public class UserService implements UserServiceInterface {
|
||||||
|
|
||||||
@Autowired private UserRepository userRepository;
|
@Autowired private UserRepository userRepository;
|
||||||
@@ -48,8 +45,6 @@ public class UserService implements UserServiceInterface {
|
|||||||
|
|
||||||
@Autowired DatabaseBackupInterface databaseBackupHelper;
|
@Autowired DatabaseBackupInterface databaseBackupHelper;
|
||||||
|
|
||||||
@Autowired ApplicationProperties applicationProperties;
|
|
||||||
|
|
||||||
// Handle OAUTH2 login and user auto creation.
|
// Handle OAUTH2 login and user auto creation.
|
||||||
public boolean processOAuth2PostLogin(String username, boolean autoCreateUser)
|
public boolean processOAuth2PostLogin(String username, boolean autoCreateUser)
|
||||||
throws IllegalArgumentException, IOException {
|
throws IllegalArgumentException, IOException {
|
||||||
@@ -304,13 +299,7 @@ public class UserService implements UserServiceInterface {
|
|||||||
boolean isValidEmail =
|
boolean isValidEmail =
|
||||||
username.matches(
|
username.matches(
|
||||||
"^(?=.{1,64}@)[A-Za-z0-9]+(\\.[A-Za-z0-9_+.-]+)*@[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$");
|
"^(?=.{1,64}@)[A-Za-z0-9]+(\\.[A-Za-z0-9_+.-]+)*@[^-][A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*(\\.[A-Za-z]{2,})$");
|
||||||
|
return isValidSimpleUsername || isValidEmail;
|
||||||
List<String> notAllowedUserList = new ArrayList<>();
|
|
||||||
notAllowedUserList.add("ALL_USERS".toLowerCase());
|
|
||||||
|
|
||||||
boolean notAllowedUser = notAllowedUserList.contains(username.toLowerCase());
|
|
||||||
|
|
||||||
return (isValidSimpleUsername || isValidEmail) && !notAllowedUser;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getInvalidUsernameMessage() {
|
private String getInvalidUsernameMessage() {
|
||||||
@@ -365,14 +354,6 @@ public class UserService implements UserServiceInterface {
|
|||||||
|
|
||||||
if (principal instanceof UserDetails) {
|
if (principal instanceof UserDetails) {
|
||||||
return ((UserDetails) principal).getUsername();
|
return ((UserDetails) principal).getUsername();
|
||||||
} else if (principal instanceof OAuth2User) {
|
|
||||||
return ((OAuth2User) principal)
|
|
||||||
.getAttribute(
|
|
||||||
applicationProperties.getSecurity().getOauth2().getUseAsUsername());
|
|
||||||
} else if (principal instanceof CustomSaml2AuthenticatedPrincipal) {
|
|
||||||
return ((CustomSaml2AuthenticatedPrincipal) principal).getName();
|
|
||||||
} else if (principal instanceof String) {
|
|
||||||
return (String) principal;
|
|
||||||
} else {
|
} else {
|
||||||
return principal.toString();
|
return principal.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
package stirling.software.SPDF.controller.api;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Hidden;
|
|
||||||
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import stirling.software.SPDF.service.LanguageService;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RequestMapping("/js")
|
|
||||||
public class AdditionalLanguageJsController {
|
|
||||||
|
|
||||||
@Autowired private LanguageService languageService;
|
|
||||||
|
|
||||||
@Hidden
|
|
||||||
@GetMapping(value = "/additionalLanguageCode.js", produces = "application/javascript")
|
|
||||||
public void generateAdditionalLanguageJs(HttpServletResponse response) throws IOException {
|
|
||||||
List<String> supportedLanguages = languageService.getSupportedLanguages();
|
|
||||||
|
|
||||||
response.setContentType("application/javascript");
|
|
||||||
PrintWriter writer = response.getWriter();
|
|
||||||
|
|
||||||
// Erstelle das JavaScript dynamisch
|
|
||||||
writer.println("const supportedLanguages = " + toJsonArray(supportedLanguages) + ";");
|
|
||||||
|
|
||||||
// Generiere die `getDetailedLanguageCode`-Funktion
|
|
||||||
writer.println(
|
|
||||||
"""
|
|
||||||
function getDetailedLanguageCode() {
|
|
||||||
const userLanguages = navigator.languages ? navigator.languages : [navigator.language];
|
|
||||||
for (let lang of userLanguages) {
|
|
||||||
let matchedLang = supportedLanguages.find(supportedLang => supportedLang.startsWith(lang.replace('-', '_')));
|
|
||||||
if (matchedLang) {
|
|
||||||
return matchedLang;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Fallback
|
|
||||||
return "en_GB";
|
|
||||||
}
|
|
||||||
""");
|
|
||||||
|
|
||||||
writer.flush();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Hilfsfunktion zum Konvertieren der Liste in ein JSON-Array
|
|
||||||
private String toJsonArray(List<String> list) {
|
|
||||||
StringBuilder jsonArray = new StringBuilder("[");
|
|
||||||
for (int i = 0; i < list.size(); i++) {
|
|
||||||
jsonArray.append("\"").append(list.get(i)).append("\"");
|
|
||||||
if (i < list.size() - 1) {
|
|
||||||
jsonArray.append(",");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
jsonArray.append("]");
|
|
||||||
return jsonArray.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -13,14 +13,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
||||||
|
|
||||||
import stirling.software.SPDF.model.api.misc.ReplaceAndInvertColorRequest;
|
import stirling.software.SPDF.model.api.misc.ReplaceAndInvertColorRequest;
|
||||||
import stirling.software.SPDF.service.misc.ReplaceAndInvertColorService;
|
import stirling.software.SPDF.service.misc.ReplaceAndInvertColorService;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/api/v1/misc")
|
@RequestMapping("/api/v1/misc")
|
||||||
@Tag(name = "Misc", description = "Miscellaneous APIs")
|
|
||||||
public class ReplaceAndInvertColorController {
|
public class ReplaceAndInvertColorController {
|
||||||
|
|
||||||
private ReplaceAndInvertColorService replaceAndInvertColorService;
|
private ReplaceAndInvertColorService replaceAndInvertColorService;
|
||||||
|
|||||||
@@ -187,31 +187,18 @@ public class WatermarkController {
|
|||||||
float watermarkHeight = heightSpacer + fontSize * textLines.length;
|
float watermarkHeight = heightSpacer + fontSize * textLines.length;
|
||||||
float pageWidth = page.getMediaBox().getWidth();
|
float pageWidth = page.getMediaBox().getWidth();
|
||||||
float pageHeight = page.getMediaBox().getHeight();
|
float pageHeight = page.getMediaBox().getHeight();
|
||||||
|
int watermarkRows = (int) (pageHeight / watermarkHeight + 1);
|
||||||
// Calculating the new width and height depending on the angle.
|
int watermarkCols = (int) (pageWidth / watermarkWidth + 1);
|
||||||
float radians = (float) Math.toRadians(rotation);
|
|
||||||
float newWatermarkWidth =
|
|
||||||
(float)
|
|
||||||
(Math.abs(watermarkWidth * Math.cos(radians))
|
|
||||||
+ Math.abs(watermarkHeight * Math.sin(radians)));
|
|
||||||
float newWatermarkHeight =
|
|
||||||
(float)
|
|
||||||
(Math.abs(watermarkWidth * Math.sin(radians))
|
|
||||||
+ Math.abs(watermarkHeight * Math.cos(radians)));
|
|
||||||
|
|
||||||
// Calculating the number of rows and columns.
|
|
||||||
int watermarkRows = (int) (pageHeight / newWatermarkHeight + 1);
|
|
||||||
int watermarkCols = (int) (pageWidth / newWatermarkWidth + 1);
|
|
||||||
|
|
||||||
// Add the text watermark
|
// Add the text watermark
|
||||||
for (int i = 0; i <= watermarkRows; i++) {
|
for (int i = 0; i < watermarkRows; i++) {
|
||||||
for (int j = 0; j <= watermarkCols; j++) {
|
for (int j = 0; j < watermarkCols; j++) {
|
||||||
contentStream.beginText();
|
contentStream.beginText();
|
||||||
contentStream.setTextMatrix(
|
contentStream.setTextMatrix(
|
||||||
Matrix.getRotateInstance(
|
Matrix.getRotateInstance(
|
||||||
(float) Math.toRadians(rotation),
|
(float) Math.toRadians(rotation),
|
||||||
j * newWatermarkWidth,
|
j * watermarkWidth,
|
||||||
i * newWatermarkHeight));
|
i * watermarkHeight));
|
||||||
|
|
||||||
for (int k = 0; k < textLines.length; ++k) {
|
for (int k = 0; k < textLines.length; ++k) {
|
||||||
contentStream.showText(textLines[k]);
|
contentStream.showText(textLines[k]);
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import stirling.software.SPDF.controller.api.pipeline.UserServiceInterface;
|
|||||||
import stirling.software.SPDF.service.SignatureService;
|
import stirling.software.SPDF.service.SignatureService;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/api/v1/general")
|
@RequestMapping("/api/v1/general/")
|
||||||
public class SignatureController {
|
public class SignatureController {
|
||||||
|
|
||||||
@Autowired private SignatureService signatureService;
|
@Autowired private SignatureService signatureService;
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ public class ApplicationProperties {
|
|||||||
private AutomaticallyGenerated automaticallyGenerated = new AutomaticallyGenerated();
|
private AutomaticallyGenerated automaticallyGenerated = new AutomaticallyGenerated();
|
||||||
private EnterpriseEdition enterpriseEdition = new EnterpriseEdition();
|
private EnterpriseEdition enterpriseEdition = new EnterpriseEdition();
|
||||||
private AutoPipeline autoPipeline = new AutoPipeline();
|
private AutoPipeline autoPipeline = new AutoPipeline();
|
||||||
private ProcessExecutor processExecutor = new ProcessExecutor();
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class AutoPipeline {
|
public static class AutoPipeline {
|
||||||
@@ -310,98 +309,4 @@ public class ApplicationProperties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class ProcessExecutor {
|
|
||||||
private SessionLimit sessionLimit = new SessionLimit();
|
|
||||||
private TimeoutMinutes timeoutMinutes = new TimeoutMinutes();
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class SessionLimit {
|
|
||||||
private int libreOfficeSessionLimit;
|
|
||||||
private int pdfToHtmlSessionLimit;
|
|
||||||
private int ocrMyPdfSessionLimit;
|
|
||||||
private int pythonOpenCvSessionLimit;
|
|
||||||
private int ghostScriptSessionLimit;
|
|
||||||
private int weasyPrintSessionLimit;
|
|
||||||
private int installAppSessionLimit;
|
|
||||||
private int calibreSessionLimit;
|
|
||||||
|
|
||||||
public int getLibreOfficeSessionLimit() {
|
|
||||||
return libreOfficeSessionLimit > 0 ? libreOfficeSessionLimit : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPdfToHtmlSessionLimit() {
|
|
||||||
return pdfToHtmlSessionLimit > 0 ? pdfToHtmlSessionLimit : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getOcrMyPdfSessionLimit() {
|
|
||||||
return ocrMyPdfSessionLimit > 0 ? ocrMyPdfSessionLimit : 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getPythonOpenCvSessionLimit() {
|
|
||||||
return pythonOpenCvSessionLimit > 0 ? pythonOpenCvSessionLimit : 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getGhostScriptSessionLimit() {
|
|
||||||
return ghostScriptSessionLimit > 0 ? ghostScriptSessionLimit : 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getWeasyPrintSessionLimit() {
|
|
||||||
return weasyPrintSessionLimit > 0 ? weasyPrintSessionLimit : 16;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getInstallAppSessionLimit() {
|
|
||||||
return installAppSessionLimit > 0 ? installAppSessionLimit : 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getCalibreSessionLimit() {
|
|
||||||
return calibreSessionLimit > 0 ? calibreSessionLimit : 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class TimeoutMinutes {
|
|
||||||
private long libreOfficeTimeoutMinutes;
|
|
||||||
private long pdfToHtmlTimeoutMinutes;
|
|
||||||
private long ocrMyPdfTimeoutMinutes;
|
|
||||||
private long pythonOpenCvTimeoutMinutes;
|
|
||||||
private long ghostScriptTimeoutMinutes;
|
|
||||||
private long weasyPrintTimeoutMinutes;
|
|
||||||
private long installAppTimeoutMinutes;
|
|
||||||
private long calibreTimeoutMinutes;
|
|
||||||
|
|
||||||
public long getLibreOfficeTimeoutMinutes() {
|
|
||||||
return libreOfficeTimeoutMinutes > 0 ? libreOfficeTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getPdfToHtmlTimeoutMinutes() {
|
|
||||||
return pdfToHtmlTimeoutMinutes > 0 ? pdfToHtmlTimeoutMinutes : 20;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getOcrMyPdfTimeoutMinutes() {
|
|
||||||
return ocrMyPdfTimeoutMinutes > 0 ? ocrMyPdfTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getPythonOpenCvTimeoutMinutes() {
|
|
||||||
return pythonOpenCvTimeoutMinutes > 0 ? pythonOpenCvTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getGhostScriptTimeoutMinutes() {
|
|
||||||
return ghostScriptTimeoutMinutes > 0 ? ghostScriptTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getWeasyPrintTimeoutMinutes() {
|
|
||||||
return weasyPrintTimeoutMinutes > 0 ? weasyPrintTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getInstallAppTimeoutMinutes() {
|
|
||||||
return installAppTimeoutMinutes > 0 ? installAppTimeoutMinutes : 60;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getCalibreTimeoutMinutes() {
|
|
||||||
return calibreTimeoutMinutes > 0 ? calibreTimeoutMinutes : 30;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import java.util.Date;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken;
|
import org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken;
|
||||||
import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository;
|
import org.springframework.security.web.authentication.rememberme.PersistentTokenRepository;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import stirling.software.SPDF.model.PersistentLogin;
|
import stirling.software.SPDF.model.PersistentLogin;
|
||||||
|
|
||||||
@@ -14,7 +13,6 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
|
|||||||
@Autowired private PersistentLoginRepository persistentLoginRepository;
|
@Autowired private PersistentLoginRepository persistentLoginRepository;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
public void createNewToken(PersistentRememberMeToken token) {
|
public void createNewToken(PersistentRememberMeToken token) {
|
||||||
PersistentLogin newToken = new PersistentLogin();
|
PersistentLogin newToken = new PersistentLogin();
|
||||||
newToken.setSeries(token.getSeries());
|
newToken.setSeries(token.getSeries());
|
||||||
@@ -25,7 +23,6 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
public void updateToken(String series, String tokenValue, Date lastUsed) {
|
public void updateToken(String series, String tokenValue, Date lastUsed) {
|
||||||
PersistentLogin existingToken = persistentLoginRepository.findById(series).orElse(null);
|
PersistentLogin existingToken = persistentLoginRepository.findById(series).orElse(null);
|
||||||
if (existingToken != null) {
|
if (existingToken != null) {
|
||||||
@@ -46,11 +43,11 @@ public class JPATokenRepositoryImpl implements PersistentTokenRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
|
||||||
public void removeUserTokens(String username) {
|
public void removeUserTokens(String username) {
|
||||||
try {
|
for (PersistentLogin token : persistentLoginRepository.findAll()) {
|
||||||
persistentLoginRepository.deleteByUsername(username);
|
if (token.getUsername().equals(username)) {
|
||||||
} catch (Exception e) {
|
persistentLoginRepository.delete(token);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,4 @@ import org.springframework.stereotype.Repository;
|
|||||||
import stirling.software.SPDF.model.PersistentLogin;
|
import stirling.software.SPDF.model.PersistentLogin;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface PersistentLoginRepository extends JpaRepository<PersistentLogin, String> {
|
public interface PersistentLoginRepository extends JpaRepository<PersistentLogin, String> {}
|
||||||
void deleteByUsername(String username);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,41 +0,0 @@
|
|||||||
package stirling.software.SPDF.service;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.core.io.Resource;
|
|
||||||
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class LanguageService {
|
|
||||||
|
|
||||||
private final PathMatchingResourcePatternResolver resourcePatternResolver =
|
|
||||||
new PathMatchingResourcePatternResolver();
|
|
||||||
|
|
||||||
public List<String> getSupportedLanguages() {
|
|
||||||
List<String> supportedLanguages = new ArrayList<>();
|
|
||||||
|
|
||||||
try {
|
|
||||||
Resource[] resources =
|
|
||||||
resourcePatternResolver.getResources("classpath*:messages_*.properties");
|
|
||||||
for (Resource resource : resources) {
|
|
||||||
if (resource.exists() && resource.isReadable()) {
|
|
||||||
String filename = resource.getFilename();
|
|
||||||
if (filename != null
|
|
||||||
&& filename.startsWith("messages_")
|
|
||||||
&& filename.endsWith(".properties")) {
|
|
||||||
String languageCode =
|
|
||||||
filename.replace("messages_", "").replace(".properties", "");
|
|
||||||
supportedLanguages.add(languageCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return supportedLanguages;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -18,14 +18,10 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
import io.github.pixee.security.BoundedLineReader;
|
import io.github.pixee.security.BoundedLineReader;
|
||||||
|
|
||||||
import stirling.software.SPDF.model.ApplicationProperties;
|
|
||||||
|
|
||||||
public class ProcessExecutor {
|
public class ProcessExecutor {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ProcessExecutor.class);
|
private static final Logger logger = LoggerFactory.getLogger(ProcessExecutor.class);
|
||||||
|
|
||||||
private static ApplicationProperties applicationProperties = new ApplicationProperties();
|
|
||||||
|
|
||||||
public enum Processes {
|
public enum Processes {
|
||||||
LIBRE_OFFICE,
|
LIBRE_OFFICE,
|
||||||
PDFTOHTML,
|
PDFTOHTML,
|
||||||
@@ -49,90 +45,26 @@ public class ProcessExecutor {
|
|||||||
key -> {
|
key -> {
|
||||||
int semaphoreLimit =
|
int semaphoreLimit =
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case LIBRE_OFFICE ->
|
case LIBRE_OFFICE -> 1;
|
||||||
applicationProperties
|
case PDFTOHTML -> 1;
|
||||||
.getProcessExecutor()
|
case OCR_MY_PDF -> 2;
|
||||||
.getSessionLimit()
|
case PYTHON_OPENCV -> 8;
|
||||||
.getLibreOfficeSessionLimit();
|
case GHOSTSCRIPT -> 16;
|
||||||
case PDFTOHTML ->
|
case WEASYPRINT -> 16;
|
||||||
applicationProperties
|
case INSTALL_APP -> 1;
|
||||||
.getProcessExecutor()
|
case CALIBRE -> 1;
|
||||||
.getSessionLimit()
|
|
||||||
.getPdfToHtmlSessionLimit();
|
|
||||||
case OCR_MY_PDF ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getOcrMyPdfSessionLimit();
|
|
||||||
case PYTHON_OPENCV ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getPythonOpenCvSessionLimit();
|
|
||||||
case GHOSTSCRIPT ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getGhostScriptSessionLimit();
|
|
||||||
case WEASYPRINT ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getWeasyPrintSessionLimit();
|
|
||||||
case INSTALL_APP ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getInstallAppSessionLimit();
|
|
||||||
case CALIBRE ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getSessionLimit()
|
|
||||||
.getCalibreSessionLimit();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
long timeoutMinutes =
|
long timeoutMinutes =
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case LIBRE_OFFICE ->
|
case LIBRE_OFFICE -> 30;
|
||||||
applicationProperties
|
case PDFTOHTML -> 20;
|
||||||
.getProcessExecutor()
|
case OCR_MY_PDF -> 30;
|
||||||
.getTimeoutMinutes()
|
case PYTHON_OPENCV -> 30;
|
||||||
.getLibreOfficeTimeoutMinutes();
|
case GHOSTSCRIPT -> 30;
|
||||||
case PDFTOHTML ->
|
case WEASYPRINT -> 30;
|
||||||
applicationProperties
|
case INSTALL_APP -> 60;
|
||||||
.getProcessExecutor()
|
case CALIBRE -> 30;
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getPdfToHtmlTimeoutMinutes();
|
|
||||||
case OCR_MY_PDF ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getOcrMyPdfTimeoutMinutes();
|
|
||||||
case PYTHON_OPENCV ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getPythonOpenCvTimeoutMinutes();
|
|
||||||
case GHOSTSCRIPT ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getGhostScriptTimeoutMinutes();
|
|
||||||
case WEASYPRINT ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getWeasyPrintTimeoutMinutes();
|
|
||||||
case INSTALL_APP ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getInstallAppTimeoutMinutes();
|
|
||||||
case CALIBRE ->
|
|
||||||
applicationProperties
|
|
||||||
.getProcessExecutor()
|
|
||||||
.getTimeoutMinutes()
|
|
||||||
.getCalibreTimeoutMinutes();
|
|
||||||
};
|
};
|
||||||
return new ProcessExecutor(semaphoreLimit, liveUpdates, timeoutMinutes);
|
return new ProcessExecutor(semaphoreLimit, liveUpdates, timeoutMinutes);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -76,18 +76,17 @@ donate=تبرع
|
|||||||
color=لون
|
color=لون
|
||||||
sponsor=راعٍ
|
sponsor=راعٍ
|
||||||
info=معلومات
|
info=معلومات
|
||||||
pro=محترف
|
pro=Pro
|
||||||
page=صفحة
|
page=Page
|
||||||
pages=صفحات
|
pages=Pages
|
||||||
loading=جارٍ التحميل...
|
loading=Loading...
|
||||||
addToDoc=إضافة إلى المستند
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=سياسة الخصوصية
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=شروط الاستخدام
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Accessibility
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=سياسة ملفات تعريف الارتباط
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=بيان الهوية
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -117,8 +116,8 @@ pipelineOptions.validateButton=تحقق
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=ترقية إلى محترف
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=هذه الخاصية متوفرة فقط للمستخدمين المحترفين.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
@@ -126,12 +125,12 @@ enterpriseEdition.ssoAdvert=Looking for more user management features? Check out
|
|||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=هل تريد تحسين Stirling PDF؟
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF يحتوي على إحصائيات مختصة للمساعدة في تحسين المنتج. لا نتبع أي معلومات شخصية أو محتوى الملفات.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=يرجى مراعاة تفعيل الإحصائيات لمساعدتنا على نمو Stirling-PDF وتوفير فهم أفضل لمستخدمينا.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=تفعيل الإحصائيات
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=تعطيل الإحصائيات
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=يمكنك تغيير إعدادات الإحصائيات في ملف config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=اللغات
|
|||||||
navbar.settings=إعدادات
|
navbar.settings=إعدادات
|
||||||
navbar.allTools=أدوات
|
navbar.allTools=أدوات
|
||||||
navbar.multiTool=أدوات متعددة
|
navbar.multiTool=أدوات متعددة
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=تنظيم
|
navbar.sections.organize=تنظيم
|
||||||
navbar.sections.convertTo=تحويل الى PDF
|
navbar.sections.convertTo=تحويل الى PDF
|
||||||
navbar.sections.convertFrom=تحويل من PDF
|
navbar.sections.convertFrom=تحويل من PDF
|
||||||
navbar.sections.security=التوقيع والأمان
|
navbar.sections.security=التوقيع والأمان
|
||||||
navbar.sections.advance=متقدم
|
navbar.sections.advance=متقدم
|
||||||
navbar.sections.edit=عرض وتعديل
|
navbar.sections.edit=عرض وتعديل
|
||||||
navbar.sections.popular=المفضل
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=يجب ألا يكون الملف فارغًا أو خ
|
|||||||
database.failedImportFile=فشل استيراد الملف
|
database.failedImportFile=فشل استيراد الملف
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -508,28 +505,28 @@ home.removeImagePdf.desc=إزالة الصورة من PDF لتقليل حجم ا
|
|||||||
removeImagePdf.tags=إزالة الصورة,عمليات الصفحة,الخلفية,جانب الخادم
|
removeImagePdf.tags=إزالة الصورة,عمليات الصفحة,الخلفية,جانب الخادم
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=تجزئة المستندات PDF حسب الفصول
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=قسم مستند PDF إلى ملفات متعددة بناءً على هيكل فصوله.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=تجزئة، فصول، علامات تبويب، تنظيم
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=استبدال-إلغاء مirro لون PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=استبدال الألوان للنصوص والخلفيات في المستندات PDF وإلغاء تعكير اللون الكامل للمستند لتقليل حجم الملف
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=استبدال اللون، عمليات الصفحة، الخلفية، جانب الخادم
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=خيارات استبدال-إلغاء مirro لون
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Default(Default high contrast colors)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=خصيصة (ألوان شخصية)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Full-Invert(Invert all colors)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=خيارات ألوان التباين العالي
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=نص أبيض على خلفية سوداء
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=نص أسود على خلفية بيضاء
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=نص صفرة على خلفية سوداء
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=نص أخضر على خلفية سوداء
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=اختر لون النص
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=اختر لون الخلفية
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=استبدال
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -556,9 +553,9 @@ login.oauth2AccessDenied=تم رفض الوصول
|
|||||||
login.oauth2InvalidTokenResponse=استجابة الرمز المميز غير صالحة
|
login.oauth2InvalidTokenResponse=استجابة الرمز المميز غير صالحة
|
||||||
login.oauth2InvalidIdToken=رمز الهوية غير صالح
|
login.oauth2InvalidIdToken=رمز الهوية غير صالح
|
||||||
login.userIsDisabled=تم تعطيل المستخدم، تم حظر تسجيل الدخول حاليًا باستخدام اسم المستخدم هذا. يرجى الاتصال بالمسؤول.
|
login.userIsDisabled=تم تعطيل المستخدم، تم حظر تسجيل الدخول حاليًا باستخدام اسم المستخدم هذا. يرجى الاتصال بالمسؤول.
|
||||||
login.alreadyLoggedIn=لقد تسجل دخولًا إلى
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=أجهزة أخرى. يرجى تسجيل الخروج من الأجهزة وحاول مرة أخرى.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=لديك عدة جلسات نشطة
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=حجب تلقائي
|
autoRedact.title=حجب تلقائي
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=إرسال
|
|||||||
scalePages.title=ضبط مقياس الصفحة
|
scalePages.title=ضبط مقياس الصفحة
|
||||||
scalePages.header=ضبط مقياس الصفحة
|
scalePages.header=ضبط مقياس الصفحة
|
||||||
scalePages.pageSize=حجم صفحة المستند.
|
scalePages.pageSize=حجم صفحة المستند.
|
||||||
scalePages.keepPageSize=الحجم الأصلي
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=مستوى التكبير (الاقتصاص) للصفحة.
|
scalePages.scaleFactor=مستوى التكبير (الاقتصاص) للصفحة.
|
||||||
scalePages.submit=إرسال
|
scalePages.submit=إرسال
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=إظهار التوقيع
|
|||||||
certSign.reason=السبب
|
certSign.reason=السبب
|
||||||
certSign.location=الموقع
|
certSign.location=الموقع
|
||||||
certSign.name=الاسم
|
certSign.name=الاسم
|
||||||
certSign.showLogo=عرض الشعار
|
|
||||||
certSign.submit=توقيع PDF
|
certSign.submit=توقيع PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=لون التظليل 2:
|
|||||||
compare.document.1=المستند 1
|
compare.document.1=المستند 1
|
||||||
compare.document.2=المستند 2
|
compare.document.2=المستند 2
|
||||||
compare.submit=مقارنة
|
compare.submit=مقارنة
|
||||||
compare.complex.message=أو كلا المستندين المقدمين كبيران حجمًا، مما يؤدي إلى تقليل دقة المقارنة
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=أو كلا المستندين المقدمين كبيرة حجمهما للتعامل معهما
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=أحد أو كلي المستندات المرجوة للمقارنة لا يحتوي على محتوى نصي. يرجى اختيار مستندات تحتوي على نص لم يتم التعرف عليه.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=الكتب والكوميكس إلى PDF
|
BookToPDF.title=الكتب والكوميكس إلى PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=رسم التوقيع
|
|||||||
sign.text=إدخال النص
|
sign.text=إدخال النص
|
||||||
sign.clear=مسح
|
sign.clear=مسح
|
||||||
sign.add=إضافة
|
sign.add=إضافة
|
||||||
sign.saved=توقيعات تم حفظها
|
sign.saved=Saved Signatures
|
||||||
sign.save=حفظ توقيع
|
sign.save=Save Signature
|
||||||
sign.personalSigs=توقيعات شخصية
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=توقيعات مشتركة
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=لم يتم العثور على توقيعات محفوظة
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(مثال: 1,3,2 أو 4-8,2,10-12 أو 2n-1)
|
|||||||
multiTool.title=أداة متعددة PDF
|
multiTool.title=أداة متعددة PDF
|
||||||
multiTool.header=أداة متعددة PDF
|
multiTool.header=أداة متعددة PDF
|
||||||
multiTool.uploadPrompts=اسم الملف
|
multiTool.uploadPrompts=اسم الملف
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=عرض PDF
|
viewPdf.title=عرض PDF
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=الترخيص
|
|||||||
survey.nav=استطلاع
|
survey.nav=استطلاع
|
||||||
survey.title=استطلاع Stirling-PDF
|
survey.title=استطلاع Stirling-PDF
|
||||||
survey.description=Stirling-PDF لا يحتوي على تتبع لذا نريد أن نسمع من مستخدمينا لتحسين Stirling-PDF!
|
survey.description=Stirling-PDF لا يحتوي على تتبع لذا نريد أن نسمع من مستخدمينا لتحسين Stirling-PDF!
|
||||||
survey.changes=تحديث Stirling-PDF منذ آخر استبيان! للحصول على المزيد من المعلومات الرجاء زيارة مقالتنا في المدونة هنا:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=مع هذه التحديثات، نستفيد من الدعم العملي والمنحة المالية
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=يرجى النظر في المشاركة في استطلاعنا!
|
survey.please=يرجى النظر في المشاركة في استطلاعنا!
|
||||||
survey.disabled=(سيتم تعطيل النافذة المنبثقة للاستطلاع في التحديثات التالية ولكنها ستكون متاحة في أسفل الصفحة)
|
survey.disabled=(سيتم تعطيل النافذة المنبثقة للاستطلاع في التحديثات التالية ولكنها ستكون متاحة في أسفل الصفحة)
|
||||||
survey.button=المشاركة في الاستطلاع
|
survey.button=المشاركة في الاستطلاع
|
||||||
@@ -1235,13 +1220,13 @@ removeImage.removeImage=إزالة الصورة
|
|||||||
removeImage.submit=إزالة الصورة
|
removeImage.submit=إزالة الصورة
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=تجزئة المستند حسب الفصول
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=تجزئة المستند حسب الفصول
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=مستوى العلامات التذكارية
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=شامل البيانات المرفقة
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Allow Duplicates
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=تمثيل البيانات الأصلية: إذا تم اختيارها، سترمز البيانات المرجعية الأصلية إلى كل PDF مجزأ.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=سماح بالتكرار: إذا تم اختياره، يسمح بوجود معاينات متعددة في الصفحة نفسها لخلق ملفات PDF منفصلة.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=تقطيع ملف PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Страница
|
|||||||
pages=Страници
|
pages=Страници
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Политика за поверителност
|
legal.privacy=Политика за поверителност
|
||||||
legal.terms=Правила и условия
|
legal.terms=Правила и условия
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Езици
|
|||||||
navbar.settings=Настройки
|
navbar.settings=Настройки
|
||||||
navbar.allTools=Инструменти
|
navbar.allTools=Инструменти
|
||||||
navbar.multiTool=Мулти инструменти
|
navbar.multiTool=Мулти инструменти
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Организирайте
|
navbar.sections.organize=Организирайте
|
||||||
navbar.sections.convertTo=Преобразуване в PDF
|
navbar.sections.convertTo=Преобразуване в PDF
|
||||||
navbar.sections.convertFrom=Преобразуване от PDF
|
navbar.sections.convertFrom=Преобразуване от PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Файлът не трябва да е нулев ил
|
|||||||
database.failedImportFile=Неуспешно импортиране на файл
|
database.failedImportFile=Неуспешно импортиране на файл
|
||||||
|
|
||||||
session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново.
|
session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Показване на подпис
|
|||||||
certSign.reason=Причина
|
certSign.reason=Причина
|
||||||
certSign.location=Местоположение
|
certSign.location=Местоположение
|
||||||
certSign.name=Име
|
certSign.name=Име
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Подпишете PDF
|
certSign.submit=Подпишете PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(напр. 1,3,2 или 4-8,2,10-12 или 2n-1)
|
|||||||
multiTool.title=PDF Мулти инструмент
|
multiTool.title=PDF Мулти инструмент
|
||||||
multiTool.header=PDF Мулти инструмент
|
multiTool.header=PDF Мулти инструмент
|
||||||
multiTool.uploadPrompts=Име на файл
|
multiTool.uploadPrompts=Име на файл
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Преглед на PDF
|
viewPdf.title=Преглед на PDF
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Velikost písma
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Název písma
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Vyberte PDF soubory
|
pdfPrompt=Vyberte PDF soubory
|
||||||
multiPdfPrompt=Vyberte PDF soubory (2+)
|
multiPdfPrompt=Vyberte PDF soubory (2+)
|
||||||
multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory
|
multiPdfDropPrompt=Vyberte (nebo přetáhněte) všechny požadované PDF soubory
|
||||||
@@ -56,12 +56,12 @@ userNotFoundMessage=Uživatel nenalezen.
|
|||||||
incorrectPasswordMessage=Současné heslo není správné.
|
incorrectPasswordMessage=Současné heslo není správné.
|
||||||
usernameExistsMessage=Nové uživatelské jméno již existuje.
|
usernameExistsMessage=Nové uživatelské jméno již existuje.
|
||||||
invalidUsernameMessage=Nesprávné uživatelské jméno, smí obsahovat pouze písmena, číslice a následující speciální znaky @._+- nebo musí být validní emailová adresa.
|
invalidUsernameMessage=Nesprávné uživatelské jméno, smí obsahovat pouze písmena, číslice a následující speciální znaky @._+- nebo musí být validní emailová adresa.
|
||||||
invalidPasswordMessage=Heslo nemůže být prázdné a nemůže mít mezery na začátku nebo konci.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Nové heslo musí shodovat s potvrzujícím novým heslem.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Nelze smazat aktuální přihlášeného uživatele.
|
deleteCurrentUserMessage=Nelze smazat aktuální přihlášeného uživatele.
|
||||||
deleteUsernameExistsMessage=Uživatelské jméno neexistuje a nelze ho smazat.
|
deleteUsernameExistsMessage=Uživatelské jméno neexistuje a nelze ho smazat.
|
||||||
downgradeCurrentUserMessage=Nelze snížit roli aktuálního uživatele.
|
downgradeCurrentUserMessage=Nelze snížit roli aktuálního uživatele.
|
||||||
disabledCurrentUserMessage=Současný uživatel nemůže být zakázán
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Nelze snížit roli aktuálního uživatele. Proto nebude aktuální uživatel zobrazen.
|
downgradeCurrentUserLongMessage=Nelze snížit roli aktuálního uživatele. Proto nebude aktuální uživatel zobrazen.
|
||||||
userAlreadyExistsOAuthMessage=Uživatel již existuje jako OAuth2 uživatel.
|
userAlreadyExistsOAuthMessage=Uživatel již existuje jako OAuth2 uživatel.
|
||||||
userAlreadyExistsWebMessage=Uživatel již existuje jako webový uživatel.
|
userAlreadyExistsWebMessage=Uživatel již existuje jako webový uživatel.
|
||||||
@@ -75,19 +75,18 @@ visitGithub=Navštivte Github repozitář
|
|||||||
donate=Přispějte
|
donate=Přispějte
|
||||||
color=Barva
|
color=Barva
|
||||||
sponsor=Sponzor
|
sponsor=Sponzor
|
||||||
info=Informace
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Strana
|
page=Page
|
||||||
pages=Strany
|
pages=Pages
|
||||||
loading=Načítání...
|
loading=Loading...
|
||||||
addToDoc=Přidat do dokumentu
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Politika soukromí
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Podmínky použití
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Snaha o přístupnost
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Zásada cookies
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Odborné prohlášení
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -99,7 +98,7 @@ pipeline.defaultOption=Vlastní
|
|||||||
pipeline.submitButton=Odeslat
|
pipeline.submitButton=Odeslat
|
||||||
pipeline.help=Pomoc s pipeline
|
pipeline.help=Pomoc s pipeline
|
||||||
pipeline.scanHelp=Pomoc se skenováním adresáře
|
pipeline.scanHelp=Pomoc se skenováním adresáře
|
||||||
pipeline.deletePrompt=Opravdu chcete smazat tento kanál?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -117,21 +116,21 @@ pipelineOptions.validateButton=Ověřit
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Upgradujte na Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Tato funkce je k dispozici pouze pro uživatelé s předplatným Pro.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro podporuje konfigurační soubory YAML a další funkce SSO.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Hledáte větší počet správních funkcí uživatelů? Podívejte se na Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Chcete-li zlepšit Stirling PDF, pomozte nám.
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF má povolené analýzy pro to, abychom mohli zlepšovat produkt. Nezaznamenáváme žádné osobní informace nebo obsah souborů.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Považte za možnost povolení analýz k tomu, abychom mohli růst Stirling-PDF a lépe pochopit naši skupinu uživatelů.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Zapnout analýzy
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Vypnout analýzy
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Můžete změnit nastavení pro analýzy v souboru config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Jazyky
|
|||||||
navbar.settings=Nastavení
|
navbar.settings=Nastavení
|
||||||
navbar.allTools=Nástroje
|
navbar.allTools=Nástroje
|
||||||
navbar.multiTool=Multifunkční nástroje
|
navbar.multiTool=Multifunkční nástroje
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizovat
|
navbar.sections.organize=Organizovat
|
||||||
navbar.sections.convertTo=Převést do PDF
|
navbar.sections.convertTo=Převést do PDF
|
||||||
navbar.sections.convertFrom=Převést z PDF
|
navbar.sections.convertFrom=Převést z PDF
|
||||||
navbar.sections.security=Podpis a Bezpečnost
|
navbar.sections.security=Podpis a Bezpečnost
|
||||||
navbar.sections.advance=Pokročilé
|
navbar.sections.advance=Pokročilé
|
||||||
navbar.sections.edit=Prohlédnout a Upravit
|
navbar.sections.edit=Prohlédnout a Upravit
|
||||||
navbar.sections.popular=Populární
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -166,7 +164,7 @@ settings.zipThreshold=Zazipuj soubory, když překročí počet stažených soub
|
|||||||
settings.signOut=Odhlásit
|
settings.signOut=Odhlásit
|
||||||
settings.accountSettings=Nastavení Účtu
|
settings.accountSettings=Nastavení Účtu
|
||||||
settings.bored.help=Umožňuje hru s easter eggy
|
settings.bored.help=Umožňuje hru s easter eggy
|
||||||
settings.cacheInputs.name=Ukládání vstupů formuláře
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=Umožňuje uložit dříve použité vstupy pro budoucí použití
|
settings.cacheInputs.help=Umožňuje uložit dříve použité vstupy pro budoucí použití
|
||||||
|
|
||||||
changeCreds.title=Změnit pověření
|
changeCreds.title=Změnit pověření
|
||||||
@@ -202,13 +200,13 @@ account.syncToAccount=Synchronizovat Účet <- Prohlížeč
|
|||||||
|
|
||||||
|
|
||||||
adminUserSettings.title=Nastavení Uživatelského Nastavení
|
adminUserSettings.title=Nastavení Uživatelského Nastavení
|
||||||
adminUserSettings.header=Nastavení správce uživatelů
|
adminUserSettings.header=Admin User Control Settings
|
||||||
adminUserSettings.admin=Správce
|
adminUserSettings.admin=Admin
|
||||||
adminUserSettings.user=Uživatel
|
adminUserSettings.user=Uživatel
|
||||||
adminUserSettings.addUser=Přidat Nového Uživatele
|
adminUserSettings.addUser=Přidat Nového Uživatele
|
||||||
adminUserSettings.deleteUser=Smazat uživatele
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=Měli by se uživatel smazat?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Měli by se změnit stav uživatele (vytřída/aktivace)?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=Uživatelské Jméno může obsahovat pouze písmena, čísla a následující speciální znaky @._+- nebo musí být správná emailová adresa.
|
adminUserSettings.usernameInfo=Uživatelské Jméno může obsahovat pouze písmena, čísla a následující speciální znaky @._+- nebo musí být správná emailová adresa.
|
||||||
adminUserSettings.roles=Role
|
adminUserSettings.roles=Role
|
||||||
adminUserSettings.role=Role
|
adminUserSettings.role=Role
|
||||||
@@ -222,33 +220,32 @@ adminUserSettings.forceChange=Vynutit uživateli změnu hesla při přihlášen
|
|||||||
adminUserSettings.submit=Uložit Uživatele
|
adminUserSettings.submit=Uložit Uživatele
|
||||||
adminUserSettings.changeUserRole=Zmenit Roli Uživatele
|
adminUserSettings.changeUserRole=Zmenit Roli Uživatele
|
||||||
adminUserSettings.authenticated=Ověřeno
|
adminUserSettings.authenticated=Ověřeno
|
||||||
adminUserSettings.editOwnProfil=Upravit vlastní profil
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=povolený uživatel
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=zakázáný uživatel
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Aktivní uživatelé:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Zakázанные uživatelé:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Celkem uživatelů:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Poslední žádost
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Import/Export databáze
|
database.title=Database Import/Export
|
||||||
database.header=Import/Export databáze
|
database.header=Database Import/Export
|
||||||
database.fileName=Název souboru
|
database.fileName=File Name
|
||||||
database.creationDate=Datum vytvoření
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Velikost souboru
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Smazat záložní soubor
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Import zálohy souboru
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Stáhnout zálohový soubor
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Při importu dat je důležité zajistit správnou strukturu. Pokud jste nejistí, jak se chovat, hledajte konzultaci a podporu od profesionala. Chyba v struktuře může vést k selhání aplikace, dokonce i k tomu, že by aplikace nemohla být spuštěna.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=Název souboru nezáleží při nahrávání. Bude jeho zpětně znovu pojmenován podle formáту backup_user_yyyyMMddHHmm.sql, což zajišťuje konzistentní pravidlo označení.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Import zálohy
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Import do databáze byl úspěšný
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Soubor nemůže být null nebo prázdný
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Vaše sesace vypršela. Prosím obnovte stránku a zkusit to znovu.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -352,7 +349,7 @@ PDFToPresentation.tags=snímky,přehled,kancelář,microsoft
|
|||||||
|
|
||||||
home.PDFToText.title=PDF na RTF (Text)
|
home.PDFToText.title=PDF na RTF (Text)
|
||||||
home.PDFToText.desc=Převod PDF do formátu Textu nebo RTF
|
home.PDFToText.desc=Převod PDF do formátu Textu nebo RTF
|
||||||
PDFToText.tags=bohatý formátování, bohaté formátování, bohatej formátkace textu
|
PDFToText.tags=richformat,richtextformat,rich text format
|
||||||
|
|
||||||
home.PDFToHTML.title=PDF na HTML
|
home.PDFToHTML.title=PDF na HTML
|
||||||
home.PDFToHTML.desc=Převod PDF do formátu HTML
|
home.PDFToHTML.desc=Převod PDF do formátu HTML
|
||||||
@@ -395,9 +392,9 @@ home.certSign.title=Podpis s certifikátem
|
|||||||
home.certSign.desc=Podpis PDF s certifikátem/klíčem (PEM/P12)
|
home.certSign.desc=Podpis PDF s certifikátem/klíčem (PEM/P12)
|
||||||
certSign.tags=autentizace,PEM,P12,oficiální,šifrování
|
certSign.tags=autentizace,PEM,P12,oficiální,šifrování
|
||||||
|
|
||||||
home.removeCertSign.title=Odstranit certifikátovou podepsanost
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Odstranit certifikátovou podepsanost z PDF
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=autentizace, PEM, P12, úřední, dešifrování
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Vícestránkové rozložení
|
home.pageLayout.title=Vícestránkové rozložení
|
||||||
home.pageLayout.desc=Sloučení více stránek dokumentu PDF do jedné stránky
|
home.pageLayout.desc=Sloučení více stránek dokumentu PDF do jedné stránky
|
||||||
@@ -503,33 +500,33 @@ home.BookToPDF.title=Kniha na PDF
|
|||||||
home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre
|
home.BookToPDF.desc=Převádí formáty knih/komiksů do PDF pomocí calibre
|
||||||
BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
|
BookToPDF.tags=Kniha,Komiks,Calibre,Konvertovat,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
|
||||||
|
|
||||||
home.removeImagePdf.title=Odstranit obrázek
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Odstranit obrázek z PDF k snížení velikosti souboru
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Odstranit obrázek, operace na stránkách, záložní strana, serverové čidla
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Rozdělit PDF podle kapitol
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Rozdělit PDF do více souborů na základě jeho struktury kapitol.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=rozdělení, kapitoly, zápisky, organizace
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Nahradit inverzní barvu PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Nahradit barvy pro text a pozadí v PDF a inverzní celý barvový spektrum PDF k snižení velikosti souboru
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Nahrazovat barvu, operace na stránkách, záložní strana, serverové čidla
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Možnosti nahrazení nebo inverze barev
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Výchozí (vysoká kontrastová barva)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Vlastní (vlastní barvy)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Celé inverzní (inverzní všechny barvy)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Možnosti vysoké kontrastové barvy
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Bílá text na černém pozadí
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Černý text na bílé pozadí
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Zlutý text na černém pozadí
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Zelený text na černém pozadí
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Vyberte barvu textu
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Vyberte barvu pozadí
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Nahradit
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -539,45 +536,45 @@ replace-color.submit=Nahradit
|
|||||||
# #
|
# #
|
||||||
###########################
|
###########################
|
||||||
#login
|
#login
|
||||||
login.title=Přihlášení
|
login.title=Sign in
|
||||||
login.header=Přihlášení
|
login.header=Sign in
|
||||||
login.signin=Přihlásit se
|
login.signin=Sign in
|
||||||
login.rememberme=Zapamatovat si mě
|
login.rememberme=Remember me
|
||||||
login.invalid=Neplatné uživatelské jméno nebo heslo.
|
login.invalid=Invalid username or password.
|
||||||
login.locked=Vaše účto bylo zablokováno.
|
login.locked=Your account has been locked.
|
||||||
login.signinTitle=Prosím, přihlaste se
|
login.signinTitle=Please sign in
|
||||||
login.ssoSignIn=Přihlášení prostřednictvím jednotného přihlašovacího systému
|
login.ssoSignIn=Login via Single Sign-on
|
||||||
login.oauth2AutoCreateDisabled=Automatické vytvoření uživatele OAUTH2 je vypnuté
|
login.oauth2AutoCreateDisabled=OAUTH2 Auto-Create User Disabled
|
||||||
login.oauth2AdminBlockedUser=Registrace nebo přihlášení nepozitrovených uživatelů aktuálně jsou zablokovaná. Štěňte na správce.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Požadavek na autorizaci nenalezen
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=Neplatný odpověď s informacemi o uživateli
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=Neplatný požadavek
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=Přístup zazobán
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=Neplatná odpověď tokenu
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=Neplatný identifikační token
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=Uživatel je deaktivován, přihlášení aktuálně pro tuto uživatelskou jmena je zakázáno. Kontaktujte správce.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Jste již přihlášeni na
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=zariadení. Odhlašujte se z těchto zařízení a zkuste to znovu.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Máte příliš mnoho aktivních sesií
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Automatické smazání
|
autoRedact.title=Auto Redact
|
||||||
autoRedact.header=Automatické smazání
|
autoRedact.header=Auto Redact
|
||||||
autoRedact.colorLabel=Barva
|
autoRedact.colorLabel=Colour
|
||||||
autoRedact.textsToRedactLabel=Text k smazání (řádkově oddělený)
|
autoRedact.textsToRedactLabel=Text to Redact (line-separated)
|
||||||
autoRedact.textsToRedactPlaceholder=např. \nKonfidenciální \nSkrytější
|
autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret
|
||||||
autoRedact.useRegexLabel=Použít regulární výraz
|
autoRedact.useRegexLabel=Use Regex
|
||||||
autoRedact.wholeWordSearchLabel=Hledání celých slov
|
autoRedact.wholeWordSearchLabel=Whole Word Search
|
||||||
autoRedact.customPaddingLabel=Vlastní doplňující vzdálenost
|
autoRedact.customPaddingLabel=Custom Extra Padding
|
||||||
autoRedact.convertPDFToImageLabel=Převést PDF do PDF-Obrázku (Pro odstranění textu za obdélníkem)
|
autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box)
|
||||||
autoRedact.submitButton=Odeslat
|
autoRedact.submitButton=Submit
|
||||||
|
|
||||||
|
|
||||||
#showJS
|
#showJS
|
||||||
showJS.title=Zobrazit JavaScript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Zobrazit JavaScript
|
showJS.header=Show Javascript
|
||||||
showJS.downloadJS=Stáhnout JavaScript
|
showJS.downloadJS=Download Javascript
|
||||||
showJS.submit=Zobrazit
|
showJS.submit=Show
|
||||||
|
|
||||||
|
|
||||||
#pdfToSinglePage
|
#pdfToSinglePage
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Odeslat
|
|||||||
scalePages.title=Upravit měřítko stránky
|
scalePages.title=Upravit měřítko stránky
|
||||||
scalePages.header=Upravit měřítko stránky
|
scalePages.header=Upravit měřítko stránky
|
||||||
scalePages.pageSize=Velikost stránky dokumentu.
|
scalePages.pageSize=Velikost stránky dokumentu.
|
||||||
scalePages.keepPageSize=Původní velikost
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Úroveň přiblížení (oříznutí) stránky.
|
scalePages.scaleFactor=Úroveň přiblížení (oříznutí) stránky.
|
||||||
scalePages.submit=Odeslat
|
scalePages.submit=Odeslat
|
||||||
|
|
||||||
@@ -753,15 +750,14 @@ certSign.showSig=Ukázat podpis
|
|||||||
certSign.reason=Důvod
|
certSign.reason=Důvod
|
||||||
certSign.location=Umístění
|
certSign.location=Umístění
|
||||||
certSign.name=Název
|
certSign.name=Název
|
||||||
certSign.showLogo=Zobraz loga
|
|
||||||
certSign.submit=Podepsat PDF
|
certSign.submit=Podepsat PDF
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Odstranit certifikátovou podpisu
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=Odstranění digitálního certifikátu z PDF
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=Vyberte soubor PDF:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Odstranit podpis
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Odebrat
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Porovnat
|
compare.title=Porovnat
|
||||||
compare.header=Porovnat PDF
|
compare.header=Porovnat PDF
|
||||||
compare.highlightColor.1=Podtržovací barva 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Podtržovací barva 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Dokument 1
|
compare.document.1=Dokument 1
|
||||||
compare.document.2=Dokument 2
|
compare.document.2=Dokument 2
|
||||||
compare.submit=Porovnat
|
compare.submit=Porovnat
|
||||||
compare.complex.message=Jedno nebo oba z předložených dokumentů jsou velké soubory, přesnost porovnání může být snižena
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Jeden nebo oba předložené dokumenty jsou příliš velké na zpracování
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Jedno nebo oba vybrané PDF soubory nemají textový obsah. Zvolte PDF soubory se textem pro porovnání.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Knihy a komiksy do PDF
|
BookToPDF.title=Knihy a komiksy do PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Nakreslit podpis
|
|||||||
sign.text=Vstup textu
|
sign.text=Vstup textu
|
||||||
sign.clear=Vymazat
|
sign.clear=Vymazat
|
||||||
sign.add=Přidat
|
sign.add=Přidat
|
||||||
sign.saved=Uložené podpisy
|
sign.saved=Saved Signatures
|
||||||
sign.save=Uložit podpis
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Osobní podpisy
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Sdílené podpisy
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Nenašly se žádné uložené podpisy
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -836,7 +832,7 @@ flatten.submit=Zploštit
|
|||||||
#ScannerImageSplit
|
#ScannerImageSplit
|
||||||
ScannerImageSplit.selectText.1=Práh úhlu:
|
ScannerImageSplit.selectText.1=Práh úhlu:
|
||||||
ScannerImageSplit.selectText.2=Nastaví minimální absolutní úhel, který je vyžadován k otočení obrázku (výchozí: 10).
|
ScannerImageSplit.selectText.2=Nastaví minimální absolutní úhel, který je vyžadován k otočení obrázku (výchozí: 10).
|
||||||
ScannerImageSplit.selectText.3=Tolerancie:
|
ScannerImageSplit.selectText.3=Tolerance:
|
||||||
ScannerImageSplit.selectText.4=Určuje rozsah barevné variace kolem odhadované barvy pozadí (výchozí: 30).
|
ScannerImageSplit.selectText.4=Určuje rozsah barevné variace kolem odhadované barvy pozadí (výchozí: 30).
|
||||||
ScannerImageSplit.selectText.5=Minimální plocha:
|
ScannerImageSplit.selectText.5=Minimální plocha:
|
||||||
ScannerImageSplit.selectText.6=Nastaví minimální plošný práh pro fotografii (výchozí: 10000).
|
ScannerImageSplit.selectText.6=Nastaví minimální plošný práh pro fotografii (výchozí: 10000).
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Minimální plocha kontury:
|
|||||||
ScannerImageSplit.selectText.8=Nastaví minimální plošný práh kontury pro fotografii
|
ScannerImageSplit.selectText.8=Nastaví minimální plošný práh kontury pro fotografii
|
||||||
ScannerImageSplit.selectText.9=Velikost okraje:
|
ScannerImageSplit.selectText.9=Velikost okraje:
|
||||||
ScannerImageSplit.selectText.10=Nastaví velikost okraje přidaného a odebraného k zabránění bílých ohraničení ve výstupu (výchozí: 1).
|
ScannerImageSplit.selectText.10=Nastaví velikost okraje přidaného a odebraného k zabránění bílých ohraničení ve výstupu (výchozí: 1).
|
||||||
ScannerImageSplit.info=Python není nainstalován. Je potřeba pro jeho spuštění.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Zpracovat PDF s OCR
|
|||||||
extractImages.title=Extrahovat obrázky
|
extractImages.title=Extrahovat obrázky
|
||||||
extractImages.header=Extrahovat obrázky
|
extractImages.header=Extrahovat obrázky
|
||||||
extractImages.selectText=Vyberte formát obrázku pro extrahované obrázky
|
extractImages.selectText=Vyberte formát obrázku pro extrahované obrázky
|
||||||
extractImages.allowDuplicates=Uložit duplikátní obrázky
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Extrahovat
|
extractImages.submit=Extrahovat
|
||||||
|
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Sloučit
|
|||||||
merge.header=Sloučit více PDF (2+)
|
merge.header=Sloučit více PDF (2+)
|
||||||
merge.sortByName=Seřadit podle názvu
|
merge.sortByName=Seřadit podle názvu
|
||||||
merge.sortByDate=Seřadit podle data
|
merge.sortByDate=Seřadit podle data
|
||||||
merge.removeCertSign=Odebrat digitální podpis v převedeném souboru?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Sloučit
|
merge.submit=Sloučit
|
||||||
|
|
||||||
|
|
||||||
@@ -927,7 +923,7 @@ pdfOrganiser.mode.6=Liché-Sudé rozdělení
|
|||||||
pdfOrganiser.mode.7=Odstranit první
|
pdfOrganiser.mode.7=Odstranit první
|
||||||
pdfOrganiser.mode.8=Odstranit poslední
|
pdfOrganiser.mode.8=Odstranit poslední
|
||||||
pdfOrganiser.mode.9=Odstranit první a poslední
|
pdfOrganiser.mode.9=Odstranit první a poslední
|
||||||
pdfOrganiser.mode.10=Lomeno spojení
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1)
|
pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1)
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(např. 1,3,2 nebo 4-8,2,10-12 nebo 2n-1)
|
|||||||
multiTool.title=Vícefunkční nástroj pro PDF
|
multiTool.title=Vícefunkční nástroj pro PDF
|
||||||
multiTool.header=Vícefunkční nástroj pro PDF
|
multiTool.header=Vícefunkční nástroj pro PDF
|
||||||
multiTool.uploadPrompts=Název souboru
|
multiTool.uploadPrompts=Název souboru
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Zobrazit PDF
|
viewPdf.title=Zobrazit PDF
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Barevný
|
|||||||
pdfToImage.grey=Stupně šedi
|
pdfToImage.grey=Stupně šedi
|
||||||
pdfToImage.blackwhite=Černobílý (Může dojít k ztrátě dat!)
|
pdfToImage.blackwhite=Černobílý (Může dojít k ztrátě dat!)
|
||||||
pdfToImage.submit=Převést
|
pdfToImage.submit=Převést
|
||||||
pdfToImage.info=Python není nainstalován. Potřebuje se pro konverzi do WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,7 +1029,7 @@ watermark.selectText.6=Výška mezery (Mezera mezi každým vodoznakem svisle):
|
|||||||
watermark.selectText.7=Průhlednost (0% - 100%):
|
watermark.selectText.7=Průhlednost (0% - 100%):
|
||||||
watermark.selectText.8=Typ vodoznaku:
|
watermark.selectText.8=Typ vodoznaku:
|
||||||
watermark.selectText.9=Obrázek vodoznaku:
|
watermark.selectText.9=Obrázek vodoznaku:
|
||||||
watermark.selectText.10=Převést PDF na PDF-Obrázek
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Přidat vodoznak
|
watermark.submit=Přidat vodoznak
|
||||||
watermark.type.1=Text
|
watermark.type.1=Text
|
||||||
watermark.type.2=Obrázek
|
watermark.type.2=Obrázek
|
||||||
@@ -1101,7 +1086,7 @@ pdfToPDFA.credit=Tato služba používá ghostscript pro konverzi do formátu PD
|
|||||||
pdfToPDFA.submit=Převést
|
pdfToPDFA.submit=Převést
|
||||||
pdfToPDFA.tip=V současné době nepracuje pro více vstupů najednou
|
pdfToPDFA.tip=V současné době nepracuje pro více vstupů najednou
|
||||||
pdfToPDFA.outputFormat=Výstupní formát
|
pdfToPDFA.outputFormat=Výstupní formát
|
||||||
pdfToPDFA.pdfWithDigitalSignature=PDF obsahuje digitální podpis, který bude odebrán v následujícím kroku.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1203,15 +1188,15 @@ licenses.version=Verze
|
|||||||
licenses.license=Licence
|
licenses.license=Licence
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Přehled
|
survey.nav=Survey
|
||||||
survey.title=Stirling-PDF Přehled
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=Stirling-PDF nemá sledování, proto chceme vaše názory k podnětom k lepšímu Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF se změnil od posledního příspěvku! Další informace najdete na našem blogu zde:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=S těmito změnami získáváme platné podpory a finanční podporu od business partnerů.
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(Přehled bude v budoucnu zakázán, ale zůstane k dispozici na nástavbě)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Udělat Příspěvek
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Neukazuj to znovu
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - Odeslat příspěvek podpory
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Odstranit obrázek
|
removeImage.title=Remove image
|
||||||
removeImage.header=Odstranit obrázek
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Odstranit obrázek
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Odebrat obrázek
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Podělit PDF podle kapitol
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Podělení PDF na kapitoly
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Úroveň záhlaví
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Zahrnout metadatů
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Povolit duplicitní záznamy
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Tento nástroj podělí PDF soubor na více PDF soubory na základě struktury kapitol.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Úroveň záhlaví: Zvolte úroveň záhlaví pro použití při oddělování (0 pro hlavní, 1 pro druhou úroveň atd.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Zahrnout metadatů: Pokud je zaškrtnuto, původní metadata PDF souboru budou zahrnuty do každého odděleného PDF souboru.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Povolit duplicitní záznamy: Pokud je zaškrtnuto, návštěvníci mohou vytvořit samostatné PDF soubory z více záhlaví na stejné straně.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Podělit se PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -74,20 +74,19 @@ seeDockerHub=Se Docker Hub
|
|||||||
visitGithub=Besøg Github Repository
|
visitGithub=Besøg Github Repository
|
||||||
donate=Donér
|
donate=Donér
|
||||||
color=Farve
|
color=Farve
|
||||||
sponsor=Sponsorer
|
sponsor=Sponsor
|
||||||
info=Info
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Sidenummer
|
page=Page
|
||||||
pages=Sideantal
|
pages=Pages
|
||||||
loading=Laster...
|
loading=Loading...
|
||||||
addToDoc=Tilføj til Dokument
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Vilkår og betingelser
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Adgangsnævnteglen
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Cokiebelejring
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Angivelse af ansvar
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -117,21 +116,21 @@ pipelineOptions.validateButton=Validér
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Opgrader til Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Denne funktion er kun tilgængelig for Pro-brugere.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro understøtter YAML-konfigurationsfiler og andre SSO-funktioner.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=søger du flere funktioner til brugerstyring? Prøv Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Vil du gøre Stirling PDF bedre?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF har indsat analytics for at hjælpe os med at forbedre produktet. Vi følger ikke nogen personoplysninger eller filinhold.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Bevægelsesmæssigt aktiver du analytics for at hjælpe Stirling-PDF med at vokse og til atstå os bedre at forstå vores brugere.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Aktivér analytics
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Deaktiver analytics
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Du kan ændre analytics-indstillingerne i config/settings.yml-filen
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Sprog
|
|||||||
navbar.settings=Indstillinger
|
navbar.settings=Indstillinger
|
||||||
navbar.allTools=Værktøjer
|
navbar.allTools=Værktøjer
|
||||||
navbar.multiTool=Multi Værktøjer
|
navbar.multiTool=Multi Værktøjer
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organisér
|
navbar.sections.organize=Organisér
|
||||||
navbar.sections.convertTo=Konvertér til PDF
|
navbar.sections.convertTo=Konvertér til PDF
|
||||||
navbar.sections.convertFrom=Konvertér fra PDF
|
navbar.sections.convertFrom=Konvertér fra PDF
|
||||||
navbar.sections.security=Signér & Sikkerhed
|
navbar.sections.security=Signér & Sikkerhed
|
||||||
navbar.sections.advance=Avanceret
|
navbar.sections.advance=Avanceret
|
||||||
navbar.sections.edit=Vis & Redigér
|
navbar.sections.edit=Vis & Redigér
|
||||||
navbar.sections.popular=Populære
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -203,7 +201,7 @@ account.syncToAccount=Synkroniser Konto <- Browser
|
|||||||
|
|
||||||
adminUserSettings.title=Brugerkontrolindstillinger
|
adminUserSettings.title=Brugerkontrolindstillinger
|
||||||
adminUserSettings.header=Admin Brugerkontrolindstillinger
|
adminUserSettings.header=Admin Brugerkontrolindstillinger
|
||||||
adminUserSettings.admin=Administrer
|
adminUserSettings.admin=Admin
|
||||||
adminUserSettings.user=Bruger
|
adminUserSettings.user=Bruger
|
||||||
adminUserSettings.addUser=Tilføj Ny Bruger
|
adminUserSettings.addUser=Tilføj Ny Bruger
|
||||||
adminUserSettings.deleteUser=Slet Bruger
|
adminUserSettings.deleteUser=Slet Bruger
|
||||||
@@ -247,8 +245,7 @@ database.fileNotFound=Fil ikke fundet
|
|||||||
database.fileNullOrEmpty=Fil må ikke være null eller tom
|
database.fileNullOrEmpty=Fil må ikke være null eller tom
|
||||||
database.failedImportFile=Kunne ikke importere fil
|
database.failedImportFile=Kunne ikke importere fil
|
||||||
|
|
||||||
session.expired=Din sesions tid har udløbet. Genlad siden og prøv igen.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -508,28 +505,28 @@ home.removeImagePdf.desc=Fjern billede fra PDF for at reducere filstørrelse
|
|||||||
removeImagePdf.tags=Fjern Billede,Sideoperationer,Back end,server side
|
removeImagePdf.tags=Fjern Billede,Sideoperationer,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Partitioner PDF efter kapitler
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Partitioner en PDF i flere filer baseret på dens kapitelstruktur.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=partitionering,kapitler,merker,organisering
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Erstat-omgivende Farve PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Erstatt farve for tekst og baggrund i en PDF og omgivende farve til fuld farve af PDF for at redusere filstørrelsen.
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Erstat Farve,Side operationer,Behandling,server side
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Erstatt eller omgivende Farvemuligheder
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Standard (høj kontrastfarver)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Brugerdefineret (anpassede farver)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Inverter alle farver
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Høj kontrastfarveindstillinger
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Hvid tekst på sort baggrund
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Sort tekst på hvid baggrund
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Gul tekst på sort baggrund
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Grøn tekst på sort baggrund
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Vælg tekstfarve
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Vælg baggrundsfarve
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Erstat
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -556,9 +553,9 @@ login.oauth2AccessDenied=Adgang Nægtet
|
|||||||
login.oauth2InvalidTokenResponse=Ugyldigt Token Svar
|
login.oauth2InvalidTokenResponse=Ugyldigt Token Svar
|
||||||
login.oauth2InvalidIdToken=Ugyldigt Id Token
|
login.oauth2InvalidIdToken=Ugyldigt Id Token
|
||||||
login.userIsDisabled=Bruger er deaktiveret, login er i øjeblikket blokeret med dette brugernavn. Kontakt venligst administratoren.
|
login.userIsDisabled=Bruger er deaktiveret, login er i øjeblikket blokeret med dette brugernavn. Kontakt venligst administratoren.
|
||||||
login.alreadyLoggedIn=Du er allerede logget ind på
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=enheder. Log ud af disse enheder og prøv igen.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Du har for mange aktive sessoner
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Auto Rediger
|
autoRedact.title=Auto Rediger
|
||||||
@@ -576,7 +573,7 @@ autoRedact.submitButton=Indsend
|
|||||||
#showJS
|
#showJS
|
||||||
showJS.title=Vis Javascript
|
showJS.title=Vis Javascript
|
||||||
showJS.header=Vis Javascript
|
showJS.header=Vis Javascript
|
||||||
showJS.downloadJS=Last ned Javascript
|
showJS.downloadJS=Download Javascript
|
||||||
showJS.submit=Vis
|
showJS.submit=Vis
|
||||||
|
|
||||||
|
|
||||||
@@ -633,7 +630,7 @@ HTMLToPDF.printBackground=Render baggrunden af hjemmesider.
|
|||||||
HTMLToPDF.defaultHeader=Aktivér Standard Header (Navn og sidenummerAS
|
HTMLToPDF.defaultHeader=Aktivér Standard Header (Navn og sidenummerAS
|
||||||
HTMLToPDF.cssMediaType=Ændre CSS-medietypen for siden.
|
HTMLToPDF.cssMediaType=Ændre CSS-medietypen for siden.
|
||||||
HTMLToPDF.none=Ingen
|
HTMLToPDF.none=Ingen
|
||||||
HTMLToPDF.print=Skriv ud
|
HTMLToPDF.print=Print
|
||||||
HTMLToPDF.screen=Skærm
|
HTMLToPDF.screen=Skærm
|
||||||
|
|
||||||
|
|
||||||
@@ -645,9 +642,9 @@ AddStampRequest.stampText=Stempeltekst
|
|||||||
AddStampRequest.stampImage=Stempelbillede
|
AddStampRequest.stampImage=Stempelbillede
|
||||||
AddStampRequest.alphabet=Alfabet
|
AddStampRequest.alphabet=Alfabet
|
||||||
AddStampRequest.fontSize=Skrift/Billedstørrelse
|
AddStampRequest.fontSize=Skrift/Billedstørrelse
|
||||||
AddStampRequest.rotation=Vendelse
|
AddStampRequest.rotation=Rotation
|
||||||
AddStampRequest.opacity=Gennemsigtighed
|
AddStampRequest.opacity=Gennemsigtighed
|
||||||
AddStampRequest.position=Plassering
|
AddStampRequest.position=Position
|
||||||
AddStampRequest.overrideX=Tilsidesæt X-koordinat
|
AddStampRequest.overrideX=Tilsidesæt X-koordinat
|
||||||
AddStampRequest.overrideY=Tilsidesæt Y-koordinat
|
AddStampRequest.overrideY=Tilsidesæt Y-koordinat
|
||||||
AddStampRequest.customMargin=Brugerdefineret Margin
|
AddStampRequest.customMargin=Brugerdefineret Margin
|
||||||
@@ -671,7 +668,7 @@ addPageNumbers.title=Tilføj Sidenumre
|
|||||||
addPageNumbers.header=Tilføj Sidenumre
|
addPageNumbers.header=Tilføj Sidenumre
|
||||||
addPageNumbers.selectText.1=Vælg PDF-fil:
|
addPageNumbers.selectText.1=Vælg PDF-fil:
|
||||||
addPageNumbers.selectText.2=Marginstørrelse
|
addPageNumbers.selectText.2=Marginstørrelse
|
||||||
addPageNumbers.selectText.3=Plassering
|
addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Startnummer
|
addPageNumbers.selectText.4=Startnummer
|
||||||
addPageNumbers.selectText.5=Sider at nummerere
|
addPageNumbers.selectText.5=Sider at nummerere
|
||||||
addPageNumbers.selectText.6=Brugerdefineret Tekst
|
addPageNumbers.selectText.6=Brugerdefineret Tekst
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Vis Underskrift
|
|||||||
certSign.reason=Årsag
|
certSign.reason=Årsag
|
||||||
certSign.location=Placering
|
certSign.location=Placering
|
||||||
certSign.name=Navn
|
certSign.name=Navn
|
||||||
certSign.showLogo=Vis Logo
|
|
||||||
certSign.submit=Underskriv PDF
|
certSign.submit=Underskriv PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Fremhævningsfarve 2:
|
|||||||
compare.document.1=Dokument 1
|
compare.document.1=Dokument 1
|
||||||
compare.document.2=Dokument 2
|
compare.document.2=Dokument 2
|
||||||
compare.submit=Sammenlign
|
compare.submit=Sammenlign
|
||||||
compare.complex.message=Et eller begge af de angivne dokumenter er store filer, præcisionen ved sammenligningen kan geminse.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Et eller Begge af de Angivne Dokumenter Er For Store At Behandle
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Et eller Begge Af de Vælgede PDFs Har Ingen Tekstindhold. Vælg Vores PDFs Med Tekst for Sammenligning.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Bøger og Tegneserier til PDF
|
BookToPDF.title=Bøger og Tegneserier til PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Tegn Underskrift
|
|||||||
sign.text=Tekstinput
|
sign.text=Tekstinput
|
||||||
sign.clear=Ryd
|
sign.clear=Ryd
|
||||||
sign.add=Tilføj
|
sign.add=Tilføj
|
||||||
sign.saved=Gemte Signaturer
|
sign.saved=Saved Signatures
|
||||||
sign.save=Gem Signatur
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Personlige Signaturer
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Delte Signaturer
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Ingen Gemte Signaturer Fundet
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -836,7 +832,7 @@ flatten.submit=Udjævn
|
|||||||
#ScannerImageSplit
|
#ScannerImageSplit
|
||||||
ScannerImageSplit.selectText.1=Vinkeltærskel:
|
ScannerImageSplit.selectText.1=Vinkeltærskel:
|
||||||
ScannerImageSplit.selectText.2=Indstiller den minimale absolutte vinkel, der kræves for at billedet roteres (standard: 10).
|
ScannerImageSplit.selectText.2=Indstiller den minimale absolutte vinkel, der kræves for at billedet roteres (standard: 10).
|
||||||
ScannerImageSplit.selectText.3=Tolerancen:
|
ScannerImageSplit.selectText.3=Tolerance:
|
||||||
ScannerImageSplit.selectText.4=Bestemmer området for farvevariation omkring den estimerede baggrundsfarve (standard: 30).
|
ScannerImageSplit.selectText.4=Bestemmer området for farvevariation omkring den estimerede baggrundsfarve (standard: 30).
|
||||||
ScannerImageSplit.selectText.5=Minimum Areal:
|
ScannerImageSplit.selectText.5=Minimum Areal:
|
||||||
ScannerImageSplit.selectText.6=Indstiller den minimale arealtærskel for et foto (standard: 10000).
|
ScannerImageSplit.selectText.6=Indstiller den minimale arealtærskel for et foto (standard: 10000).
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(f.eks. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
|
|||||||
multiTool.title=PDF Multi Værktøj
|
multiTool.title=PDF Multi Værktøj
|
||||||
multiTool.header=PDF Multi Værktøj
|
multiTool.header=PDF Multi Værktøj
|
||||||
multiTool.uploadPrompts=Filnavn
|
multiTool.uploadPrompts=Filnavn
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Se PDF
|
viewPdf.title=Se PDF
|
||||||
@@ -1038,7 +1023,7 @@ watermark.header=Tilføj Vandmærke
|
|||||||
watermark.selectText.1=Vælg PDF til at tilføje vandmærke:
|
watermark.selectText.1=Vælg PDF til at tilføje vandmærke:
|
||||||
watermark.selectText.2=Vandmærketekst:
|
watermark.selectText.2=Vandmærketekst:
|
||||||
watermark.selectText.3=Skriftstørrelse:
|
watermark.selectText.3=Skriftstørrelse:
|
||||||
watermark.selectText.4=Vendt Side (0-360):
|
watermark.selectText.4=Rotation (0-360):
|
||||||
watermark.selectText.5=breddeAfstand (Afstand mellem hvert vandmærke vandret):
|
watermark.selectText.5=breddeAfstand (Afstand mellem hvert vandmærke vandret):
|
||||||
watermark.selectText.6=højdeAfstand (Afstand mellem hvert vandmærke lodret):
|
watermark.selectText.6=højdeAfstand (Afstand mellem hvert vandmærke lodret):
|
||||||
watermark.selectText.7=Gennemsigtighed (0% - 100%):
|
watermark.selectText.7=Gennemsigtighed (0% - 100%):
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=License
|
|||||||
survey.nav=Undersøgelse
|
survey.nav=Undersøgelse
|
||||||
survey.title=Stirling-PDF Undersøgelse
|
survey.title=Stirling-PDF Undersøgelse
|
||||||
survey.description=Stirling-PDF har ingen sporing, så vi vil gerne høre fra vores brugere for at forbedre Stirling-PDF!
|
survey.description=Stirling-PDF har ingen sporing, så vi vil gerne høre fra vores brugere for at forbedre Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF Har Endtes Sidst Ganger du Foresatte En Kig! For At Lære Mere, Se Vores Blog Indlæg Her:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Med Disse Endringer Er Vi Kommet I Betalende Forretningsstøtte og Finansiering
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Overvej venligst at deltage i vores undersøgelse!
|
survey.please=Overvej venligst at deltage i vores undersøgelse!
|
||||||
survey.disabled=(Undersøgelsespop-up vil blive deaktiveret i følgende opdateringer, men vil være tilgængelig i bunden af siden)
|
survey.disabled=(Undersøgelsespop-up vil blive deaktiveret i følgende opdateringer, men vil være tilgængelig i bunden af siden)
|
||||||
survey.button=Tag Undersøgelsen
|
survey.button=Tag Undersøgelsen
|
||||||
@@ -1235,13 +1220,13 @@ removeImage.removeImage=Fjern billede
|
|||||||
removeImage.submit=Fjern
|
removeImage.submit=Fjern
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Del PDF ved Kapitler
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Splitter PDF efter kapitel
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Bogmærke niveau
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Inkluder metadata
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Tillad duplikater
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Denne værktøj splitter en PDF-fil op i flere PDF'er baseret på dens kapitelstruktur.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Bogmærke niveau: Vælg nivået af bogmærker, der skal bruges til at splittere (0 for hovedniveau, 1 for anden niveau osv.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Inkluder metadata: Hvis markeret, vil den originale PDF's metadata inkluderes i hver splitterdels PDF.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Tillad duplikater: Hvis markeret, tillader det flere bogmærker på samme side til at oprette separate PDF'er.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Splitter PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Schriftgröße
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Schriftart
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=PDF(s) auswählen
|
pdfPrompt=PDF(s) auswählen
|
||||||
multiPdfPrompt=PDFs auswählen(2+)
|
multiPdfPrompt=PDFs auswählen(2+)
|
||||||
multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin)
|
multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin)
|
||||||
@@ -77,11 +77,10 @@ color=Farbe
|
|||||||
sponsor=Sponsor
|
sponsor=Sponsor
|
||||||
info=Informationen
|
info=Informationen
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Seite
|
page=Page
|
||||||
pages=Seiten
|
pages=Pages
|
||||||
loading=Laden...
|
loading=Loading...
|
||||||
addToDoc=In Dokument hinzufügen
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Datenschutz
|
legal.privacy=Datenschutz
|
||||||
legal.terms=AGB
|
legal.terms=AGB
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Sprachen
|
|||||||
navbar.settings=Einstellungen
|
navbar.settings=Einstellungen
|
||||||
navbar.allTools=Werkzeuge
|
navbar.allTools=Werkzeuge
|
||||||
navbar.multiTool=Multitools
|
navbar.multiTool=Multitools
|
||||||
navbar.search=Suche
|
|
||||||
navbar.sections.organize=Organisieren
|
navbar.sections.organize=Organisieren
|
||||||
navbar.sections.convertTo=In PDF konvertieren
|
navbar.sections.convertTo=In PDF konvertieren
|
||||||
navbar.sections.convertFrom=Konvertieren von PDF
|
navbar.sections.convertFrom=Konvertieren von PDF
|
||||||
navbar.sections.security=Zeichen und Sicherheit
|
navbar.sections.security=Zeichen und Sicherheit
|
||||||
navbar.sections.advance=Fortschrittlich
|
navbar.sections.advance=Fortschrittlich
|
||||||
navbar.sections.edit=Anzeigen und Bearbeiten
|
navbar.sections.edit=Anzeigen und Bearbeiten
|
||||||
navbar.sections.popular=Beliebt
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -247,8 +245,7 @@ database.fileNotFound=Datei nicht gefunden
|
|||||||
database.fileNullOrEmpty=Datei darf nicht null oder leer sein
|
database.fileNullOrEmpty=Datei darf nicht null oder leer sein
|
||||||
database.failedImportFile=Dateiimport fehlgeschlagen
|
database.failedImportFile=Dateiimport fehlgeschlagen
|
||||||
|
|
||||||
session.expired=Ihre Sitzung ist abgelaufen. Bitte laden Sie die Seite neu und versuchen Sie es erneut.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Abschicken
|
|||||||
scalePages.title=Seitengröße anpassen
|
scalePages.title=Seitengröße anpassen
|
||||||
scalePages.header=Seitengröße anpassen
|
scalePages.header=Seitengröße anpassen
|
||||||
scalePages.pageSize=Format der Seiten des Dokuments
|
scalePages.pageSize=Format der Seiten des Dokuments
|
||||||
scalePages.keepPageSize=Originalgröße beibehalten
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Zoomstufe (Ausschnitt) einer Seite
|
scalePages.scaleFactor=Zoomstufe (Ausschnitt) einer Seite
|
||||||
scalePages.submit=Abschicken
|
scalePages.submit=Abschicken
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Signatur anzeigen
|
|||||||
certSign.reason=Grund
|
certSign.reason=Grund
|
||||||
certSign.location=Standort
|
certSign.location=Standort
|
||||||
certSign.name=Name
|
certSign.name=Name
|
||||||
certSign.showLogo=Logo anzeigen
|
|
||||||
certSign.submit=PDF signieren
|
certSign.submit=PDF signieren
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Highlight-Farbe 2:
|
|||||||
compare.document.1=Dokument 1
|
compare.document.1=Dokument 1
|
||||||
compare.document.2=Dokument 2
|
compare.document.2=Dokument 2
|
||||||
compare.submit=Vergleichen
|
compare.submit=Vergleichen
|
||||||
compare.complex.message=Eines oder beide Dokumente sind sehr groß, dadurch kann die Genauigkeit des Vergleichs kann beeinträchtigt werden.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Eines oder beide Dokumente sind zu groß, um verarbeitet zu werden
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Ein oder beide ausgewählten PDFs enthalten keine Textinhalt. Wählen Sie bitte PDFs mit Text für die Vergleichsanalyse.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Bücher und Comics zu PDF
|
BookToPDF.title=Bücher und Comics zu PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Signatur zeichnen
|
|||||||
sign.text=Texteingabe
|
sign.text=Texteingabe
|
||||||
sign.clear=Leeren
|
sign.clear=Leeren
|
||||||
sign.add=Signieren
|
sign.add=Signieren
|
||||||
sign.saved=Gespeicherte Signaturen
|
sign.saved=Saved Signatures
|
||||||
sign.save=Signature speichern
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Persönliche Signaturen
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Geteilte Signaturen
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Es wurden keine gespeicherten Signaturen gefunden
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=PDF mit OCR verarbeiten
|
|||||||
extractImages.title=Bilder extrahieren
|
extractImages.title=Bilder extrahieren
|
||||||
extractImages.header=Bilder extrahieren
|
extractImages.header=Bilder extrahieren
|
||||||
extractImages.selectText=Wählen Sie das Bildformat aus, in das extrahierte Bilder konvertiert werden sollen
|
extractImages.selectText=Wählen Sie das Bildformat aus, in das extrahierte Bilder konvertiert werden sollen
|
||||||
extractImages.allowDuplicates=Doppelte Bilder speichern
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Extrahieren
|
extractImages.submit=Extrahieren
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(z.B. 1,3,2 oder 4-8,2,10-12 oder 2n-1)
|
|||||||
multiTool.title=PDF-Multitool
|
multiTool.title=PDF-Multitool
|
||||||
multiTool.header=PDF-Multitool
|
multiTool.header=PDF-Multitool
|
||||||
multiTool.uploadPrompts=Dateiname
|
multiTool.uploadPrompts=Dateiname
|
||||||
multiTool.selectAll=Alle auswählen
|
|
||||||
multiTool.deselectAll=Auswahl aufheben
|
|
||||||
multiTool.selectPages=Seiten auswählen
|
|
||||||
multiTool.selectedPages=Ausgewählte Seiten
|
|
||||||
multiTool.page=Seite
|
|
||||||
multiTool.deleteSelected=Auswahl löschen
|
|
||||||
multiTool.downloadAll=Downloaden
|
|
||||||
multiTool.downloadSelected=Auswahl downloaden
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF anzeigen
|
viewPdf.title=PDF anzeigen
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=Lizenz
|
|||||||
survey.nav=Umfrage
|
survey.nav=Umfrage
|
||||||
survey.title=Stirling-PDF-Umfrage
|
survey.title=Stirling-PDF-Umfrage
|
||||||
survey.description=Stirling-PDF hat kein Tracking, daher möchten wir von unseren Benutzern hören, wie wir Stirling-PDF verbessern können!
|
survey.description=Stirling-PDF hat kein Tracking, daher möchten wir von unseren Benutzern hören, wie wir Stirling-PDF verbessern können!
|
||||||
survey.changes=Stirling-PDF hat sich seit der letzten Umfrage verändert! Mehr Informationen finden Sie bitte in unserem Blog-Beitrag hier:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Mit diesen Änderungen erhalten wir beauftragte Geschäftsunterstützung und Finanzierung
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Bitte nehmen Sie an unserer Umfrage teil!
|
survey.please=Bitte nehmen Sie an unserer Umfrage teil!
|
||||||
survey.disabled=(Das Umfrage-Popup wird in folgenden Updates deaktiviert, ist aber am Fuß der Seite verfügbar.)
|
survey.disabled=(Das Umfrage-Popup wird in folgenden Updates deaktiviert, ist aber am Fuß der Seite verfügbar.)
|
||||||
survey.button=Umfrage durchführen
|
survey.button=Umfrage durchführen
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Μέγεθος Τύπου
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Όνομα Τύπου
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Επιλογή PDF(s)
|
pdfPrompt=Επιλογή PDF(s)
|
||||||
multiPdfPrompt=Επιλογή PDFs (2+)
|
multiPdfPrompt=Επιλογή PDFs (2+)
|
||||||
multiPdfDropPrompt=Επιλογή (ή τράβηγμα αρχείου και απόθεση) όλων των PDF που χρειάζεστε
|
multiPdfDropPrompt=Επιλογή (ή τράβηγμα αρχείου και απόθεση) όλων των PDF που χρειάζεστε
|
||||||
@@ -39,7 +39,7 @@ delete=Διαγραφή
|
|||||||
username=Όνομα Χρήστη
|
username=Όνομα Χρήστη
|
||||||
password=Κωδικός
|
password=Κωδικός
|
||||||
welcome=Καλως Ήλθατε
|
welcome=Καλως Ήλθατε
|
||||||
property=Χαρακτηριστικό
|
property=Property
|
||||||
black=Μαύρο
|
black=Μαύρο
|
||||||
white=Άσπρο
|
white=Άσπρο
|
||||||
red=Κόκκινο
|
red=Κόκκινο
|
||||||
@@ -56,15 +56,15 @@ userNotFoundMessage=Ο χρήστης δεν βρέθηκε.
|
|||||||
incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.
|
incorrectPasswordMessage=Ο τρέχων κωδικός πρόσβασης είναι λανθασμένος.
|
||||||
usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
|
usernameExistsMessage=Το νέο όνομα χρήστη υπάρχει ήδη.
|
||||||
invalidUsernameMessage=Μη έγκυρο όνομα χρήστη, όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τους ακόλουθους ειδικούς χαρακτήρες @._+- ή πρέπει να είναι έγκυρη διεύθυνση email.
|
invalidUsernameMessage=Μη έγκυρο όνομα χρήστη, όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τους ακόλουθους ειδικούς χαρακτήρες @._+- ή πρέπει να είναι έγκυρη διεύθυνση email.
|
||||||
invalidPasswordMessage=Ο κωδικός πρόσβασης δεν μπορεί να είναι αδύναμος και δεν μπορεί να έχει χαμογελάτα στην αρχή ή το τέλος.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Ο Διαβεβαιωμένος Νέος Κωδικός Πρόσβασης πρέπει να συνάρτησε με το Νέο Κωδίκο Πρόσβασης.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Δεν είναι δυνατή η διαγραφή του τρέχοντος συνδεδεμένου χρήστη.
|
deleteCurrentUserMessage=Δεν είναι δυνατή η διαγραφή του τρέχοντος συνδεδεμένου χρήστη.
|
||||||
deleteUsernameExistsMessage=Το όνομα χρήστη δεν υπάρχει και δεν μπορεί να διαγραφεί.
|
deleteUsernameExistsMessage=Το όνομα χρήστη δεν υπάρχει και δεν μπορεί να διαγραφεί.
|
||||||
downgradeCurrentUserMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη
|
downgradeCurrentUserMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη
|
||||||
disabledCurrentUserMessage=Ο σύγχρονος χρήστης δεν μπορεί να απενειλθείται
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη. Ως εκ τούτου, ο τρέχων χρήστης δεν θα εμφανίζεται.
|
downgradeCurrentUserLongMessage=Δεν είναι δυνατή η υποβάθμιση του ρόλου του τρέχοντος χρήστη. Ως εκ τούτου, ο τρέχων χρήστης δεν θα εμφανίζεται.
|
||||||
userAlreadyExistsOAuthMessage=Το υχής ήδη υπάρχει ως OAuth2 χρήστης.
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=Ο χρήστης εξαρτάται ήδη ως πλήρωμα χρήστη.
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=Σφάλμα
|
error=Σφάλμα
|
||||||
oops=Ωχ!
|
oops=Ωχ!
|
||||||
help=Βοήθεια
|
help=Βοήθεια
|
||||||
@@ -75,31 +75,30 @@ visitGithub=Επισκεφθείτε το Αποθετήριο του Github
|
|||||||
donate=Δωρισε
|
donate=Δωρισε
|
||||||
color=Χρώμα
|
color=Χρώμα
|
||||||
sponsor=Yποστηρικτής
|
sponsor=Yποστηρικτής
|
||||||
info=Πληροφορίες
|
info=Info
|
||||||
pro=Προ
|
pro=Pro
|
||||||
page=Σελίδα
|
page=Page
|
||||||
pages=Σελίδες
|
pages=Pages
|
||||||
loading=Φόρτωση...
|
loading=Loading...
|
||||||
addToDoc=Πρόσθεση στο Εκπομπώματο
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Πολιτική Προνομίους
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Φράσεις Υποχρεωτικότητας
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Πρόσβαση
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Πολιτική Χώρου Συνθέσεων
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Κατάσταση
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
###############
|
###############
|
||||||
pipeline.header=Μενού Pipeline (Beta)
|
pipeline.header=Μενού Pipeline (Beta)
|
||||||
pipeline.uploadButton=Αναβάθμιση Καλυτερού
|
pipeline.uploadButton=Upload Custom
|
||||||
pipeline.configureButton=Διαμόρφωσε
|
pipeline.configureButton=Διαμόρφωσε
|
||||||
pipeline.defaultOption=Κατασκευή Μετρόπολης
|
pipeline.defaultOption=Custom
|
||||||
pipeline.submitButton=Υποβολή
|
pipeline.submitButton=Υποβολή
|
||||||
pipeline.help=Βοήθεια για το Pipeline
|
pipeline.help=Βοήθεια για το Pipeline
|
||||||
pipeline.scanHelp=Βοήθεια για Σάρωση Φακέλων
|
pipeline.scanHelp=Βοήθεια για Σάρωση Φακέλων
|
||||||
pipeline.deletePrompt=Είστε σίγουροι ότι θέλετε να διαγράψετε το πρότυπο;
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -110,53 +109,52 @@ pipelineOptions.saveSettings=Αποθήκευση Ρυθμίσεων Λειτο
|
|||||||
pipelineOptions.pipelineNamePrompt=Εισαγάγετε το όνομα του pipeline εδώ
|
pipelineOptions.pipelineNamePrompt=Εισαγάγετε το όνομα του pipeline εδώ
|
||||||
pipelineOptions.selectOperation=Επιλέξτε Λειτουργία
|
pipelineOptions.selectOperation=Επιλέξτε Λειτουργία
|
||||||
pipelineOptions.addOperationButton=Προσθήκη λειτουργίας
|
pipelineOptions.addOperationButton=Προσθήκη λειτουργίας
|
||||||
pipelineOptions.pipelineHeader=Πρότυπο:
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=Λήψη
|
pipelineOptions.saveButton=Λήψη
|
||||||
pipelineOptions.validateButton=Επικυρώνω
|
pipelineOptions.validateButton=Επικυρώνω
|
||||||
|
|
||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Ενημερώστε σε Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Αυτή η λειτουργία είναι διαθέσιμη μόνο για τους χρήστες Pro.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro υποστηρίζει αρχεία συνασκήματος YAML και άλλες λειτουργίες SSO.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Σάξεις για περισσότερες λειτουργίες διαχείρισης χρηστών; Πроверьте Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Επιθυμείτε να βελτιώσετε το Stirling PDF;
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF έχει επιλεγμένα ανάλυμα για να με βοηθήσει στην βελτίωση του προϊόντος. Δεν ακολουθούμε καμία ιδιοχειρισμένη πληροφορία ή συγκέντρωση υπόλοιπου πλάνου.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Παρακαλώ ενεργοποιήστε τα ανάλυμα για να βοηθήσετε το Stirling-PDF να ξεφύγει και να μας βοηθήσετε στον καλύτερο δυνατό ανάλυμα χρηστών.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Ενεργοποίηση ανάλυμα
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Διακόπτωση ανάλυμα
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Μπορείτε να αλλάξετε τις προπαραστάσεις των ανάλυμα σε υποθέσεις/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
#############
|
#############
|
||||||
navbar.favorite=Πιρημός
|
navbar.favorite=Favorites
|
||||||
navbar.darkmode=Μαύρο Θέμα
|
navbar.darkmode=Μαύρο Θέμα
|
||||||
navbar.language=Γλώσσες
|
navbar.language=Languages
|
||||||
navbar.settings=Ρυθμίσεις
|
navbar.settings=Ρυθμίσεις
|
||||||
navbar.allTools=Εργαλεία
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.organize=Οργάνωση
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertTo=Μετατροπή σε PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
navbar.sections.convertFrom=Μετατροπή από PDF
|
navbar.sections.security=Sign & Security
|
||||||
navbar.sections.security=Υπογραφή & Σέκυνση
|
navbar.sections.advance=Advanced
|
||||||
navbar.sections.advance=Διεξοδικό
|
navbar.sections.edit=View & Edit
|
||||||
navbar.sections.edit=Σύντομος Προβολής & Διοίκηση
|
navbar.sections.popular=Popular
|
||||||
navbar.sections.popular=Επιφανειακά
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
#############
|
#############
|
||||||
settings.title=Ρυθμίσεις
|
settings.title=Ρυθμίσεις
|
||||||
settings.update=Υπάρχει διαθέσιμη ενημέρωση
|
settings.update=Υπάρχει διαθέσιμη ενημέρωση
|
||||||
settings.updateAvailable={0} είναι το πρόγραμμα εκτελεσιμωμένο σήμερα. Έχετε διαθέσιμη μια νέα έκδοση (σήμερα: {1}).
|
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available.
|
||||||
settings.appVersion=Έκδοση εφαρμογής:
|
settings.appVersion=Έκδοση εφαρμογής:
|
||||||
settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip):
|
settings.downloadOption.title=Επιλέξετε την επιλογή λήψης (Για λήψεις μεμονωμένων αρχείων χωρίς zip):
|
||||||
settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο
|
settings.downloadOption.1=Άνοιγμα στο ίδιο παράθυρο
|
||||||
@@ -165,9 +163,9 @@ settings.downloadOption.3=Λήψη αρχείου
|
|||||||
settings.zipThreshold=Αρχεία Zip όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος
|
settings.zipThreshold=Αρχεία Zip όταν ο αριθμός των ληφθέντων αρχείων είναι πολύ μεγάλος
|
||||||
settings.signOut=Αποσύνδεση
|
settings.signOut=Αποσύνδεση
|
||||||
settings.accountSettings=Ρυθμίσεις Λογαριασμού
|
settings.accountSettings=Ρυθμίσεις Λογαριασμού
|
||||||
settings.bored.help=Ενεργοποίηση παιχνίδι ευφήμων
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=Αποθήκευση των εισαγωγών
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=Ενεργοποίηση για να αποθηκεύσετε προηγουμένως χρησιμοποιημένες εισαγωγές για το μέλλον
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=Αλλαγή Διαπιστευτηρίων
|
changeCreds.title=Αλλαγή Διαπιστευτηρίων
|
||||||
changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας
|
changeCreds.header=Ενημέρωση των λεπτομερειών του Λογαριασμού σας
|
||||||
@@ -195,7 +193,7 @@ account.signOut=Αποσύνδεση
|
|||||||
account.yourApiKey=Το κλειδί σας για τη διεπαφή προγραμματισμού εφαρμογών (API key)
|
account.yourApiKey=Το κλειδί σας για τη διεπαφή προγραμματισμού εφαρμογών (API key)
|
||||||
account.syncTitle=Συγχρονισμός των ρυθμίσεων του φυλλομετρητή (Web Browser) με τον λογαριασμό
|
account.syncTitle=Συγχρονισμός των ρυθμίσεων του φυλλομετρητή (Web Browser) με τον λογαριασμό
|
||||||
account.settingsCompare=Σύγκριση Ρυθμίσεων:
|
account.settingsCompare=Σύγκριση Ρυθμίσεων:
|
||||||
account.property=Υπεροχή
|
account.property=Property
|
||||||
account.webBrowserSettings=Ρύθμιση φυλλομετρητή (Web Browser)
|
account.webBrowserSettings=Ρύθμιση φυλλομετρητή (Web Browser)
|
||||||
account.syncToBrowser=Συγχρονισμός Λογαριασμού -> Φυλλομετρητή (Web Browser)
|
account.syncToBrowser=Συγχρονισμός Λογαριασμού -> Φυλλομετρητή (Web Browser)
|
||||||
account.syncToAccount=Συγχρονισμός Λογαριασμού <- Φυλλομετρητή (Web Browser)
|
account.syncToAccount=Συγχρονισμός Λογαριασμού <- Φυλλομετρητή (Web Browser)
|
||||||
@@ -206,10 +204,10 @@ adminUserSettings.header=Ρυθμίσεις ελέγχου Διαχειριστ
|
|||||||
adminUserSettings.admin=Διαχειριστής
|
adminUserSettings.admin=Διαχειριστής
|
||||||
adminUserSettings.user=Χρήστης
|
adminUserSettings.user=Χρήστης
|
||||||
adminUserSettings.addUser=Προσθήκη νέου Χρήστη
|
adminUserSettings.addUser=Προσθήκη νέου Χρήστη
|
||||||
adminUserSettings.deleteUser=Διαγραφή Χρηστών
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=Είναι αποδεκτό να διαγράψετε τον χρήστη;
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Είναι αποδεκτό να αλλάξετε το σύμβαθρο του χρηστών;
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=Το όνομα χρήστη μπορεί να περιέχει μόνο γράμματα, αριθμούς και τα εξής διευρυμένα συμβολικά @._+- ή πρέπει να είναι έγκυρο e-mail.
|
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
adminUserSettings.roles=Ρόλοι
|
adminUserSettings.roles=Ρόλοι
|
||||||
adminUserSettings.role=Ρόλος
|
adminUserSettings.role=Ρόλος
|
||||||
adminUserSettings.actions=Ενέργειες
|
adminUserSettings.actions=Ενέργειες
|
||||||
@@ -221,34 +219,33 @@ adminUserSettings.internalApiUser=Εσωτερικός API χρήστης
|
|||||||
adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση
|
adminUserSettings.forceChange=Αναγκάστε τον χρήστη να αλλάξει το όνομα χρήστη/κωδικό πρόσβασης κατά τη σύνδεση
|
||||||
adminUserSettings.submit=Αποθήκευση Χρήστη
|
adminUserSettings.submit=Αποθήκευση Χρήστη
|
||||||
adminUserSettings.changeUserRole=Αλλαγή ρόλου χρήστη
|
adminUserSettings.changeUserRole=Αλλαγή ρόλου χρήστη
|
||||||
adminUserSettings.authenticated=Εγγεγραφές
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=Επεξεργασία Τοποθεσίας Δικότητας
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=Ενεργούς Χρήστης
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=Απενεργούς Χρήστης
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Ενεργοί Χρήστες:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Απενεργοί Χρήστες:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Συνολικός Αριθμός Χρηστών:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Τελευταία Ερώτηση
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Εισάγωντας/Εξαγωγή Δεδομένων Βάσης Δεδομένων
|
database.title=Database Import/Export
|
||||||
database.header=Εισάγωντας/Εξαγωγή Δεδομένων Βάσης Δεδομένων
|
database.header=Database Import/Export
|
||||||
database.fileName=Όνομα αρχείου
|
database.fileName=File Name
|
||||||
database.creationDate=Ημερομηνία δημιουργίας
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Μέγεθος αρχείου
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Διαγραφή Προγράμματος Ανασυγκρότησης
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Εισάγωντας Προγράμματος Ανασυγκρότησης
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Κατέβασμα Προγράμματος Ανασυγκρότησης
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Όταν εισάγετε δεδομένα, είναι σημαντικό να εξασφαλίσετε τη σωστή μορφοποίηση. Αν δεν είστε σίγουροι για το ποια πράγματα κάνετε, αιτήστε υποβολή και υποστήριξη από ευελίκτω. Μια σφάλμα στη μορφοποίηση μπορεί να προκαλέσει καταστάσεις λάθους στην εφαρμογή, αν όχι ολόκληρη την αποχώρηση της εφαρμογής.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=Το ονόμα του αρχείου δεν έχει σημασία όταν ξεκινάτε μια επέμβαση. Αλλαγήται αργότερα για να ακολουθήσει το σχήμα backup_ωςώντας_YYYYMMDDHHmm.sql, επιτρέποντας μια συνεχές κατάληψη ονόματος.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Εισάγωντας Προγράμματος Ανασυγκρότησης
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Τελείωση εισαγωγής στη βάση δεδομένων.
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Το αρχείο δεν μπορεί να είναι τυχόν ή κενό.
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Η σεζώνη σας υπάρξει παραγωγή. Πατήστε για να ανανεώσετε το πλήρωμα και δοκιμάστε ξανά.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -259,7 +256,7 @@ home.searchBar=Αναζήτηση για χαρακτηριστικά...
|
|||||||
|
|
||||||
home.viewPdf.title=Εμφάνιση PDF
|
home.viewPdf.title=Εμφάνιση PDF
|
||||||
home.viewPdf.desc=Εμφάνιση, προσθήκη σχεδίου, προσθήκη κειμένου ή εικόνων
|
home.viewPdf.desc=Εμφάνιση, προσθήκη σχεδίου, προσθήκη κειμένου ή εικόνων
|
||||||
viewPdf.tags=ψηφιοποίηση,ανάγνωση,καταχώρηση,τεκτωνική,εικόνα
|
viewPdf.tags=view,read,annotate,text,image
|
||||||
|
|
||||||
home.multiTool.title=PDF Πολυεργαλείο
|
home.multiTool.title=PDF Πολυεργαλείο
|
||||||
home.multiTool.desc=Συγχώνευση, Περιστροφή, Αναδιάταξη και Κατάργηση σελίδων
|
home.multiTool.desc=Συγχώνευση, Περιστροφή, Αναδιάταξη και Κατάργηση σελίδων
|
||||||
@@ -267,11 +264,11 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side,in
|
|||||||
|
|
||||||
home.merge.title=Συγχώνευση
|
home.merge.title=Συγχώνευση
|
||||||
home.merge.desc=Συγχώνευση πολλών PDF σε ένα με εύκολο τρόπο.
|
home.merge.desc=Συγχώνευση πολλών PDF σε ένα με εύκολο τρόπο.
|
||||||
merge.tags=συνδυασμός,λεπτομέρειες σελίδας,μετάβαση από το μέχρι το κράτος,κρήτερο χρώμα
|
merge.tags=merge,Page operations,Back end,server side
|
||||||
|
|
||||||
home.split.title=Διαχωρισμός
|
home.split.title=Διαχωρισμός
|
||||||
home.split.desc=Διαχωρισμός των PDF σε πολλά έγγραφα.
|
home.split.desc=Διαχωρισμός των PDF σε πολλά έγγραφα.
|
||||||
split.tags=λεπτομέρειες σελίδας,διαχωρισμός,πολυσελίδια,κοπή,κρήτερο χρώμα
|
split.tags=Page operations,divide,Multi Page,cut,server side
|
||||||
|
|
||||||
home.rotate.title=Περιστροφή
|
home.rotate.title=Περιστροφή
|
||||||
home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο.
|
home.rotate.desc=Περιστροφή των PDF σας με εύκολο τρόπο.
|
||||||
@@ -280,45 +277,45 @@ rotate.tags=από την πλευρά του server
|
|||||||
|
|
||||||
home.imageToPdf.title=Εικόνα σε PDF
|
home.imageToPdf.title=Εικόνα σε PDF
|
||||||
home.imageToPdf.desc=Μετατροπή εικόνας (PNG, JPEG, GIF) σε PDF.
|
home.imageToPdf.desc=Μετατροπή εικόνας (PNG, JPEG, GIF) σε PDF.
|
||||||
imageToPdf.tags=διαδοχική ψηφιοποίηση,εικόνα,jpg,πληροφορίας,φωτογραφία
|
imageToPdf.tags=conversion,img,jpg,picture,photo
|
||||||
|
|
||||||
home.pdfToImage.title=PDF σε εικόνα
|
home.pdfToImage.title=PDF σε εικόνα
|
||||||
home.pdfToImage.desc=Μετατροπή ενός PDF σε μία εικόνα. (PNG, JPEG, GIF)
|
home.pdfToImage.desc=Μετατροπή ενός PDF σε μία εικόνα. (PNG, JPEG, GIF)
|
||||||
pdfToImage.tags=διαδοχική ψηφιοποίηση,εικόνα,jpg,πληροφορίας,φωτογραφία
|
pdfToImage.tags=conversion,img,jpg,picture,photo
|
||||||
|
|
||||||
home.pdfOrganiser.title=Οργάνωση
|
home.pdfOrganiser.title=Οργάνωση
|
||||||
home.pdfOrganiser.desc=Αφαίρεση/Αναδιάταξη σελίδων με οποιαδήποτε σειρά
|
home.pdfOrganiser.desc=Αφαίρεση/Αναδιάταξη σελίδων με οποιαδήποτε σειρά
|
||||||
pdfOrganiser.tags=διπλώματος,ήρωαι,ίσοδες,κατάταξη,μέταβαση
|
pdfOrganiser.tags=duplex,even,odd,sort,move
|
||||||
|
|
||||||
|
|
||||||
home.addImage.title=Προσθήκη Εικόνας
|
home.addImage.title=Προσθήκη Εικόνας
|
||||||
home.addImage.desc=Προσθήκη μιας εικόνας σε μια καθορισμένη θέση στο PDF
|
home.addImage.desc=Προσθήκη μιας εικόνας σε μια καθορισμένη θέση στο PDF
|
||||||
addImage.tags=εικόνα,γούστιο,φωτογραφία
|
addImage.tags=img,jpg,picture,photo
|
||||||
|
|
||||||
home.watermark.title=Προσθήκη Υδατογραφήματος
|
home.watermark.title=Προσθήκη Υδατογραφήματος
|
||||||
home.watermark.desc=Προσθήκη ενός προσαρμοσμένου υδατογράφηματος στο έγγραφό PDF.
|
home.watermark.desc=Προσθήκη ενός προσαρμοσμένου υδατογράφηματος στο έγγραφό PDF.
|
||||||
watermark.tags=λέξη-πίνακας,τυπώμενο,ετικέτα,δικαιοχειρισμός,διόρθωση,εικόνα,γούστιο,φωτογραφία
|
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
||||||
|
|
||||||
home.permissions.title=Αλλαγή Δικαιωμάτων
|
home.permissions.title=Αλλαγή Δικαιωμάτων
|
||||||
home.permissions.desc=Αλλαγή των Δικαιωμάτων στο έγγραφο PDF
|
home.permissions.desc=Αλλαγή των Δικαιωμάτων στο έγγραφο PDF
|
||||||
permissions.tags=αποκοπή,γραμμακτής,μετάβαση
|
permissions.tags=read,write,edit,print
|
||||||
|
|
||||||
|
|
||||||
home.removePages.title=Αφαίρεση
|
home.removePages.title=Αφαίρεση
|
||||||
home.removePages.desc=Αφαίρεση μή επιθυμητών σελίδων απο το έγγραφο PDF.
|
home.removePages.desc=Αφαίρεση μή επιθυμητών σελίδων απο το έγγραφο PDF.
|
||||||
removePages.tags=απόθεση σελίδων,διαγραφή σελίδων
|
removePages.tags=Remove pages,delete pages
|
||||||
|
|
||||||
home.addPassword.title=Προσθήκη κωδικού
|
home.addPassword.title=Προσθήκη κωδικού
|
||||||
home.addPassword.desc=Κρυπτογράφηση - κλείδωμα του PDF αρχείου με έναν κωδικό.
|
home.addPassword.desc=Κρυπτογράφηση - κλείδωμα του PDF αρχείου με έναν κωδικό.
|
||||||
addPassword.tags=σφραγίστω,σφραγίζομαι
|
addPassword.tags=secure,security
|
||||||
|
|
||||||
home.removePassword.title=Αφαίρεση Κωδικού
|
home.removePassword.title=Αφαίρεση Κωδικού
|
||||||
home.removePassword.desc=Κατάργήση της προστασίας με κωδικό πρόσβασης από το έγγραφο PDF.
|
home.removePassword.desc=Κατάργήση της προστασίας με κωδικό πρόσβασης από το έγγραφο PDF.
|
||||||
removePassword.tags=σφραγίστω,παρακυμπνώ,σφραγική,διαγραφή σφραγίδας
|
removePassword.tags=secure,Decrypt,security,unpassword,delete password
|
||||||
|
|
||||||
home.compressPdfs.title=Συμπίεση
|
home.compressPdfs.title=Συμπίεση
|
||||||
home.compressPdfs.desc=Συμπίεση των αρχείων PDF για την μείωση του μεγέθους τους.
|
home.compressPdfs.desc=Συμπίεση των αρχείων PDF για την μείωση του μεγέθους τους.
|
||||||
compressPdfs.tags=ελαφρύνση,κοντά,τροχιές
|
compressPdfs.tags=squish,small,tiny
|
||||||
|
|
||||||
|
|
||||||
home.changeMetadata.title=Αλλαγή Μεταδεδομένων
|
home.changeMetadata.title=Αλλαγή Μεταδεδομένων
|
||||||
@@ -331,16 +328,16 @@ fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,offi
|
|||||||
|
|
||||||
home.ocr.title=οπτική αναγνώριση χαρακτήρων (OCR) / Σαρώσεις Cleanup
|
home.ocr.title=οπτική αναγνώριση χαρακτήρων (OCR) / Σαρώσεις Cleanup
|
||||||
home.ocr.desc=Το Cleanup σαρώνει και ανιχνεύει κείμενο από εικόνες μέσα σε ένα PDF και το προσθέτει ξανά ως κείμενο
|
home.ocr.desc=Το Cleanup σαρώνει και ανιχνεύει κείμενο από εικόνες μέσα σε ένα PDF και το προσθέτει ξανά ως κείμενο
|
||||||
ocr.tags=γνώση,λέξεις,εικόνα,ζήτημα,ανίδηση,δοχή,πρόγραμμα γνωστικής ανάγνωσης
|
ocr.tags=recognition,text,image,scan,read,identify,detection,editable
|
||||||
|
|
||||||
|
|
||||||
home.extractImages.title=Εξαγωγή εικόνων
|
home.extractImages.title=Εξαγωγή εικόνων
|
||||||
home.extractImages.desc=Εξαγωγή όλων των εικόνων απο ένα PDF και αποθήκευση αυτών σε zip
|
home.extractImages.desc=Εξαγωγή όλων των εικόνων απο ένα PDF και αποθήκευση αυτών σε zip
|
||||||
extractImages.tags=εικόνα,φωτογραφία,θυλώματος,αρχείο,γραφή,παράδειγμα
|
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||||
|
|
||||||
home.pdfToPDFA.title=PDF σε PDF/A
|
home.pdfToPDFA.title=PDF σε PDF/A
|
||||||
home.pdfToPDFA.desc=Μετατροπή PDF σε PDF/A για μακροχρόνια αποθήκευση
|
home.pdfToPDFA.desc=Μετατροπή PDF σε PDF/A για μακροχρόνια αποθήκευση
|
||||||
pdfToPDFA.tags=θυλώματος,σύνολο,κανόνες,παραστατικό,κράτηση
|
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation
|
||||||
|
|
||||||
home.PDFToWord.title=PDF σε Word
|
home.PDFToWord.title=PDF σε Word
|
||||||
home.PDFToWord.desc=Μετατροπή του PDF σε Word αρχείο (DOC, DOCX and ODT)
|
home.PDFToWord.desc=Μετατροπή του PDF σε Word αρχείο (DOC, DOCX and ODT)
|
||||||
@@ -356,24 +353,24 @@ PDFToText.tags=richformat,richtextformat,rich text format
|
|||||||
|
|
||||||
home.PDFToHTML.title=PDF σε HTML
|
home.PDFToHTML.title=PDF σε HTML
|
||||||
home.PDFToHTML.desc=Μετατροπή του PDF σε μορφή HTML
|
home.PDFToHTML.desc=Μετατροπή του PDF σε μορφή HTML
|
||||||
PDFToHTML.tags=πρόσβαση σε πλαίσιο,περιεχόμενα για διαδικτυακά
|
PDFToHTML.tags=web content,browser friendly
|
||||||
|
|
||||||
|
|
||||||
home.PDFToXML.title=PDF σε XML
|
home.PDFToXML.title=PDF σε XML
|
||||||
home.PDFToXML.desc=Μετατροπή του PDF σε μορφή XML
|
home.PDFToXML.desc=Μετατροπή του PDF σε μορφή XML
|
||||||
PDFToXML.tags=ξυστώση-δεδομένων,σύνθεση στρογγυλών εξισώσεων,κοντινή κατάληψη,πρόσβαση
|
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
|
||||||
|
|
||||||
home.ScannerImageSplit.title=Ανίχνευση/Διαίρεση σαρωμένων φωτογραφιών
|
home.ScannerImageSplit.title=Ανίχνευση/Διαίρεση σαρωμένων φωτογραφιών
|
||||||
home.ScannerImageSplit.desc=Διαχωρίσμός πολλών φωτογραφίών μέσα από μια φωτογραφία/PDF
|
home.ScannerImageSplit.desc=Διαχωρίσμός πολλών φωτογραφίών μέσα από μια φωτογραφία/PDF
|
||||||
ScannerImageSplit.tags=διχοτομία,δικτυακή-δοκιμασία,σκάνερις,θέση πλατύων,διαχώριση
|
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize
|
||||||
|
|
||||||
home.sign.title=Υπογραφή
|
home.sign.title=Υπογραφή
|
||||||
home.sign.desc=Προσθήκη υπογραφής στο PDF με σχέδιο, κείμενο ή εικόνα.
|
home.sign.desc=Προσθήκη υπογραφής στο PDF με σχέδιο, κείμενο ή εικόνα.
|
||||||
sign.tags=αποθωμάσια,κατογώρηση,φωνή,χαρακτεία-υπογραφής
|
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature
|
||||||
|
|
||||||
home.flatten.title=Συνοπτικοποίηση
|
home.flatten.title=Flatten
|
||||||
home.flatten.desc=Κατάργηση όλων των διαδραστικών στοιχείων και φορμών από ένα PDF
|
home.flatten.desc=Κατάργηση όλων των διαδραστικών στοιχείων και φορμών από ένα PDF
|
||||||
flatten.tags=εγχώριο,απενεργοποιήση,αδρανής-ενεργό,προσαρμογές
|
flatten.tags=static,deactivate,non-interactive,streamline
|
||||||
|
|
||||||
home.repair.title=Επιδιόρθωση
|
home.repair.title=Επιδιόρθωση
|
||||||
home.repair.desc=Προσπάθεια επιδιόρθωσης ενός κατεστραμμένου PDF
|
home.repair.desc=Προσπάθεια επιδιόρθωσης ενός κατεστραμμένου PDF
|
||||||
@@ -381,87 +378,87 @@ repair.tags=fix,restore,correction,recover
|
|||||||
|
|
||||||
home.removeBlanks.title=Αφαίρεση κενών Σελίδων
|
home.removeBlanks.title=Αφαίρεση κενών Σελίδων
|
||||||
home.removeBlanks.desc=Ανίχευση και αφαίρεση κενών σελίδων από ένα έγγραφο
|
home.removeBlanks.desc=Ανίχευση και αφαίρεση κενών σελίδων από ένα έγγραφο
|
||||||
removeBlanks.tags=καθαρισμός,προσαρμογές,εξωφύλακτες-δεδομένων,διοργάνωση
|
removeBlanks.tags=cleanup,streamline,non-content,organize
|
||||||
|
|
||||||
home.removeAnnotations.title=Αποθήκευση Παρατηρήσεων
|
home.removeAnnotations.title=Remove Annotations
|
||||||
home.removeAnnotations.desc=Ελέγξτε και προστίθετε σχόλια/παρατηρήσεις από το PDF
|
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||||
removeAnnotations.tags=σχόλια,κουμπί-ντεκτ,χαρτές,κάθετα-δεδομένα,αποβολή
|
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||||
|
|
||||||
home.compare.title=Σύγκριση
|
home.compare.title=Σύγκριση
|
||||||
home.compare.desc=Σύγκριση και εμφάνιση των διαφορών μεταξύ δύο PDF αρχείων
|
home.compare.desc=Σύγκριση και εμφάνιση των διαφορών μεταξύ δύο PDF αρχείων
|
||||||
compare.tags=διακρίσεις,σύγκριση,αλλαγές,πληθυσμική-ανάλυση
|
compare.tags=differentiate,contrast,changes,analysis
|
||||||
|
|
||||||
home.certSign.title=Υπογραφή με Πιστοποιητικό
|
home.certSign.title=Υπογραφή με Πιστοποιητικό
|
||||||
home.certSign.desc=Υπογραφή ενός PDF αρχείου με ένα Πιστοποιητικό/Κλειδί (PEM/P12)
|
home.certSign.desc=Υπογραφή ενός PDF αρχείου με ένα Πιστοποιητικό/Κλειδί (PEM/P12)
|
||||||
certSign.tags=υπογραφή,PEM,P12,δημοσίες,δεκτικότητα,κρυπτογράφηση
|
certSign.tags=authenticate,PEM,P12,official,encrypt
|
||||||
|
|
||||||
home.removeCertSign.title=Αποθήκευση Υπογραφής Τέλους
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Εμβέλειες σημάδισης από το PDF
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=υπογραφή,PEM,P12,δημοσίες,κρυπτογράφηση-κλείσιμο
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Διάταξη πολλών σελίδων
|
home.pageLayout.title=Διάταξη πολλών σελίδων
|
||||||
home.pageLayout.desc=Συγχώνευση πολλαπλών σελίδων ενός εγγράφου PDF σε μία μόνο σελίδα
|
home.pageLayout.desc=Συγχώνευση πολλαπλών σελίδων ενός εγγράφου PDF σε μία μόνο σελίδα
|
||||||
pageLayout.tags=σύνθεση,ενωμένη,απλή-ροεπίσκαιρα,διοργάνωση
|
pageLayout.tags=merge,composite,single-view,organize
|
||||||
|
|
||||||
home.scalePages.title=Προσαρμογή του μεγέθους/κλίμακας σελίδας
|
home.scalePages.title=Προσαρμογή του μεγέθους/κλίμακας σελίδας
|
||||||
home.scalePages.desc=Αλλαγή του μεγέθους/κλίμακας μίας σελίδας και/η του περιεχομένου της.
|
home.scalePages.desc=Αλλαγή του μεγέθους/κλίμακας μίας σελίδας και/η του περιεχομένου της.
|
||||||
scalePages.tags=μεταβάλλοντας τους διάστασες,ενδιαφέροντες πόροι,παρακμή,μετατύχηση
|
scalePages.tags=resize,modify,dimension,adapt
|
||||||
|
|
||||||
home.pipeline.title=Pipeline (Για προχωρημένους)
|
home.pipeline.title=Pipeline (Για προχωρημένους)
|
||||||
home.pipeline.desc=Εκτέλεση πολλαπλών ενεργειών σε αρχεία PDF ορίζοντας pipeline scripts
|
home.pipeline.desc=Εκτέλεση πολλαπλών ενεργειών σε αρχεία PDF ορίζοντας pipeline scripts
|
||||||
pipeline.tags=αυτόματος κλωστήρας,σειρά,γραμμογραφική,αποδτομή-πακέτων
|
pipeline.tags=automate,sequence,scripted,batch-process
|
||||||
|
|
||||||
home.add-page-numbers.title=Προσθήκη αριθμών σε Σελίδες
|
home.add-page-numbers.title=Προσθήκη αριθμών σε Σελίδες
|
||||||
home.add-page-numbers.desc=Προσθήκη αριθμών σελίδων σε ένα έγγραφο σε μια καθορισμένη θέση
|
home.add-page-numbers.desc=Προσθήκη αριθμών σελίδων σε ένα έγγραφο σε μια καθορισμένη θέση
|
||||||
add-page-numbers.tags=αυτόματη αρίθμηση σελίδων,κατάταξη,διοργάνωση,παραγγελία
|
add-page-numbers.tags=paginate,label,organize,index
|
||||||
|
|
||||||
home.auto-rename.title=Αυτόματη μετονομασία αρχείου PDF
|
home.auto-rename.title=Αυτόματη μετονομασία αρχείου PDF
|
||||||
home.auto-rename.desc=Αυτόματη μετονομασία ενός αρχείου PDF με βάση την κεφαλίδα που έχει εντοπιστεί
|
home.auto-rename.desc=Αυτόματη μετονομασία ενός αρχείου PDF με βάση την κεφαλίδα που έχει εντοπιστεί
|
||||||
auto-rename.tags=αυτόματη αναδεικτική κατατάξη μέσω κεφαλαιών,διοργάνωση,καθαρισμός
|
auto-rename.tags=auto-detect,header-based,organize,relabel
|
||||||
|
|
||||||
home.adjust-contrast.title=Προσαρμογή χρωμάτων/Αντίθεση
|
home.adjust-contrast.title=Προσαρμογή χρωμάτων/Αντίθεση
|
||||||
home.adjust-contrast.desc=Προσαρμογή της αντίθεσης, του κορεσμού και της φωτεινότητας ενός PDF
|
home.adjust-contrast.desc=Προσαρμογή της αντίθεσης, του κορεσμού και της φωτεινότητας ενός PDF
|
||||||
adjust-contrast.tags=καταπολέμηση του συγκρούσεων,ενδιαφέροντας ελέγχο,μεταβάλλοντας για είδη,εξέλιξη
|
adjust-contrast.tags=color-correction,tune,modify,enhance
|
||||||
|
|
||||||
home.crop.title=Περικοπή PDF
|
home.crop.title=Περικοπή PDF
|
||||||
home.crop.desc=Περικοπή ενός PDF για να μειωθεί το μέγεθός του (διατηρεί το κείμενο!)
|
home.crop.desc=Περικοπή ενός PDF για να μειωθεί το μέγεθός του (διατηρεί το κείμενο!)
|
||||||
crop.tags=καταγραφή-καύσης,περικόπτωση,επεξεργασία,forma
|
crop.tags=trim,shrink,edit,shape
|
||||||
|
|
||||||
home.autoSplitPDF.title=Αυτόματος διαχωρισμός σελίδων
|
home.autoSplitPDF.title=Αυτόματος διαχωρισμός σελίδων
|
||||||
home.autoSplitPDF.desc=Αυτόματος διαχωρισμός σαρωμένου PDF με φυσικό σαρωμένο διαχωριστή σελίδων QR Code
|
home.autoSplitPDF.desc=Αυτόματος διαχωρισμός σαρωμένου PDF με φυσικό σαρωμένο διαχωριστή σελίδων QR Code
|
||||||
autoSplitPDF.tags=βάσει QR-code,διχοτομία,ελέγχο-διχοτομία,κλάδωση
|
autoSplitPDF.tags=QR-based,separate,scan-segment,organize
|
||||||
|
|
||||||
home.sanitizePdf.title=Απολύμανση
|
home.sanitizePdf.title=Απολύμανση
|
||||||
home.sanitizePdf.desc=Αφαίρεση σεναρίων και άλλων στοιχείων από αρχεία PDF
|
home.sanitizePdf.desc=Αφαίρεση σεναρίων και άλλων στοιχείων από αρχεία PDF
|
||||||
sanitizePdf.tags=καθαρισμός,διατηρητική,ασφάλεια,προσχώρηση-δυνατότητες
|
sanitizePdf.tags=clean,secure,safe,remove-threats
|
||||||
|
|
||||||
home.URLToPDF.title=URL/Ιστότοπος σε PDF
|
home.URLToPDF.title=URL/Ιστότοπος σε PDF
|
||||||
home.URLToPDF.desc=Μετατροπή οποιαδήποτε διεύθυνσης URL http(s) σε PDF
|
home.URLToPDF.desc=Μετατροπή οποιαδήποτε διεύθυνσης URL http(s) σε PDF
|
||||||
URLToPDF.tags=καταγραφή-Διαδικτύου,θηράω-σεγκένεια,Διαδικτυακό-σε-δοκίμιο,αποθήκευση
|
URLToPDF.tags=web-capture,save-page,web-to-doc,archive
|
||||||
|
|
||||||
home.HTMLToPDF.title=HTML σε PDF
|
home.HTMLToPDF.title=HTML σε PDF
|
||||||
home.HTMLToPDF.desc=Μετατροπή οποιουδήποτε αρχείου HTML ή zip σε PDF
|
home.HTMLToPDF.desc=Μετατροπή οποιουδήποτε αρχείου HTML ή zip σε PDF
|
||||||
HTMLToPDF.tags=μάρκαρι,χρηστήρια-Διαδικτύου,παρασταση,καλύτερο
|
HTMLToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.MarkdownToPDF.title=Markdown σε PDF
|
home.MarkdownToPDF.title=Markdown σε PDF
|
||||||
home.MarkdownToPDF.desc=Μετατροπή οποιουδήποτε αρχείου Markdown σε PDF
|
home.MarkdownToPDF.desc=Μετατροπή οποιουδήποτε αρχείου Markdown σε PDF
|
||||||
MarkdownToPDF.tags=μάρκαρι,χρηστήρια-Διαδικτύου,παρασταση,καλύτερο
|
MarkdownToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.getPdfInfo.title=Λήψη όλων των πληροφοριών από το PDF
|
home.getPdfInfo.title=Λήψη όλων των πληροφοριών από το PDF
|
||||||
home.getPdfInfo.desc=Λήψη όλων των πιθανών πληροφοριών από τα αρχεία PDF
|
home.getPdfInfo.desc=Λήψη όλων των πιθανών πληροφοριών από τα αρχεία PDF
|
||||||
getPdfInfo.tags=πληροφορίες,δεδομένα,στατιστικά,πληθυσμός
|
getPdfInfo.tags=infomation,data,stats,statistics
|
||||||
|
|
||||||
|
|
||||||
home.extractPage.title=Εξαγωγή σελίδων
|
home.extractPage.title=Εξαγωγή σελίδων
|
||||||
home.extractPage.desc=Εξαγωγή των επιλεγμένων σελίδων από ένα PDF
|
home.extractPage.desc=Εξαγωγή των επιλεγμένων σελίδων από ένα PDF
|
||||||
extractPage.tags=αποδιατύπωση
|
extractPage.tags=extract
|
||||||
|
|
||||||
|
|
||||||
home.PdfToSinglePage.title=PDF σε μία μεγάλη σελίδα
|
home.PdfToSinglePage.title=PDF σε μία μεγάλη σελίδα
|
||||||
home.PdfToSinglePage.desc=Συγχώνευση όλων των σελίδων PDF σε μια μεγάλη σελίδα
|
home.PdfToSinglePage.desc=Συγχώνευση όλων των σελίδων PDF σε μια μεγάλη σελίδα
|
||||||
PdfToSinglePage.tags=για-μία-σελίδα
|
PdfToSinglePage.tags=single page
|
||||||
|
|
||||||
|
|
||||||
home.showJS.title=Εμφάνιση Javascript
|
home.showJS.title=Εμφάνιση Javascript
|
||||||
@@ -470,29 +467,29 @@ showJS.tags=JS
|
|||||||
|
|
||||||
home.autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
|
home.autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
|
||||||
home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής
|
home.autoRedact.desc=Αυτόματη επεξεργασία (Μαύρισμα) κείμενου σε PDF με βάση το κείμενο εισαγωγής
|
||||||
autoRedact.tags=ξεκράζω,φυλακίζω,εικόνο-κουπές,κρατήστε ασφαλείς,δημιουργήστε
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF σε CSV
|
home.tableExtraxt.title=PDF σε CSV
|
||||||
home.tableExtraxt.desc=Εξάγει πίνακες από PDF μετατρέποντάς το σε CSV
|
home.tableExtraxt.desc=Εξάγει πίνακες από PDF μετατρέποντάς το σε CSV
|
||||||
tableExtraxt.tags=CSV,καταθέσεις-τάβλες,αποδιατύπωση,μετατροπή
|
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=Αυτόματη διαίρεση κατά μέγεθος/πλήθος
|
home.autoSizeSplitPDF.title=Αυτόματη διαίρεση κατά μέγεθος/πλήθος
|
||||||
home.autoSizeSplitPDF.desc=Διαχωρίστε ένα μόνο PDF σε πολλά έγγραφα με βάση το μέγεθος, τον αριθμό σελίδων ή τον αριθμό εγγράφων
|
home.autoSizeSplitPDF.desc=Διαχωρίστε ένα μόνο PDF σε πολλά έγγραφα με βάση το μέγεθος, τον αριθμό σελίδων ή τον αριθμό εγγράφων
|
||||||
autoSizeSplitPDF.tags=pdf,διαχωρισμός,γραμμακτής,διορθώσεις-κάντε
|
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=Επικάλυψη PDFs
|
home.overlay-pdfs.title=Επικάλυψη PDFs
|
||||||
home.overlay-pdfs.desc=Επικαλύπτει αρχεία PDF πάνω σε άλλο PDF
|
home.overlay-pdfs.desc=Επικαλύπτει αρχεία PDF πάνω σε άλλο PDF
|
||||||
overlay-pdfs.tags=πλέξη-πDFs
|
overlay-pdfs.tags=Overlay
|
||||||
|
|
||||||
home.split-by-sections.title=Διαχωρισμός PDF ανά ενότητες
|
home.split-by-sections.title=Διαχωρισμός PDF ανά ενότητες
|
||||||
home.split-by-sections.desc=Διαχωρίστε κάθε σελίδα ενός PDF σε μικρότερες οριζόντιες και κάθετες ενότητες
|
home.split-by-sections.desc=Διαχωρίστε κάθε σελίδα ενός PDF σε μικρότερες οριζόντιες και κάθετες ενότητες
|
||||||
split-by-sections.tags=διχοτομία-διεργασίες,διεργασίες,κρατήστε
|
split-by-sections.tags=Section Split, Divide, Customize
|
||||||
|
|
||||||
home.AddStampRequest.title=Προσθήκη σφραγίδας σε PDF
|
home.AddStampRequest.title=Προσθήκη σφραγίδας σε PDF
|
||||||
home.AddStampRequest.desc=Προσθέστε κείμενο ή προσθέστε σφραγίδες εικόνας σε καθορισμένες τοποθεσίες
|
home.AddStampRequest.desc=Προσθέστε κείμενο ή προσθέστε σφραγίδες εικόνας σε καθορισμένες τοποθεσίες
|
||||||
AddStampRequest.tags=κάντε-πίνακα,πρόσθεση-εικόνας,κέντρο-εικόνας,χαμυλόχατο,PDF,βάζω-δείγμα,κρατήστε
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF σε Book
|
home.PDFToBook.title=PDF σε Book
|
||||||
@@ -503,33 +500,33 @@ home.BookToPDF.title=Book σε PDF
|
|||||||
home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre
|
home.BookToPDF.desc=Μετατρέπει τις μορφές Books/Comics σε PDF χρησιμοποιώντας calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Αφαίρεση εικόνας
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Αφαίρεση εικόνας από το PDF για να μειώσετε το μέγεθος του αρχείου
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Αφαίρεση-Εικόνας,Πράξεις-Σελίδας,ύπαρξη-τμήματος,πλην-δυναμική
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Διχοτομία PDF ανά Περιγραφές
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=διχοτομία,περιγραφές,κεφάλαια,συνορία
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Αντικατάσταση-Αντίστροφη Παθωμένη Πίντσουρ
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Αντικατάσταση χρώματος για το πεδίο κειμένου και απόχρωμη έκθεση PDF για μείωση μεγέθους αρχείου
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Αντικατάσταση χρώματος, Διαδικασίες σελίδας, Μέσω πληροφόρησης, Από την εσωτερική
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Επιλογές αντικατάστασης-Αντίστροφης χρώματος
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Προεπιλογή (Χαράκτηρες υψηλής αντιδιαβάσιμότητας)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Εξαιρετικό (Προσωπικές επιλογές χρώματος)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Αντίστροφη Παθωμένη (Αντίστροφη αντικατάσταση όλων των πχώματος)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Επιλογές υψηλής αντιδιαβάσιμότητας
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Χρίστος το πεδίο κειμένου σε μαύρη οπτική
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Μαύρο το πεδίο κειμένου σε χλωρό οπτική
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Ευτυχισμένο το πεδίο κειμένου σε μαύρη οπτική
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Χλωροφαίνοντος το πεδίο κειμένου σε μαύρη οπτική
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Επιλογή χρώματος του κειμένου
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Επιλογή απόχρωμης οπτικής
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Αντικατάσταση
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=Ο λογαριασμός σας έχει κλειδωθεί.
|
|||||||
login.signinTitle=Παρακαλώ, συνδεθείτε
|
login.signinTitle=Παρακαλώ, συνδεθείτε
|
||||||
login.ssoSignIn=Σύνδεση μέσω μοναδικής σύνδεσης
|
login.ssoSignIn=Σύνδεση μέσω μοναδικής σύνδεσης
|
||||||
login.oauth2AutoCreateDisabled=Απενεργοποιήθηκε ο χρήστης αυτόματης δημιουργίας OAUTH2
|
login.oauth2AutoCreateDisabled=Απενεργοποιήθηκε ο χρήστης αυτόματης δημιουργίας OAUTH2
|
||||||
login.oauth2AdminBlockedUser=Η εγγραφή και το πληκτρολόγημα ανθρώπων με όχι εγγραμμένες λογισμικές αρχίζουν να είναι ορισμένες τοποθετήσεις. Παρακαλώ στείλτε μια ισχυρά παραίτηση στον διοικητή.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Απαιτήσεις πληροφόρησης χρήστη ανακαλύψτηκαν μη έχουν βρεθεί
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=Απάντηση μεμονωμένων πληροφοριών χρήστη αποδείξτηκε άγνωστη
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=Αρχαίως απαιτήσεις πληροφοριών χρήστη
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=Πρόσβαση ορισμένες τοποθετήσεις
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=Απάντηση άρκετο ρόταμα
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=Λιδός όρκου μη αρκετός
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=Ο χρήστης είναι δευτεροβαθμιακά διακωμένος, το σύστημα άλλαξε τον καθώς βρεθεί. Παρακαλείστε τους αρχηγούς να επιβεβαιώσουν τη συμπεριφορά χρήστη.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Είστε ήδη σύνδεδες σε
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=κατοχόι. Παρακαλώ δυσκέντρωση τους και προσπαθήστε ξανά.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Έχετε πολλές εγγραφές σε βίτιο μέση
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
|
autoRedact.title=Αυτόματο Μαύρισμα Κειμένου
|
||||||
@@ -568,7 +565,7 @@ autoRedact.textsToRedactLabel=Κείμενο για μαύρισμα (διαχω
|
|||||||
autoRedact.textsToRedactPlaceholder=π.χ. \nΕμπιστευτικό \nΑκρώς απόρρητο
|
autoRedact.textsToRedactPlaceholder=π.χ. \nΕμπιστευτικό \nΑκρώς απόρρητο
|
||||||
autoRedact.useRegexLabel=Χρήση Regex
|
autoRedact.useRegexLabel=Χρήση Regex
|
||||||
autoRedact.wholeWordSearchLabel=Αναζήτηση ολόκληρης της λέξης
|
autoRedact.wholeWordSearchLabel=Αναζήτηση ολόκληρης της λέξης
|
||||||
autoRedact.customPaddingLabel=Εμπνευσμένη Προσθήκη Ανάκρισης
|
autoRedact.customPaddingLabel=Custom Extra Padding
|
||||||
autoRedact.convertPDFToImageLabel=Μετατροπή PDF σε PDF-Εικόνα (Χρησιμοποιείται για την αφαίρεση κειμένου πίσω από το πλαίσιο)
|
autoRedact.convertPDFToImageLabel=Μετατροπή PDF σε PDF-Εικόνα (Χρησιμοποιείται για την αφαίρεση κειμένου πίσω από το πλαίσιο)
|
||||||
autoRedact.submitButton=Υποβολή
|
autoRedact.submitButton=Υποβολή
|
||||||
|
|
||||||
@@ -634,7 +631,7 @@ HTMLToPDF.defaultHeader=Ενεργοποίηση προεπιλεγμένης κ
|
|||||||
HTMLToPDF.cssMediaType=Αλλάξτε τον τύπο μέσων (media type )CSS της σελίδας.
|
HTMLToPDF.cssMediaType=Αλλάξτε τον τύπο μέσων (media type )CSS της σελίδας.
|
||||||
HTMLToPDF.none=Κανένα
|
HTMLToPDF.none=Κανένα
|
||||||
HTMLToPDF.print=Εκτύπωσε
|
HTMLToPDF.print=Εκτύπωσε
|
||||||
HTMLToPDF.screen=Ορόσκοπος
|
HTMLToPDF.screen=Screen
|
||||||
|
|
||||||
|
|
||||||
#AddStampRequest
|
#AddStampRequest
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Υποβολή
|
|||||||
scalePages.title=Προσαρμογή κλίμακας σελίδας
|
scalePages.title=Προσαρμογή κλίμακας σελίδας
|
||||||
scalePages.header=Προσαρμογή κλίμακας σελίδας
|
scalePages.header=Προσαρμογή κλίμακας σελίδας
|
||||||
scalePages.pageSize=Μέγεθος μιας σελίδας του εγγράφου.
|
scalePages.pageSize=Μέγεθος μιας σελίδας του εγγράφου.
|
||||||
scalePages.keepPageSize=Τροποποίηση με ευθύγειες γραμμές
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Επίπεδο ζουμ (περικοπή) σελίδας.
|
scalePages.scaleFactor=Επίπεδο ζουμ (περικοπή) σελίδας.
|
||||||
scalePages.submit=Υποβολή
|
scalePages.submit=Υποβολή
|
||||||
|
|
||||||
@@ -753,15 +750,14 @@ certSign.showSig=Εμφάνιση Υπογραφής
|
|||||||
certSign.reason=Αιτία
|
certSign.reason=Αιτία
|
||||||
certSign.location=Τοποθεσία
|
certSign.location=Τοποθεσία
|
||||||
certSign.name=Όνομα
|
certSign.name=Όνομα
|
||||||
certSign.showLogo=Προειδοποίηση Παρόχου
|
|
||||||
certSign.submit=Υπογραφή PDF
|
certSign.submit=Υπογραφή PDF
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Αφαίρεση Αντικειμένων Τυπογραφίας Τομβής
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=Αφαίρεση της πληροφόρησης όρκου από το PDF
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=Επιλέξτε ένα αρχείο PDF:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Αφαιρέστε την ψήφιση
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Κατάργηση
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Σύγκριση
|
compare.title=Σύγκριση
|
||||||
compare.header=Σύγκριση PDFs
|
compare.header=Σύγκριση PDFs
|
||||||
compare.highlightColor.1=Μάσκα Εμφανισμού 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Μάσκα Εμφανισμού 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Έγγραφο 1
|
compare.document.1=Έγγραφο 1
|
||||||
compare.document.2=Έγγραφο 2
|
compare.document.2=Έγγραφο 2
|
||||||
compare.submit=Σύγκριση
|
compare.submit=Σύγκριση
|
||||||
compare.complex.message=Ένα ή τα δίπλα αποδεκτής χαρτογράφημα είναι μεγάλο, η πραγματικότητα αναζήτησης μπορεί να εξαβλύσει τη συγκρίση
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Ένα ή τα δίπλα αποδεκτής χαρτογράφημα είναι πολύ μεγάλο για να εξυπηρετήσει
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=ένα ή τα δίπλα αποδεκτής χαρτογράφημα δεν περιέχουν κείμενο. Παρακαλώ επιλέξτε PDF με κείμενο για σύγκριση.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Books και Comics σε PDF
|
BookToPDF.title=Books και Comics σε PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Σχεδίαση υπογραφής
|
|||||||
sign.text=Εισαγωγή κειμένου
|
sign.text=Εισαγωγή κειμένου
|
||||||
sign.clear=Καθάρισμα
|
sign.clear=Καθάρισμα
|
||||||
sign.add=Προσθήκη
|
sign.add=Προσθήκη
|
||||||
sign.saved=Αποθηκευμένες Αλιάσιδες
|
sign.saved=Saved Signatures
|
||||||
sign.save=Αποθήκευση Αλιάσης
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Προσωπικές Αλιάσεις
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Μεταδότες Αλιάσεις
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Δεν βρέθηκαν αποθηκευμένες αλιάσεις
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -827,10 +823,10 @@ repair.submit=Επιδιόρθωση
|
|||||||
|
|
||||||
|
|
||||||
#flatten
|
#flatten
|
||||||
flatten.title=Φιλοξένηση
|
flatten.title=Flatten
|
||||||
flatten.header=Flatten PDFs
|
flatten.header=Flatten PDFs
|
||||||
flatten.flattenOnlyForms=Φιλοξενήστε μόνο τα φόρμαδα
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=Φιλοξένηση
|
flatten.submit=Flatten
|
||||||
|
|
||||||
|
|
||||||
#ScannerImageSplit
|
#ScannerImageSplit
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Ελάχιστη επιφάνεια περιγρ
|
|||||||
ScannerImageSplit.selectText.8=Ρυθμίζει το ελάχιστο όριο περιγράμματος για μια φωτογραφία
|
ScannerImageSplit.selectText.8=Ρυθμίζει το ελάχιστο όριο περιγράμματος για μια φωτογραφία
|
||||||
ScannerImageSplit.selectText.9=Μέγεθος περιγράμματος:
|
ScannerImageSplit.selectText.9=Μέγεθος περιγράμματος:
|
||||||
ScannerImageSplit.selectText.10=Ορίζει το μέγεθος του περιγράμματος που προστίθεται και αφαιρείται για να αποτρέπονται λευκά περιγράμματα στην έξοδο (προεπιλογή: 1).
|
ScannerImageSplit.selectText.10=Ορίζει το μέγεθος του περιγράμματος που προστίθεται και αφαιρείται για να αποτρέπονται λευκά περιγράμματα στην έξοδο (προεπιλογή: 1).
|
||||||
ScannerImageSplit.info=Δεν είναι ιστάμενος Python. Είναι απαιτήτων για τη λειτουργία.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Επεξεργασία PDF με OCR
|
|||||||
extractImages.title=Εξαγωγή Εικόνων
|
extractImages.title=Εξαγωγή Εικόνων
|
||||||
extractImages.header=Εξαγωγή Εικόνων
|
extractImages.header=Εξαγωγή Εικόνων
|
||||||
extractImages.selectText=Επιλέξτε μορφή εικόνας για να μετατρέψετε τις εξαγόμενες εικόνες
|
extractImages.selectText=Επιλέξτε μορφή εικόνας για να μετατρέψετε τις εξαγόμενες εικόνες
|
||||||
extractImages.allowDuplicates=Αποθήκευση εικόνων που μπορούν να είναι ίδιες
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Εξαγωγή
|
extractImages.submit=Εξαγωγή
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Εξαγωγή
|
|||||||
fileToPDF.title=Αρχείο σε PDF
|
fileToPDF.title=Αρχείο σε PDF
|
||||||
fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF
|
fileToPDF.header=Μετατροπή οποιουδήποτε αρχείου σε PDF
|
||||||
fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων.
|
fileToPDF.credit=Αυτή η υπηρεσία χρησιμοποιεί LibreOffice και Unoconv για την μετατροπή των αρχείων.
|
||||||
fileToPDF.supportedFileTypesInfo=Υποστηριζόμενα αρχεία
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice
|
fileToPDF.supportedFileTypes=Οι υποστηριζόμενοι τύποι αρχείων θα πρέπει να περιλαμβάνουν τα παρακάτω, ωστόσο, για μια πλήρη ενημερωμένη λίστα με τις υποστηριζόμενες μορφές, ανατρέξτε στην τεκμηρίωση του LibreOffice
|
||||||
fileToPDF.submit=Μετατροπή σε PDF
|
fileToPDF.submit=Μετατροπή σε PDF
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Συγχώνευση
|
|||||||
merge.header=Συγχώνευση πολλαπλών PDFs (2+)
|
merge.header=Συγχώνευση πολλαπλών PDFs (2+)
|
||||||
merge.sortByName=Ταξινόμηση με βάση το Όνομα
|
merge.sortByName=Ταξινόμηση με βάση το Όνομα
|
||||||
merge.sortByDate=Ταξινόμηση με βάση την Ημερομηνία
|
merge.sortByDate=Ταξινόμηση με βάση την Ημερομηνία
|
||||||
merge.removeCertSign=Επιλογή για τη μέριξη δικαιωμάτων σημείους σημάδους; Αφαίρεση ηλεκτρονικών πρόσβασης από το συγχέωνται αρχείο?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Συγχώνευση
|
merge.submit=Συγχώνευση
|
||||||
|
|
||||||
|
|
||||||
@@ -917,35 +913,24 @@ merge.submit=Συγχώνευση
|
|||||||
pdfOrganiser.title=Διοργανωτής σελίδας
|
pdfOrganiser.title=Διοργανωτής σελίδας
|
||||||
pdfOrganiser.header=Διοργανωτής σελίδας PDF
|
pdfOrganiser.header=Διοργανωτής σελίδας PDF
|
||||||
pdfOrganiser.submit=Αναδιάταξη σελίδων
|
pdfOrganiser.submit=Αναδιάταξη σελίδων
|
||||||
pdfOrganiser.mode=Τύπος
|
pdfOrganiser.mode=Mode
|
||||||
pdfOrganiser.mode.1=Προσαρμοσμένη Σειρά Σελίδας
|
pdfOrganiser.mode.1=Προσαρμοσμένη Σειρά Σελίδας
|
||||||
pdfOrganiser.mode.2=Αντίστροφη Σειρά
|
pdfOrganiser.mode.2=Αντίστροφη Σειρά
|
||||||
pdfOrganiser.mode.3=Ταξινόμηση Διπλής Όψης (Duplex Sort)
|
pdfOrganiser.mode.3=Ταξινόμηση Διπλής Όψης (Duplex Sort)
|
||||||
pdfOrganiser.mode.4=Ταξινόμηση Φυλλαδίου (Booklet Sort)
|
pdfOrganiser.mode.4=Ταξινόμηση Φυλλαδίου (Booklet Sort)
|
||||||
pdfOrganiser.mode.5=Πλάσμα Σεπτιμερή Λεφτοδυοκόσμου
|
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||||
pdfOrganiser.mode.6=Διαίρεση Μονού-Ζυγού
|
pdfOrganiser.mode.6=Διαίρεση Μονού-Ζυγού
|
||||||
pdfOrganiser.mode.7=Αφαίρεση Πρώτου
|
pdfOrganiser.mode.7=Αφαίρεση Πρώτου
|
||||||
pdfOrganiser.mode.8=Αφαίρεση Τελευταίου
|
pdfOrganiser.mode.8=Αφαίρεση Τελευταίου
|
||||||
pdfOrganiser.mode.9=Αφαίρεση Πρώτου και Τελευταίου
|
pdfOrganiser.mode.9=Αφαίρεση Πρώτου και Τελευταίου
|
||||||
pdfOrganiser.mode.10=Περίπτωση Τυχαίου Μέριξης
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(π.χ. 1,3,2 ή 4-8,2,10-12 ή 2n-1)
|
pdfOrganiser.placeholder=(π.χ. 1,3,2 ή 4-8,2,10-12 ή 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=PDF Πολυεργαλείο
|
multiTool.title=PDF Πολυεργαλείο
|
||||||
multiTool.header=PDF Πολυεργαλείο
|
multiTool.header=PDF Πολυεργαλείο
|
||||||
multiTool.uploadPrompts=Όνομα αρχείου
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Προβολή PDF
|
viewPdf.title=Προβολή PDF
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Χρώμα
|
|||||||
pdfToImage.grey=Κλίμακα του γκρι
|
pdfToImage.grey=Κλίμακα του γκρι
|
||||||
pdfToImage.blackwhite=Ασπρόμαυρο (Μπορεί να χαθούν δεδομένα!)
|
pdfToImage.blackwhite=Ασπρόμαυρο (Μπορεί να χαθούν δεδομένα!)
|
||||||
pdfToImage.submit=Μετατροπή
|
pdfToImage.submit=Μετατροπή
|
||||||
pdfToImage.info=Δεν είναι ιστάμενος Python. Είναι απαιτήτων για τη μετατροπή σε WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,7 +1029,7 @@ watermark.selectText.6=heightSpacer (Κενό μεταξύ κάθε υδατογ
|
|||||||
watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%):
|
watermark.selectText.7=Αδιαφάνεια (Opacity) (0% - 100%):
|
||||||
watermark.selectText.8=Τύπος Υδατογραφήματος:
|
watermark.selectText.8=Τύπος Υδατογραφήματος:
|
||||||
watermark.selectText.9=Εικόνα Υδατογραφήματος:
|
watermark.selectText.9=Εικόνα Υδατογραφήματος:
|
||||||
watermark.selectText.10=Μετατροπή PDF σε PDF-Image
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Προσθήκη Υδατογραφήματος
|
watermark.submit=Προσθήκη Υδατογραφήματος
|
||||||
watermark.type.1=Κείμενο
|
watermark.type.1=Κείμενο
|
||||||
watermark.type.2=Εικόνα
|
watermark.type.2=Εικόνα
|
||||||
@@ -1088,7 +1073,7 @@ changeMetadata.keywords=Λέξεις-κλειδιά:
|
|||||||
changeMetadata.modDate=Ημερομηνία Τροποποίησης (yyyy/MM/dd HH:mm:ss):
|
changeMetadata.modDate=Ημερομηνία Τροποποίησης (yyyy/MM/dd HH:mm:ss):
|
||||||
changeMetadata.producer=Παραγωγός:
|
changeMetadata.producer=Παραγωγός:
|
||||||
changeMetadata.subject=Θέμα:
|
changeMetadata.subject=Θέμα:
|
||||||
changeMetadata.trapped=Τυχόν Περίκλειση:
|
changeMetadata.trapped=Trapped:
|
||||||
changeMetadata.selectText.4=Άλλα μεταδεδομένα:
|
changeMetadata.selectText.4=Άλλα μεταδεδομένα:
|
||||||
changeMetadata.selectText.5=Προσθήκη εγγραφής προσαρμοσμένων μεταδεδομένων
|
changeMetadata.selectText.5=Προσθήκη εγγραφής προσαρμοσμένων μεταδεδομένων
|
||||||
changeMetadata.submit=Αλλαγή
|
changeMetadata.submit=Αλλαγή
|
||||||
@@ -1100,8 +1085,8 @@ pdfToPDFA.header=PDF σε PDF/A
|
|||||||
pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί ghostscript για PDF/A μετατροπή
|
pdfToPDFA.credit=Αυτή η υπηρεσία χρησιμοποιεί ghostscript για PDF/A μετατροπή
|
||||||
pdfToPDFA.submit=Μετατροπή
|
pdfToPDFA.submit=Μετατροπή
|
||||||
pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα
|
pdfToPDFA.tip=Προς το παρόν δεν λειτουργεί για πολλαπλές εισόδους ταυτόχρονα
|
||||||
pdfToPDFA.outputFormat=Εξόδος αναμορφώσεων
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=Το PDF περιέχει ηλεκτρονική ψηφιακή υπογραφή. Αυτό θα αφαιρεθεί στο επόμενο βήμα.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1170,8 +1155,8 @@ overlay-pdfs.mode.fixedRepeat=Διορθώθηκε η Επικάλυψη Επα
|
|||||||
overlay-pdfs.counts.label=Μετρήσεις επικάλυψης (για σταθερή λειτουργία επανάληψης)
|
overlay-pdfs.counts.label=Μετρήσεις επικάλυψης (για σταθερή λειτουργία επανάληψης)
|
||||||
overlay-pdfs.counts.placeholder=Εισαγάγετε μετρήσεις διαχωρισμένες με κόμματα (π.χ. 2,3,1)
|
overlay-pdfs.counts.placeholder=Εισαγάγετε μετρήσεις διαχωρισμένες με κόμματα (π.χ. 2,3,1)
|
||||||
overlay-pdfs.position.label=Επιλέξτε Θέση Επικάλυψης
|
overlay-pdfs.position.label=Επιλέξτε Θέση Επικάλυψης
|
||||||
overlay-pdfs.position.foreground=Προσκήνιο
|
overlay-pdfs.position.foreground=Foreground
|
||||||
overlay-pdfs.position.background=фондо
|
overlay-pdfs.position.background=Background
|
||||||
overlay-pdfs.submit=Υποβολή
|
overlay-pdfs.submit=Υποβολή
|
||||||
|
|
||||||
|
|
||||||
@@ -1187,31 +1172,31 @@ split-by-sections.merge=Συγχώνευση σε ένα PDF
|
|||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=Εκτύπωση Αρχείου
|
printFile.title=Print File
|
||||||
printFile.header=Εκτύπωση Αρχείου σε Εκτυπωτή
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=Επιλογή Αρχείου για Εκτύπωση
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=Εισάγετε το όνομα του εκτυπωτή
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=Εκτύπωση
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
licenses.nav=Άδειες
|
licenses.nav=Άδειες
|
||||||
licenses.title=3rd Party Άδειες
|
licenses.title=3rd Party Άδειες
|
||||||
licenses.header=3rd Party Άδειες
|
licenses.header=3rd Party Άδειες
|
||||||
licenses.module=Μόδουλο
|
licenses.module=Module
|
||||||
licenses.version=Εκδοχή
|
licenses.version=Εκδοχή
|
||||||
licenses.license=Άδεια
|
licenses.license=Άδεια
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Έρευνα
|
survey.nav=Survey
|
||||||
survey.title=Περιεχόμενο Έρευνας Stirling-PDF
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=Η Stirling-PDF δεν επηρεάζεται από τη μετακίνηση. Ελπίζουμε πως θα συμμεριζόμαστε για να βελτιώσουμε τη Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=Αφού κάποιες αλλαγές στην Stirling-PDF, θα πρόκειται να εξετάσουμε με τρόπου πιο συγκεκριμένο αυτά. Αναχαίτιζε την ελέγχωσή τους!
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Με αυτές τις αλλαγές, συμπεριλαμβάνονται και οι δομοφόνια χρηματοδότησης και εκπομπής
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(Το παράθυρο ερεύνησης θα απενεργοποιηθεί σε μελλοντικές ενημερώσεις, αλλά θα παρουσιάζεται στο τέλος της διαδικασίας)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Παίρνω μερίδα στην ερεύνα
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Δεν απεικονίζεται ξανά
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - Υποβάλετε ένα Support post
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Αφαίρεση εικόνας
|
removeImage.title=Remove image
|
||||||
removeImage.header=Αφαίρεση εικόνας
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Αφαίρεση εικόνας
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Αποθέτει την εικόνα
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Χωρίστε το PDF με βάση τα κεφάλαια
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Χωρίστε το PDF με βάση τα κεφάλαια
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Επίπεδο Σήμανσης Σκέψης
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Πρόσθεση Metadata
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Διάλυση Παρόντων Τίτλων Επιπέδου
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Αυτή η εργαλείο χωρίζει το PDF αρχείο σε πολλά PDF βάση της καθορισμένης δομής του κεφαλαιώδους.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Επίπεδο Σήμανσης Σκέψης: Επιλέξτε το επίπεδο σήμανσης σκέψης που να χρησιμοποιηθεί για τη διάλυση (0 για το κύριο επίπεδο, 1 για το δεύτερο επίπεδο κλπ.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Πρόσθεση Metadata: Αν επεξεργαστείται, οι αρχικές metadata του PDF θα προστεθούν σε κάθε διαλυμένο PDF.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Διάλυση Παρόντων Τίτλων Επιπέδου: Αν επεξεργαστείται, επιτρέπει τη δημιουργία αποκοπών PDF με βάση πλήρως καθορισμένους σήμαντες έδρας.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Διαλύστε το PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Languages
|
|||||||
navbar.settings=Settings
|
navbar.settings=Settings
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tool
|
navbar.multiTool=Multi Tool
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organize
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.convertTo=Convert to PDF
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertFrom=Convert from PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed to import file
|
database.failedImportFile=Failed to import file
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -935,17 +932,6 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
|||||||
multiTool.title=PDF Multi Tool
|
multiTool.title=PDF Multi Tool
|
||||||
multiTool.header=PDF Multi Tool
|
multiTool.header=PDF Multi Tool
|
||||||
multiTool.uploadPrompts=File Name
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=View PDF
|
viewPdf.title=View PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Languages
|
|||||||
navbar.settings=Settings
|
navbar.settings=Settings
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tool
|
navbar.multiTool=Multi Tool
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organize
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.convertTo=Convert to PDF
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertFrom=Convert from PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -935,17 +932,6 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
|||||||
multiTool.title=PDF Multi Tool
|
multiTool.title=PDF Multi Tool
|
||||||
multiTool.header=PDF Multi Tool
|
multiTool.header=PDF Multi Tool
|
||||||
multiTool.uploadPrompts=File Name
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=View PDF
|
viewPdf.title=View PDF
|
||||||
|
|||||||
@@ -75,13 +75,12 @@ visitGithub=Visitar Repositorio de Github
|
|||||||
donate=Donar
|
donate=Donar
|
||||||
color=Color
|
color=Color
|
||||||
sponsor=Patrocinador
|
sponsor=Patrocinador
|
||||||
info=Información
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Página
|
page=Página
|
||||||
pages=Páginas
|
pages=Páginas
|
||||||
loading=Cargando...
|
loading=Loading...
|
||||||
addToDoc=Agregar al Documento
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Política de Privacidad
|
legal.privacy=Política de Privacidad
|
||||||
legal.terms=Términos y Condiciones
|
legal.terms=Términos y Condiciones
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Idiomas
|
|||||||
navbar.settings=Configuración
|
navbar.settings=Configuración
|
||||||
navbar.allTools=Herramientas
|
navbar.allTools=Herramientas
|
||||||
navbar.multiTool=Multi herramientas
|
navbar.multiTool=Multi herramientas
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizar
|
navbar.sections.organize=Organizar
|
||||||
navbar.sections.convertTo=Convertir a PDF
|
navbar.sections.convertTo=Convertir a PDF
|
||||||
navbar.sections.convertFrom=Convertir desde PDF
|
navbar.sections.convertFrom=Convertir desde PDF
|
||||||
navbar.sections.security=Señalización y seguridad
|
navbar.sections.security=Señalización y seguridad
|
||||||
navbar.sections.advance=Avanzado
|
navbar.sections.advance=Avanzado
|
||||||
navbar.sections.edit=Ver y Editar
|
navbar.sections.edit=Ver y Editar
|
||||||
navbar.sections.popular=Populares
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=El archivo no debe ser nulo o vacío.
|
|||||||
database.failedImportFile=Archivo de importación fallido
|
database.failedImportFile=Archivo de importación fallido
|
||||||
|
|
||||||
session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo.
|
session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -548,7 +545,7 @@ login.locked=Su cuenta se ha bloqueado.
|
|||||||
login.signinTitle=Por favor, inicie sesión
|
login.signinTitle=Por favor, inicie sesión
|
||||||
login.ssoSignIn=Iniciar sesión a través del inicio de sesión único
|
login.ssoSignIn=Iniciar sesión a través del inicio de sesión único
|
||||||
login.oauth2AutoCreateDisabled=Usuario de creación automática de OAUTH2 DESACTIVADO
|
login.oauth2AutoCreateDisabled=Usuario de creación automática de OAUTH2 DESACTIVADO
|
||||||
login.oauth2AdminBlockedUser=El registro o inicio de sesión de usuarios no registrados está actualmente bloqueado. Por favor, contáctese con el administrador.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Solicitud de autorización no encontrada
|
login.oauth2RequestNotFound=Solicitud de autorización no encontrada
|
||||||
login.oauth2InvalidUserInfoResponse=Respuesta de información de usuario no válida
|
login.oauth2InvalidUserInfoResponse=Respuesta de información de usuario no válida
|
||||||
login.oauth2invalidRequest=Solicitud no válida
|
login.oauth2invalidRequest=Solicitud no válida
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Mostrar firma
|
|||||||
certSign.reason=Razón
|
certSign.reason=Razón
|
||||||
certSign.location=Ubicación
|
certSign.location=Ubicación
|
||||||
certSign.name=Nombre
|
certSign.name=Nombre
|
||||||
certSign.showLogo=Mostrar Logotipo
|
|
||||||
certSign.submit=Firmar PDF
|
certSign.submit=Firmar PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Color resaltado 2:
|
|||||||
compare.document.1=Documento 1
|
compare.document.1=Documento 1
|
||||||
compare.document.2=Documento 2
|
compare.document.2=Documento 2
|
||||||
compare.submit=Comparar
|
compare.submit=Comparar
|
||||||
compare.complex.message=Uno o ambos de los documentos proporcionados son archivos grandes; la precisión de la comparación puede disminuir.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Uno o ambos de los documentos proporcionados son demasiado grandes para procesarse.
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Uno o ambos de los PDF seleccionados no contienen contenido de texto. Por favor, elija PDFs con texto para la comparación.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Libros y Cómics a PDF
|
BookToPDF.title=Libros y Cómics a PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Dibujar firma
|
|||||||
sign.text=Entrada de texto
|
sign.text=Entrada de texto
|
||||||
sign.clear=Borrar
|
sign.clear=Borrar
|
||||||
sign.add=Agregar
|
sign.add=Agregar
|
||||||
sign.saved=firmas guardadas
|
sign.saved=Saved Signatures
|
||||||
sign.save=Guardar Firma
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Firmas Personales
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Firmas compartidas
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=No se encontraron firmas guardadas
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(por ej., 1,3,2 o 4-8,2,10-12 o 2n-1)
|
|||||||
multiTool.title=Multi-herramienta PDF
|
multiTool.title=Multi-herramienta PDF
|
||||||
multiTool.header=Multi-herramienta PDF
|
multiTool.header=Multi-herramienta PDF
|
||||||
multiTool.uploadPrompts=Nombre del archivo
|
multiTool.uploadPrompts=Nombre del archivo
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Ver PDF
|
viewPdf.title=Ver PDF
|
||||||
@@ -1148,7 +1133,7 @@ PDFToCSV.prompt=Elija una página para extraer la tabla
|
|||||||
PDFToCSV.submit=Extraer
|
PDFToCSV.submit=Extraer
|
||||||
|
|
||||||
#split-by-size-or-count
|
#split-by-size-or-count
|
||||||
split-by-size-or-count.title=Dividir PDF por tamaño o cantidad
|
split-by-size-or-count.title=Split PDF by Size or Count
|
||||||
split-by-size-or-count.header=Dividir PDF por tamaño o número
|
split-by-size-or-count.header=Dividir PDF por tamaño o número
|
||||||
split-by-size-or-count.type.label=Seleccionar tipo de división
|
split-by-size-or-count.type.label=Seleccionar tipo de división
|
||||||
split-by-size-or-count.type.size=Por tamaño
|
split-by-size-or-count.type.size=Por tamaño
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=Licencia
|
|||||||
survey.nav=Encuesta
|
survey.nav=Encuesta
|
||||||
survey.title=Encuesta Stirling-PDF
|
survey.title=Encuesta Stirling-PDF
|
||||||
survey.description=Stirling-PDF no tiene seguimiento, por lo que queremos escuchar a nuestros usuarios para mejorar Stirling-PDF.
|
survey.description=Stirling-PDF no tiene seguimiento, por lo que queremos escuchar a nuestros usuarios para mejorar Stirling-PDF.
|
||||||
survey.changes=Stirling-PDF ha cambiado desde la última encuesta! Para obtener más información, revise nuestro artículo de blog aquí:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Con estos cambios estamos obteniendo apoyo y financiamiento empresarial
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=¡Considere realizar nuestra encuesta!
|
survey.please=¡Considere realizar nuestra encuesta!
|
||||||
survey.disabled=(La ventana emergente de la encuesta se desactivará en las siguientes actualizaciones, pero estará disponible al pie de la página.)
|
survey.disabled=(La ventana emergente de la encuesta se desactivará en las siguientes actualizaciones, pero estará disponible al pie de la página.)
|
||||||
survey.button=Realizar encuesta
|
survey.button=Realizar encuesta
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Languages
|
|||||||
navbar.settings=Ezarpenak
|
navbar.settings=Ezarpenak
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organize
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.convertTo=Convert to PDF
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertFrom=Convert from PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Erakutsi sinadura
|
|||||||
certSign.reason=Arrazoia
|
certSign.reason=Arrazoia
|
||||||
certSign.location=Kokalekua
|
certSign.location=Kokalekua
|
||||||
certSign.name=Izena
|
certSign.name=Izena
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Sinatu PDFa
|
certSign.submit=Sinatu PDFa
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
|||||||
multiTool.title=PDF erabilera anitzeko tresna
|
multiTool.title=PDF erabilera anitzeko tresna
|
||||||
multiTool.header=PDF erabilera anitzeko tresna
|
multiTool.header=PDF erabilera anitzeko tresna
|
||||||
multiTool.uploadPrompts=File Name
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=View PDF
|
viewPdf.title=View PDF
|
||||||
|
|||||||
@@ -56,12 +56,12 @@ 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=Nom d'utilisateur invalide, le nom d'utilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide.
|
invalidUsernameMessage=Nom d'utilisateur invalide, le nom d'utilisateur ne peut contenir que des lettres, des chiffres et les caractères spéciaux suivants @._+- ou doit être une adresse e-mail valide.
|
||||||
invalidPasswordMessage=Le mot de passe ne peut pas être vide et ne doit pas contenir d'espaces au début ou en fin.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Nouveau Mot de passe et Confirmer le Nouveau Mot de passe doivent correspondre.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Impossible de supprimer l'utilisateur actuellement connecté.
|
deleteCurrentUserMessage=Impossible de supprimer l'utilisateur actuellement connecté.
|
||||||
deleteUsernameExistsMessage=Le nom d'utilisateur n'existe pas et ne peut pas être supprimé.
|
deleteUsernameExistsMessage=Le nom d'utilisateur n'existe pas et ne peut pas être supprimé.
|
||||||
downgradeCurrentUserMessage=Impossible de rétrograder le rôle de l'utilisateur actuel.
|
downgradeCurrentUserMessage=Impossible de rétrograder le rôle de l'utilisateur actuel.
|
||||||
disabledCurrentUserMessage=L'utilisateur actuel ne peut pas être désactivé
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché.
|
downgradeCurrentUserLongMessage=Impossible de rétrograder le rôle de l'utilisateur actuel. Par conséquent, l'utilisateur actuel ne sera pas affiché.
|
||||||
userAlreadyExistsOAuthMessage=L'utilisateur existe déjà en tant qu'utilisateur OAuth2.
|
userAlreadyExistsOAuthMessage=L'utilisateur existe déjà en tant qu'utilisateur OAuth2.
|
||||||
userAlreadyExistsWebMessage=L'utilisateur existe déjà en tant qu'utilisateur Web.
|
userAlreadyExistsWebMessage=L'utilisateur existe déjà en tant qu'utilisateur Web.
|
||||||
@@ -74,14 +74,13 @@ seeDockerHub=Consulter le Docker Hub
|
|||||||
visitGithub=Visiter le dépôt Github
|
visitGithub=Visiter le dépôt Github
|
||||||
donate=Faire un don
|
donate=Faire un don
|
||||||
color=Couleur
|
color=Couleur
|
||||||
sponsor=Sponsoriser
|
sponsor=Sponsor
|
||||||
info=Informations
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Page
|
page=Page
|
||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Chargement...
|
loading=Loading...
|
||||||
addToDoc=Ajouter au Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Politique de Confidentialité
|
legal.privacy=Politique de Confidentialité
|
||||||
legal.terms=Conditions Générales
|
legal.terms=Conditions Générales
|
||||||
@@ -99,7 +98,7 @@ pipeline.defaultOption=Personnaliser
|
|||||||
pipeline.submitButton=Soumettre
|
pipeline.submitButton=Soumettre
|
||||||
pipeline.help=Aide Pipeline
|
pipeline.help=Aide Pipeline
|
||||||
pipeline.scanHelp=Aide analyse de dossier
|
pipeline.scanHelp=Aide analyse de dossier
|
||||||
pipeline.deletePrompt=Êtes-vous sûr de vouloir supprimer le pipeline ?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -110,7 +109,7 @@ pipelineOptions.saveSettings=Sauvegarder la configuration
|
|||||||
pipelineOptions.pipelineNamePrompt=Entrez ici le nom du pipeline
|
pipelineOptions.pipelineNamePrompt=Entrez ici le nom du pipeline
|
||||||
pipelineOptions.selectOperation=Sélectionner une opération
|
pipelineOptions.selectOperation=Sélectionner une opération
|
||||||
pipelineOptions.addOperationButton=Ajouter une opération
|
pipelineOptions.addOperationButton=Ajouter une opération
|
||||||
pipelineOptions.pipelineHeader=Pipeline :
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=Télécharger
|
pipelineOptions.saveButton=Télécharger
|
||||||
pipelineOptions.validateButton=Valider
|
pipelineOptions.validateButton=Valider
|
||||||
|
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Langues
|
|||||||
navbar.settings=Paramètres
|
navbar.settings=Paramètres
|
||||||
navbar.allTools=Outils
|
navbar.allTools=Outils
|
||||||
navbar.multiTool=Outils Multiples
|
navbar.multiTool=Outils Multiples
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organisation
|
navbar.sections.organize=Organisation
|
||||||
navbar.sections.convertTo=Convertir en PDF
|
navbar.sections.convertTo=Convertir en PDF
|
||||||
navbar.sections.convertFrom=Convertir depuis PDF
|
navbar.sections.convertFrom=Convertir depuis PDF
|
||||||
@@ -231,24 +229,23 @@ adminUserSettings.totalUsers=Utilisateurs au total :
|
|||||||
adminUserSettings.lastRequest=Dernière requête
|
adminUserSettings.lastRequest=Dernière requête
|
||||||
|
|
||||||
|
|
||||||
database.title=Import/Export de la Base de Données
|
database.title=Database Import/Export
|
||||||
database.header=Import/Export de la Base de Données
|
database.header=Database Import/Export
|
||||||
database.fileName=Nom du Fichier
|
database.fileName=File Name
|
||||||
database.creationDate=Date de Création
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Taille du Fichier
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Supprimer le fichier de sauvegarde
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Importer le fichier de sauvegarde
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Télécharger le fichier de sauvegarde
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Lors de l'importation des données, il est crucial de garantir la structure correcte. Si vous n'êtes pas sûr de ce que vous faites, sollicitez un avis et un soutien d'un professionnel. Une erreur dans la structure peut entraîner des dysfonctionnements de l'application, allant jusqu'à l'incapacité totale d'exécuter l'application.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=Le nom du fichier ne fait pas de différence lors de l'upload. Il sera renommé ultérieurement selon le format backup_user_yyyyMMddHHmm.sql, assurant ainsi une convention de nommage cohérente.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Importer la sauvegarde
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Importation dans la base de données réussie
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Fichier ne peut pas être null ou vide
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Votre session a expiré. Veuillez recharger la page et réessayer.
|
session.expired=Votre session a expiré. Veuillez recharger la page et réessayer.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -344,7 +341,7 @@ pdfToPDFA.tags=convertion,archive,long-term,standard,conversion,storage,préserv
|
|||||||
|
|
||||||
home.PDFToWord.title=PDF en Word
|
home.PDFToWord.title=PDF en Word
|
||||||
home.PDFToWord.desc=Convertissez un PDF en Word (DOC, DOCX et ODT).
|
home.PDFToWord.desc=Convertissez un PDF en Word (DOC, DOCX et ODT).
|
||||||
PDFToWord.tags=doc, docx, odt, word, transformation, format, conversion, office, microsoft, docfile
|
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile
|
||||||
|
|
||||||
home.PDFToPresentation.title=PDF en formats de présentation
|
home.PDFToPresentation.title=PDF en formats de présentation
|
||||||
home.PDFToPresentation.desc=Convertissez un PDF en format de présentation (PPT, PPTX et ODP).
|
home.PDFToPresentation.desc=Convertissez un PDF en format de présentation (PPT, PPTX et ODP).
|
||||||
@@ -352,7 +349,7 @@ PDFToPresentation.tags=présentation,slides,show,office,microsoft
|
|||||||
|
|
||||||
home.PDFToText.title=PDF en RTF (texte)
|
home.PDFToText.title=PDF en RTF (texte)
|
||||||
home.PDFToText.desc=Convertissez un PDF au format RTF (texte).
|
home.PDFToText.desc=Convertissez un PDF au format RTF (texte).
|
||||||
PDFToText.tags=format riche, format de texte riche, format de texte enrichi
|
PDFToText.tags=richformat,richtextformat,rich text format
|
||||||
|
|
||||||
home.PDFToHTML.title=PDF en HTML
|
home.PDFToHTML.title=PDF en HTML
|
||||||
home.PDFToHTML.desc=Convertissez un PDF au format HTML.
|
home.PDFToHTML.desc=Convertissez un PDF au format HTML.
|
||||||
@@ -474,12 +471,12 @@ autoRedact.tags=caviarder,redact,auto
|
|||||||
|
|
||||||
home.tableExtraxt.title=PDF en CSV
|
home.tableExtraxt.title=PDF en CSV
|
||||||
home.tableExtraxt.desc=Extrait les tableaux d'un PDF et les transforme en CSV.
|
home.tableExtraxt.desc=Extrait les tableaux d'un PDF et les transforme en CSV.
|
||||||
tableExtraxt.tags=CSV, Extraction de table, extraction, conversion
|
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=Séparer automatiquement par taille/nombre
|
home.autoSizeSplitPDF.title=Séparer automatiquement par taille/nombre
|
||||||
home.autoSizeSplitPDF.desc=Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents.
|
home.autoSizeSplitPDF.desc=Séparer un PDF unique en plusieurs documents en fonction de la taille, du nombre de pages ou du nombre de documents.
|
||||||
autoSizeSplitPDF.tags=pdf, découpage, document, organisation
|
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=Incrustation de PDF
|
home.overlay-pdfs.title=Incrustation de PDF
|
||||||
@@ -548,7 +545,7 @@ login.locked=Votre compte a été verrouillé.
|
|||||||
login.signinTitle=Veuillez vous connecter
|
login.signinTitle=Veuillez vous connecter
|
||||||
login.ssoSignIn=Se connecter via l'authentification unique
|
login.ssoSignIn=Se connecter via l'authentification unique
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 Création automatique d'utilisateur désactivée
|
login.oauth2AutoCreateDisabled=OAUTH2 Création automatique d'utilisateur désactivée
|
||||||
login.oauth2AdminBlockedUser=La création ou l'authentification d'utilisateurs non enregistrés est actuellement bloquée. Veuillez contacter l'administrateur.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Demande d'autorisation introuvable
|
login.oauth2RequestNotFound=Demande d'autorisation introuvable
|
||||||
login.oauth2InvalidUserInfoResponse=Réponse contenant les informations de l'utilisateur est invalide
|
login.oauth2InvalidUserInfoResponse=Réponse contenant les informations de l'utilisateur est invalide
|
||||||
login.oauth2invalidRequest=Requête invalide
|
login.oauth2invalidRequest=Requête invalide
|
||||||
@@ -590,7 +587,7 @@ pdfToSinglePage.submit=Convertir en une seule page
|
|||||||
pageExtracter.title=Extraire des pages
|
pageExtracter.title=Extraire des pages
|
||||||
pageExtracter.header=Extraire des pages
|
pageExtracter.header=Extraire des pages
|
||||||
pageExtracter.submit=Extraire
|
pageExtracter.submit=Extraire
|
||||||
pageExtracter.placeholder=(par exemple : 1,2,8 ou 4,7,12-16 ou 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Fusionner
|
|||||||
scalePages.title=Ajuster la taille ou l'échelle
|
scalePages.title=Ajuster la taille ou l'échelle
|
||||||
scalePages.header=Ajuster la taille ou l'échelle
|
scalePages.header=Ajuster la taille ou l'échelle
|
||||||
scalePages.pageSize=Taille d'une page du document
|
scalePages.pageSize=Taille d'une page du document
|
||||||
scalePages.keepPageSize=Taille d'origine
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Niveau de zoom (recadrage) d'une page
|
scalePages.scaleFactor=Niveau de zoom (recadrage) d'une page
|
||||||
scalePages.submit=Ajuster
|
scalePages.submit=Ajuster
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Afficher la signature
|
|||||||
certSign.reason=Raison
|
certSign.reason=Raison
|
||||||
certSign.location=Emplacement
|
certSign.location=Emplacement
|
||||||
certSign.name=Nom
|
certSign.name=Nom
|
||||||
certSign.showLogo=Afficher le logo
|
|
||||||
certSign.submit=Signer
|
certSign.submit=Signer
|
||||||
|
|
||||||
|
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Supprimer
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Comparer
|
compare.title=Comparer
|
||||||
compare.header=Comparer
|
compare.header=Comparer
|
||||||
compare.highlightColor.1=Couleur de mise en évidence 1 :
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Couleur de mise en évidence 2 :
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Document 1
|
compare.document.1=Document 1
|
||||||
compare.document.2=Document 2
|
compare.document.2=Document 2
|
||||||
compare.submit=Comparer
|
compare.submit=Comparer
|
||||||
compare.complex.message=Un ou les deux documents fournis sont des fichiers volumineux, l'exactitude de la comparaison peut être réduite
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Un ou les deux documents fournis sont trop volumineux pour être traités
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=L'un ou les deux documents PDF sélectionnés ne contiennent aucun contenu textuel. Veuillez choisir des documents PDF avec du texte pour la comparaison.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Livres et BD vers PDF
|
BookToPDF.title=Livres et BD vers PDF
|
||||||
@@ -814,10 +810,10 @@ sign.text=Saisir de texte
|
|||||||
sign.clear=Effacer
|
sign.clear=Effacer
|
||||||
sign.add=Ajouter
|
sign.add=Ajouter
|
||||||
sign.saved=Saved Signatures
|
sign.saved=Saved Signatures
|
||||||
sign.save=Enregistrer le sceau
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Sceaux personnels
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Sceaux partagés
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Aucun sceau enregistré trouvé
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Surface de contour minimale
|
|||||||
ScannerImageSplit.selectText.8=Définit la surface de contour minimale pour une photo (par défaut : 500).
|
ScannerImageSplit.selectText.8=Définit la surface de contour minimale pour une photo (par défaut : 500).
|
||||||
ScannerImageSplit.selectText.9=Taille de la bordure
|
ScannerImageSplit.selectText.9=Taille de la bordure
|
||||||
ScannerImageSplit.selectText.10=Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut : 1).
|
ScannerImageSplit.selectText.10=Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut : 1).
|
||||||
ScannerImageSplit.info=Python n'est pas installé. Il est nécessaire pour le fonctionnement.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Traiter
|
|||||||
extractImages.title=Extraire les images
|
extractImages.title=Extraire les images
|
||||||
extractImages.header=Extraire les images
|
extractImages.header=Extraire les images
|
||||||
extractImages.selectText=Format d'image dans lequel convertir les images extraites
|
extractImages.selectText=Format d'image dans lequel convertir les images extraites
|
||||||
extractImages.allowDuplicates=Enregistrer les images dupliquées
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Extraire
|
extractImages.submit=Extraire
|
||||||
|
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Fusionner
|
|||||||
merge.header=Fusionner plusieurs PDF
|
merge.header=Fusionner plusieurs PDF
|
||||||
merge.sortByName=Trier par nom
|
merge.sortByName=Trier par nom
|
||||||
merge.sortByDate=Trier par date
|
merge.sortByDate=Trier par date
|
||||||
merge.removeCertSign=Supprimer la signature numérique dans le fichier fusionné ?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Fusionner
|
merge.submit=Fusionner
|
||||||
|
|
||||||
|
|
||||||
@@ -927,25 +923,14 @@ pdfOrganiser.mode.6=Partage impair-pair
|
|||||||
pdfOrganiser.mode.7=Supprimer le premier
|
pdfOrganiser.mode.7=Supprimer le premier
|
||||||
pdfOrganiser.mode.8=Supprimer le dernier
|
pdfOrganiser.mode.8=Supprimer le dernier
|
||||||
pdfOrganiser.mode.9=Supprimer le premier et le dernier
|
pdfOrganiser.mode.9=Supprimer le premier et le dernier
|
||||||
pdfOrganiser.mode.10=Méger Impair-Pair
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(par exemple 1,3,2 ou 4-8,2,10-12 ou 2n-1)
|
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=Outil multifonction PDF
|
multiTool.title=Outil multifonction PDF
|
||||||
multiTool.header=Outil multifonction PDF
|
multiTool.header=Outil multifonction PDF
|
||||||
multiTool.uploadPrompts=Nom du fichier
|
multiTool.uploadPrompts=Nom du fichier
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visualiser un PDF
|
viewPdf.title=Visualiser un PDF
|
||||||
@@ -956,7 +941,7 @@ pageRemover.title=Supprimer des pages
|
|||||||
pageRemover.header=Supprimer des pages
|
pageRemover.header=Supprimer des pages
|
||||||
pageRemover.pagesToDelete=Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) :
|
pageRemover.pagesToDelete=Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) :
|
||||||
pageRemover.submit=Supprimer les pages
|
pageRemover.submit=Supprimer les pages
|
||||||
pageRemover.placeholder=(par exemple 1,2,6 ou 1-10,15-30)
|
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Couleur
|
|||||||
pdfToImage.grey=Niveaux de gris
|
pdfToImage.grey=Niveaux de gris
|
||||||
pdfToImage.blackwhite=Noir et blanc (peut engendrer une perte de données !)
|
pdfToImage.blackwhite=Noir et blanc (peut engendrer une perte de données !)
|
||||||
pdfToImage.submit=Convertir
|
pdfToImage.submit=Convertir
|
||||||
pdfToImage.info=Python n’est pas installé. Nécessaire pour la conversion WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,9 +1029,9 @@ watermark.selectText.6=heightSpacer (espace entre chaque filigrane verticalement
|
|||||||
watermark.selectText.7=Opacité (de 0% à 100%)
|
watermark.selectText.7=Opacité (de 0% à 100%)
|
||||||
watermark.selectText.8=Type de filigrane
|
watermark.selectText.8=Type de filigrane
|
||||||
watermark.selectText.9=Image du filigrane
|
watermark.selectText.9=Image du filigrane
|
||||||
watermark.selectText.10=Convertir le PDF en PDF-Image
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Ajouter un filigrane
|
watermark.submit=Ajouter un filigrane
|
||||||
watermark.type.1=Texte
|
watermark.type.1=Text
|
||||||
watermark.type.2=Image
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Teangacha
|
|||||||
navbar.settings=Socruithe
|
navbar.settings=Socruithe
|
||||||
navbar.allTools=Uirlisí
|
navbar.allTools=Uirlisí
|
||||||
navbar.multiTool=Uirlisí Il
|
navbar.multiTool=Uirlisí Il
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Eagraigh
|
navbar.sections.organize=Eagraigh
|
||||||
navbar.sections.convertTo=Tiontaigh go PDF
|
navbar.sections.convertTo=Tiontaigh go PDF
|
||||||
navbar.sections.convertFrom=Tiontaigh ó PDF
|
navbar.sections.convertFrom=Tiontaigh ó PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Níor cheart go mbeadh an comhad ar neamhní nó folamh
|
|||||||
database.failedImportFile=Theip ar iompórtáil an chomhaid
|
database.failedImportFile=Theip ar iompórtáil an chomhaid
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Taispeáin Síniú
|
|||||||
certSign.reason=Cúis
|
certSign.reason=Cúis
|
||||||
certSign.location=Suíomh
|
certSign.location=Suíomh
|
||||||
certSign.name=Ainm
|
certSign.name=Ainm
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Sínigh PDF
|
certSign.submit=Sínigh PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(m.sh. 1,3,2 nó 4-8,2,10-12 nó 2n-1)
|
|||||||
multiTool.title=Il-uirlis PDF
|
multiTool.title=Il-uirlis PDF
|
||||||
multiTool.header=Il-uirlis PDF
|
multiTool.header=Il-uirlis PDF
|
||||||
multiTool.uploadPrompts=Ainm comhaid
|
multiTool.uploadPrompts=Ainm comhaid
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Féach PDF
|
viewPdf.title=Féach PDF
|
||||||
|
|||||||
@@ -12,17 +12,17 @@ imgPrompt=छवियों का चयन करें
|
|||||||
genericSubmit=प्रस्तुत करें
|
genericSubmit=प्रस्तुत करें
|
||||||
processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है
|
processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है
|
||||||
pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें):
|
pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें):
|
||||||
pageSelectionPrompt=कस्तम पेज चयन (पेज संख्याओं 1,5,6 या फंक्शन 2n+1 को अलग-अलग बैरीज़ में लिखिए) :
|
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||||
goToPage=जाएँ
|
goToPage=जाएँ
|
||||||
true=सही
|
true=सही
|
||||||
false=गलत
|
false=गलत
|
||||||
unknown=अज्ञात
|
unknown=अज्ञात
|
||||||
save=सहेजें
|
save=सहेजें
|
||||||
saveToBrowser=ब्राउझर में सहमत करें
|
saveToBrowser=Save to Browser
|
||||||
close=बंद करें
|
close=बंद करें
|
||||||
filesSelected=फ़ाइलें चयनित हैं
|
filesSelected=फ़ाइलें चयनित हैं
|
||||||
noFavourites=कोई पसंदीदा जोड़ा नहीं गया है
|
noFavourites=कोई पसंदीदा जोड़ा नहीं गया है
|
||||||
downloadComplete=डाउनलोड पूरा हुआ
|
downloadComplete=Download Complete
|
||||||
bored=बोर हो रहे हैं?
|
bored=बोर हो रहे हैं?
|
||||||
alphabet=वर्णमाला
|
alphabet=वर्णमाला
|
||||||
downloadPdf=पीडीएफ़ डाउनलोड करें
|
downloadPdf=पीडीएफ़ डाउनलोड करें
|
||||||
@@ -46,92 +46,91 @@ red=लाल
|
|||||||
green=हरा
|
green=हरा
|
||||||
blue=नीला
|
blue=नीला
|
||||||
custom=कस्टम...
|
custom=कस्टम...
|
||||||
WorkInProgess=कार्य चल रहा है, ये लगभग कार्य कर सकते हैं या फ़ौल बिजी में हो सकते हैं, किसी समस्या का पता लगाने के लिए कृपया रिपोर्ट करें!
|
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||||
poweredBy=बलिदान की स्वामित्व
|
poweredBy=Powered by
|
||||||
yes=हा
|
yes=Yes
|
||||||
no=नहीं
|
no=No
|
||||||
changedCredsMessage=क्रेडेंशियल्स बदल दी गईं!
|
changedCredsMessage=क्रेडेंशियल्स बदल दी गईं!
|
||||||
notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है।
|
notAuthenticatedMessage=उपयोगकर्ता प्रमाणित नहीं है।
|
||||||
userNotFoundMessage=उपयोगकर्ता नहीं मिला।
|
userNotFoundMessage=उपयोगकर्ता नहीं मिला।
|
||||||
incorrectPasswordMessage=वर्तमान पासवर्ड गलत है।
|
incorrectPasswordMessage=वर्तमान पासवर्ड गलत है।
|
||||||
usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है।
|
usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है।
|
||||||
invalidUsernameMessage=अवैध उपयोगकर्ता नाम, उपयोगकर्ता नाम केवल अक्षर, संख्या और इन प्रतिकरणों @._+- में ही शामिल हो सकते हैं या एक बिल्ड-आउट वैध ईमेल एड्रेस के रूप में होना चाहिए।
|
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
invalidPasswordMessage=पासवर्ड खाली नहीं हो सकता है और इसमें शुरुआत या अंत में अज्ञात अंदाज के विच्छेदन नहीं हो सकते।
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=नया पासवर्ड और पुष्टि नया पासवर्ड मेल खाते हैं।
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=प्रसिद्धिगत उपयोगकर्ता को नहीं हटा सकते हैं।
|
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||||
deleteUsernameExistsMessage=उपयोगकर्ता नाम मौजूद नहीं है और नहीं हटा सकता है।
|
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||||
downgradeCurrentUserMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता
|
downgradeCurrentUserMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता
|
||||||
disabledCurrentUserMessage=वर्तमान उपयोगकर्ता निषेध किया गया है।
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता। इसलिए, वर्तमान उपयोगकर्ता को नहीं दिखाया जाएगा।
|
downgradeCurrentUserLongMessage=मौजूदा यूज़र की भूमिका को डाउनग्रेड नहीं किया जा सकता। इसलिए, वर्तमान उपयोगकर्ता को नहीं दिखाया जाएगा।
|
||||||
userAlreadyExistsOAuthMessage=उपयोगकर्ता ऑटहॉराइजेशन 2 से वास्तविक में मौजूद है।
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=उपयोगकर्ता वेब से राजीव में मौजूद है।
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=मुश्किल
|
error=Error
|
||||||
oops=ओह!
|
oops=Oops!
|
||||||
help=सहायता
|
help=Help
|
||||||
goHomepage=主页前往
|
goHomepage=Go to Homepage
|
||||||
joinDiscord=हमारे Discord सर्वर में शामिल होना
|
joinDiscord=Join our Discord server
|
||||||
seeDockerHub=Docker Hub पर देखें
|
seeDockerHub=See Docker Hub
|
||||||
visitGithub=गिटहब को दृश्यकरण करें
|
visitGithub=Visit Github Repository
|
||||||
donate=दान करें
|
donate=Donate
|
||||||
color=रंग
|
color=Color
|
||||||
sponsor=पatreon से पोर्टन
|
sponsor=Sponsor
|
||||||
info=सूचना
|
info=Info
|
||||||
pro=कॉलेजीय
|
pro=Pro
|
||||||
page=पृष्ठ
|
page=पृष्ठ
|
||||||
pages=पृष्ठों
|
pages=पृष्ठों
|
||||||
loading=डालिंग...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=गुप्तता सूचना
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=शर्तें और प्रवाह
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=कारणीबिलिटी
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=कुकीज़ नीति
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=प्रेरणा
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
###############
|
###############
|
||||||
pipeline.header=पाइपलाइन सूची (बेटा)
|
pipeline.header=Pipeline Menu (Beta)
|
||||||
pipeline.uploadButton=व्यक्तिगत अपलोड
|
pipeline.uploadButton=Upload Custom
|
||||||
pipeline.configureButton=संरचना करें
|
pipeline.configureButton=Configure
|
||||||
pipeline.defaultOption=कसरत की शुल्क
|
pipeline.defaultOption=Custom
|
||||||
pipeline.submitButton=प्रविष्टि
|
pipeline.submitButton=Submit
|
||||||
pipeline.help=पाइपलाइन मदद
|
pipeline.help=Pipeline Help
|
||||||
pipeline.scanHelp=फोल्डर स्फॅं जस्त्र मदद
|
pipeline.scanHelp=Folder Scanning Help
|
||||||
pipeline.deletePrompt=कि आपकी है पाइपलाइन का हटाना करना चाहते हैं?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
######################
|
######################
|
||||||
pipelineOptions.header=पाइपलाइन संरचना
|
pipelineOptions.header=Pipeline Configuration
|
||||||
pipelineOptions.pipelineNameLabel=पाइपलाइन का नाम
|
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||||
pipelineOptions.saveSettings=कार्यक्रम सेटिंग्स संरक्षण
|
pipelineOptions.saveSettings=Save Operation Settings
|
||||||
pipelineOptions.pipelineNamePrompt=यहाँ पाइपलाइन का नाम दर्ज करें
|
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||||
pipelineOptions.selectOperation=कार्य चुनें
|
pipelineOptions.selectOperation=Select Operation
|
||||||
pipelineOptions.addOperationButton=कार्य जोड़ें
|
pipelineOptions.addOperationButton=Add operation
|
||||||
pipelineOptions.pipelineHeader=पाइपलाइन:
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=डाउनलोड
|
pipelineOptions.saveButton=Download
|
||||||
pipelineOptions.validateButton=सुविधा परीक्षण
|
pipelineOptions.validateButton=Validate
|
||||||
|
|
||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=प्रो के लिए अदायगी में तहत तुलना करें
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=यह संभावना केवल प्रो उपयोगकर्ताओं के लिए उपलब्ध है।
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=स्टीरिंग पीडीऍफ़ प्रो यॅमल संरचना फाइलें और अन्य SSO सुविधाओं का समर्थन करता है।
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=सामान्य प्रबंधन विशेषताएं खोजने के लिए स्टीरिंग पीडीऍफ़ प्रो का परीक्षण करें
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=स्टीरिंग पीडीऍफ़ को बेहतर करने में मदद करना चाहते हैं?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=स्टीरिंग पीडीऍफ़ मध्यम सुनिश्चित है जो हमें उपलब्ध कराता है और उत्पाद को बेहतर करने में मदद करता है। हम किसी प्रकार का व्यक्तिगत जानकारी या फ़ाइल सामग्रियों का ट्रॅक नहीं करते हैं।
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=मांगित गर्न मा, कैनलीस-पडफको सुधार बढाउने मदत गर्न माफि गर्ने प्रयोगकर्ताको समजलाई समज्दा परिवर्तनले मदत गर्न सकिँदू।
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=कैनलीस खुलाउँछु
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=कैनलीस बुझाउँछु
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=परिष्कार संपर्कमा कैनलीस सेटिङहरू परिवर्तन गर्न सकिँदू
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=भाषा
|
|||||||
navbar.settings=सेटिंग्स
|
navbar.settings=सेटिंग्स
|
||||||
navbar.allTools=साधन
|
navbar.allTools=साधन
|
||||||
navbar.multiTool=विभिन्न साधन
|
navbar.multiTool=विभिन्न साधन
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=संगठित करें
|
navbar.sections.organize=संगठित करें
|
||||||
navbar.sections.convertTo=पीडीएफ में कनवर्ट करें
|
navbar.sections.convertTo=पीडीएफ में कनवर्ट करें
|
||||||
navbar.sections.convertFrom=पीडीएफ से कनवर्ट करें
|
navbar.sections.convertFrom=पीडीएफ से कनवर्ट करें
|
||||||
navbar.sections.security=संकेत और सुरक्षा
|
navbar.sections.security=संकेत और सुरक्षा
|
||||||
navbar.sections.advance=उन्नत
|
navbar.sections.advance=उन्नत
|
||||||
navbar.sections.edit=देखें और संपादित करें
|
navbar.sections.edit=देखें और संपादित करें
|
||||||
navbar.sections.popular=यादृच्छिको
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -165,13 +163,13 @@ settings.downloadOption.3=फ़ाइल डाउनलोड करें
|
|||||||
settings.zipThreshold=जब डाउनलोड की गई फ़ाइलों की संख्या सीमा से अधिक हो
|
settings.zipThreshold=जब डाउनलोड की गई फ़ाइलों की संख्या सीमा से अधिक हो
|
||||||
settings.signOut=साइन आउट
|
settings.signOut=साइन आउट
|
||||||
settings.accountSettings=खाता सेटिंग्स
|
settings.accountSettings=खाता सेटिंग्स
|
||||||
settings.bored.help=बालाची खुशाखुशी गेम सक्रिय गर्ने आवकता
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=पहिलो इनपुटहरू बंदरगाहमा राख्न
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=क्रियाकलापको पारित कर्मचारी भेट्दा पूर्ववार उपयोग मा लगाएको इनपुटहरू बंदरगाहमा संग्रहित गर्ने आवकता
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=क्रेडेंशियल बदलें
|
changeCreds.title=क्रेडेंशियल बदलें
|
||||||
changeCreds.header=अपना खाता विवरण अपडेट करें
|
changeCreds.header=अपना खाता विवरण अपडेट करें
|
||||||
changeCreds.changePassword=सुरक्षित पासワर्ड वापर्ने बदल्नु हो
|
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||||
changeCreds.newUsername=नया उपयोगकर्ता नाम
|
changeCreds.newUsername=नया उपयोगकर्ता नाम
|
||||||
changeCreds.oldPassword=वर्तमान पासवर्ड
|
changeCreds.oldPassword=वर्तमान पासवर्ड
|
||||||
changeCreds.newPassword=नया पासवर्ड
|
changeCreds.newPassword=नया पासवर्ड
|
||||||
@@ -206,25 +204,25 @@ adminUserSettings.header=व्यवस्थापक उपयोगकर्
|
|||||||
adminUserSettings.admin=व्यवस्थापक
|
adminUserSettings.admin=व्यवस्थापक
|
||||||
adminUserSettings.user=उपयोगकर्ता
|
adminUserSettings.user=उपयोगकर्ता
|
||||||
adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें
|
adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें
|
||||||
adminUserSettings.deleteUser=उपयोगकर्ता छुट्टी देनु
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=उपयोगकर्ताको छुट्टी दिइने सँचार हुनुपछै अनुमति दिन्दै लागि पुष्टि गर्नुहोस्
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=उपयोगकर्ताको स्थिरपद्धति परिवर्तनले पुष्टि गर्नुहोस्
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=उपयोगकर्ता नाममा केही संख्या, क्रतिका र अगले पूर्णाङ्क @._+- मा जस्ता विशेष चिह्नहरू छुन्न सकिँदू उपयोगकर्ता नामले एक संधारणीय पत्रक्याले बनाइएच।
|
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
adminUserSettings.roles=रोल्स
|
adminUserSettings.roles=रोल्स
|
||||||
adminUserSettings.role=रोल
|
adminUserSettings.role=रोल
|
||||||
adminUserSettings.actions=क्रियाएँ
|
adminUserSettings.actions=क्रियाएँ
|
||||||
adminUserSettings.apiUser=सीमित API उपयोगकर्ता
|
adminUserSettings.apiUser=सीमित API उपयोगकर्ता
|
||||||
adminUserSettings.extraApiUser=अतिरिक्त सीमित API उपयोगकर्ता
|
adminUserSettings.extraApiUser=Additional Limited API User
|
||||||
adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता
|
adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता
|
||||||
adminUserSettings.demoUser=विनंति उपयोगकर्ता (स्वामित्व अनुकूली)
|
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||||
adminUserSettings.internalApiUser=अन्तराल API उपयोगकर्ता
|
adminUserSettings.internalApiUser=Internal API User
|
||||||
adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें
|
adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें
|
||||||
adminUserSettings.submit=उपयोगकर्ता को सहेजें
|
adminUserSettings.submit=उपयोगकर्ता को सहेजें
|
||||||
adminUserSettings.changeUserRole=यूज़र की भूमिका बदलें
|
adminUserSettings.changeUserRole=यूज़र की भूमिका बदलें
|
||||||
adminUserSettings.authenticated=मान्यताप्राप्त
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=आफु प्रोफाइल संपादन गर्नुहोस्
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=कार्यक्षम उपयोगकर्ता
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=अकार्यक्षम उपयोगकर्ता
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Active Users:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Disabled Users:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Total Users:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -490,46 +487,46 @@ home.split-by-sections.title=खंडों से पीडीएफ़ वि
|
|||||||
home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें
|
home.split-by-sections.desc=पीडीएफ़ के प्रत्येक पृष्ठ को छोटे से छोटे क्षैतिज और ऊर्ध्वाधर खंडों में विभाजित करें
|
||||||
split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित
|
split-by-sections.tags=खंड विभाजन, विभाजित करें, अनुकूलित
|
||||||
|
|
||||||
home.AddStampRequest.title=PDF में स्पष्ट रंग जोड़ें
|
home.AddStampRequest.title=Add Stamp to PDF
|
||||||
home.AddStampRequest.desc=साहित्य पुनर्व्यवस्थित करें या निर्धारित स्थानों पर चित्र लक्षण जोड़ें
|
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||||
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 से बुक
|
home.PDFToBook.title=PDF to Book
|
||||||
home.PDFToBook.desc=Calibre का उपयोग करके PDF को बुक/कमिक्स फॉर्मेट में परिवर्तित करें
|
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.BookToPDF.title=बुक से PDF
|
home.BookToPDF.title=Book to PDF
|
||||||
home.BookToPDF.desc=Calibre का उपयोग करके Books/Comics फॉर्मेट को PDF में परिवर्तित करें
|
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=चित्र हटाएं
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=PDF से चित्र हटा कर फाइल आकार को कम करें
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=चित्र हटाएं,पृष्ठ ऑपरेशन्स,बाकी सिड,सर्वर साइड
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=अध्यायों पर अलग-करें
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=पुस्तक के अध्याय की संरचना पर आधारित एक PDF को बहिन-भागों में विभाजित करें
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=विभाजन,अध्याय,पसंदीदा,रजैत
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=चित्र रंग परिवर्तन/उलटकर परिवर्तन PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=PDF में टेक्स्ट और पैरासेमा के लिए रंग परिवर्तन करें और पूरी फोटो उलटकर परिवर्तन करें जो कि फाइल आकार को कम करें
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=रंग परिवर्तन,पृष्ठ ऑपरेशन्स,बाकी सिड,सर्वर साइड
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=रंग परिवर्तन/उलटकर परिवर्तन विकल्प
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=वैश्विक(वैश्विक उच्च अंतराल रंग)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=स्वतन्त्र(आम रंग)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=सार्वभौमिक-क्रमांतरण(सभी रंगों को आलवा करें)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=कुछ तृvigya रंग विकल्प
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=गायन उपरि पीक मैदान पर काला अवलोकन
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=काले उपरि काला रेखा
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=काले उपरि काला मैदान पर सफ़ेद अवलोकन
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=काले उपरि काला मैदान पर हियंग अवलोकन
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=याद की जाने वाली रेखा चुनें
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=पौधा उपरि पीक मैदान चुनें
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=बदलें
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=आपका खाता लॉक कर दिया गया
|
|||||||
login.signinTitle=कृपया साइन इन करें
|
login.signinTitle=कृपया साइन इन करें
|
||||||
login.ssoSignIn=सिंगल साइन - ऑन के ज़रिए लॉग इन करें
|
login.ssoSignIn=सिंगल साइन - ऑन के ज़रिए लॉग इन करें
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 ऑटो - क्रिएट यूज़र अक्षम किया गया
|
login.oauth2AutoCreateDisabled=OAUTH2 ऑटो - क्रिएट यूज़र अक्षम किया गया
|
||||||
login.oauth2AdminBlockedUser=व्यक्तिगत नहीं की रजिस्टर या लॉग-इन वर्षा माह प्रतिबंधित है। कृपया संबवादक से संपर्क करें.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=स्वीकारोचा याचना मिल नहीं रही
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=अमान्तरित प्रकाशीय जानकारी संदेश कैसे है
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=गलत याचना
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=इनपुट उम्मीदवार डिसकार
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=अमान्तरित सिक्वेंस जवाब कैसे है
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=गलत इड टोकन
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=उपयोगकर्ता डिसबाल, यह वर्षा सभी उपयोगकर्ता जूझे वर्षाकरण बारा मिल गई है। कृपया संबवादक से संपर्क करें.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=आप पहले से ही
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=सुनिश्चित करने वाले डिवाइस्स पर लॉग-इन हैं। कृपया इन डिवाइस से लॉगआउट करें और पुनः प्रयास करें
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=आपके अधिक संख्या में विदीश हो रहे हैं
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=स्वत: गोपनीयकरण
|
autoRedact.title=स्वत: गोपनीयकरण
|
||||||
@@ -590,7 +587,7 @@ pdfToSinglePage.submit=एकल पृष्ठ में परिवर्त
|
|||||||
pageExtracter.title=पृष्ठों को निकालें
|
pageExtracter.title=पृष्ठों को निकालें
|
||||||
pageExtracter.header=पृष्ठों को निकालें
|
pageExtracter.header=पृष्ठों को निकालें
|
||||||
pageExtracter.submit=निकालें
|
pageExtracter.submit=निकालें
|
||||||
pageExtracter.placeholder=(उदाहरण के लिए 1,2,8 या 4,7,12-16 या 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
@@ -622,37 +619,37 @@ HTMLToPDF.header=HTML से पीडीएफ़
|
|||||||
HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है
|
HTMLToPDF.help=HTML फ़ाइलों और html/css/images आदि को आत्मसात करने वाले ZIPs को स्वीकार करता है
|
||||||
HTMLToPDF.submit=रूपांतरित करें
|
HTMLToPDF.submit=रूपांतरित करें
|
||||||
HTMLToPDF.credit=WeasyPrint का प्रयोग होता है
|
HTMLToPDF.credit=WeasyPrint का प्रयोग होता है
|
||||||
HTMLToPDF.zoom=संप्रेषण वेबसाइट के लिए डॉलर स्तर।
|
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||||
HTMLToPDF.pageWidth=पृष्ठ की चौड़ाई मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||||
HTMLToPDF.pageHeight=पृष्ठ की ऊँचाई मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||||
HTMLToPDF.marginTop=पृष्ठ का शीर्ष बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginBottom=पृष्ठ का तल बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginLeft=पृष्ठ का बाएँ बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginRight=पृष्ठ का डाई बन्दरगाह मिलीमिटर में। (व्यंकत अधिकतर मान)
|
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.printBackground=वेबसाइट के पैनल को छद्म रूप से दिखाएं।
|
HTMLToPDF.printBackground=Render the background of websites.
|
||||||
HTMLToPDF.defaultHeader=उचित उपनाम (नाम और पृष्ठ संख्या) इनकार करें।
|
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||||
HTMLToPDF.cssMediaType=पृष्ठ के लिए CSS मीडिया टाइप परिवर्तित करें।
|
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||||
HTMLToPDF.none=कोई नहीं
|
HTMLToPDF.none=None
|
||||||
HTMLToPDF.print=दबाओ और बन्दोच्स हार्डवेयर पर आउटपुट करें।
|
HTMLToPDF.print=Print
|
||||||
HTMLToPDF.screen=दिखाएँ जैसा कि अपने ट्रिपल पर।
|
HTMLToPDF.screen=Screen
|
||||||
|
|
||||||
|
|
||||||
#AddStampRequest
|
#AddStampRequest
|
||||||
AddStampRequest.header=बिन्दुक बन्दोच्स हेडर
|
AddStampRequest.header=Stamp PDF
|
||||||
AddStampRequest.title=बिन्दुक बन्दोच्स
|
AddStampRequest.title=Stamp PDF
|
||||||
AddStampRequest.stampType=बिन्दुक प्रकार
|
AddStampRequest.stampType=Stamp Type
|
||||||
AddStampRequest.stampText=बिन्दुक टेक्स्ट
|
AddStampRequest.stampText=Stamp Text
|
||||||
AddStampRequest.stampImage=बिन्दुक आइमेज
|
AddStampRequest.stampImage=Stamp Image
|
||||||
AddStampRequest.alphabet=अक्षर
|
AddStampRequest.alphabet=Alphabet
|
||||||
AddStampRequest.fontSize=फोन्ट/चित्र का आकार
|
AddStampRequest.fontSize=Font/Image Size
|
||||||
AddStampRequest.rotation=वृद्धि
|
AddStampRequest.rotation=Rotation
|
||||||
AddStampRequest.opacity=परिस्थिति
|
AddStampRequest.opacity=Opacity
|
||||||
AddStampRequest.position=स्थिति
|
AddStampRequest.position=Position
|
||||||
AddStampRequest.overrideX=X निर्देशांक परिबद्ध करें
|
AddStampRequest.overrideX=Override X Coordinate
|
||||||
AddStampRequest.overrideY=Y निर्देशांक परिबद्ध करें
|
AddStampRequest.overrideY=Override Y Coordinate
|
||||||
AddStampRequest.customMargin=संवैधित मैरज
|
AddStampRequest.customMargin=Custom Margin
|
||||||
AddStampRequest.customColor=संवैधित टेक्स्ट रंग
|
AddStampRequest.customColor=Custom Text Color
|
||||||
AddStampRequest.submit=प्रदान करें
|
AddStampRequest.submit=Submit
|
||||||
|
|
||||||
|
|
||||||
#sanitizePDF
|
#sanitizePDF
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=प्रस्तुत क
|
|||||||
scalePages.title=पृष्ठ-स्केल समायोजित करें
|
scalePages.title=पृष्ठ-स्केल समायोजित करें
|
||||||
scalePages.header=पृष्ठ-स्केल समायोजित करें
|
scalePages.header=पृष्ठ-स्केल समायोजित करें
|
||||||
scalePages.pageSize=दस्तावेज़ के पृष्ठ का आकार।
|
scalePages.pageSize=दस्तावेज़ के पृष्ठ का आकार।
|
||||||
scalePages.keepPageSize=मूल आकार
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=पृष्ठ का ज़ूम स्तर (क्रॉप)।
|
scalePages.scaleFactor=पृष्ठ का ज़ूम स्तर (क्रॉप)।
|
||||||
scalePages.submit=प्रस्तुत करें
|
scalePages.submit=प्रस्तुत करें
|
||||||
|
|
||||||
@@ -742,26 +739,25 @@ scalePages.submit=प्रस्तुत करें
|
|||||||
certSign.title=प्रमाणपत्र साइनिंग
|
certSign.title=प्रमाणपत्र साइनिंग
|
||||||
certSign.header=अपने प्रमाणपत्र के साथ एक पीडीएफ़ पर हस्ताक्षर करें (काम जारी है)
|
certSign.header=अपने प्रमाणपत्र के साथ एक पीडीएफ़ पर हस्ताक्षर करें (काम जारी है)
|
||||||
certSign.selectPDF=साइन करने के लिए एक पीडीएफ़ फ़ाइल का चयन करें:
|
certSign.selectPDF=साइन करने के लिए एक पीडीएफ़ फ़ाइल का चयन करें:
|
||||||
certSign.jksNote=नोट: यदि आपके संदेश प्रकार नीचे सूचीबद्ध नहीं है, तो कृपया keytool कमांड लाइन टूल का उपयोग कर आपका संदेश फ़ाइल (.jks) में परिवर्तित करें. फिर, नीचे .jks फ़ाइल विकल्प चुनें.
|
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.selectKey=अपनी निजी कुंजी फ़ाइल का चयन करें (PKCS#8 प्रारूप, .pem या .der हो सकता है):
|
certSign.selectKey=अपनी निजी कुंजी फ़ाइल का चयन करें (PKCS#8 प्रारूप, .pem या .der हो सकता है):
|
||||||
certSign.selectCert=अपनी प्रमाणपत्र फ़ाइल का चयन करें (X.509 प्रारूप, .pem या .der हो सकता है):
|
certSign.selectCert=अपनी प्रमाणपत्र फ़ाइल का चयन करें (X.509 प्रारूप, .pem या .der हो सकता है):
|
||||||
certSign.selectP12=अपनी PKCS#12 कीस्टोर फ़ाइल का चयन करें (.p12 या .pfx) (वैकल्पिक, यदि प्रदान की गई हो, तो इसमें आपकी निजी कुंजी और प्रमाणपत्र होना चाहिए):
|
certSign.selectP12=अपनी PKCS#12 कीस्टोर फ़ाइल का चयन करें (.p12 या .pfx) (वैकल्पिक, यदि प्रदान की गई हो, तो इसमें आपकी निजी कुंजी और प्रमाणपत्र होना चाहिए):
|
||||||
certSign.selectJKS=आपका Java Keystore (.jks या .keystore) फ़ाइल को चुनें:
|
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||||
certSign.certType=प्रमाणपत्र प्रकार
|
certSign.certType=प्रमाणपत्र प्रकार
|
||||||
certSign.password=अपनी कीस्टोर या निजी कुंजी पासवर्ड दर्ज करें (यदि कोई हो):
|
certSign.password=अपनी कीस्टोर या निजी कुंजी पासवर्ड दर्ज करें (यदि कोई हो):
|
||||||
certSign.showSig=हस्ताक्षर दिखाएं
|
certSign.showSig=हस्ताक्षर दिखाएं
|
||||||
certSign.reason=कारण
|
certSign.reason=कारण
|
||||||
certSign.location=स्थान
|
certSign.location=स्थान
|
||||||
certSign.name=नाम
|
certSign.name=नाम
|
||||||
certSign.showLogo=लॉगो दिखाएं
|
|
||||||
certSign.submit=पीडीएफ़ पर हस्ताक्षर करें
|
certSign.submit=पीडीएफ़ पर हस्ताक्षर करें
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=वितरण साइनचर्टर हटाएं
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=PDF में डिजिटल चार्टर को हटाएं
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=एक PDF फ़ाइल को चुनें:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=साइनचर्टर हटाएं
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,27 +779,27 @@ removeAnnotations.submit=हटाएं
|
|||||||
#compare
|
#compare
|
||||||
compare.title=तुलना करें
|
compare.title=तुलना करें
|
||||||
compare.header=पीडीएफ़ तुलना करें
|
compare.header=पीडीएफ़ तुलना करें
|
||||||
compare.highlightColor.1=प्रकाशित रंग 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=प्रकाशित रंग 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=दस्तावेज़ 1
|
compare.document.1=दस्तावेज़ 1
|
||||||
compare.document.2=दस्तावेज़ 2
|
compare.document.2=दस्तावेज़ 2
|
||||||
compare.submit=तुलना करें
|
compare.submit=तुलना करें
|
||||||
compare.complex.message=एक या दोनों प्रदान की गई संस्कृति महंगे हैं, अपरिमेयता की तुलना की शुरुआत हो सकती है
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=One or Both of the provided documents are too large to process
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=चयनित PDF में कोई भी प्रतीक नहीं है. कृपया प्रतीक वाले PDFs का चयन करें.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=बुक्स और कमिक्स को PDF में
|
BookToPDF.title=Books and Comics to PDF
|
||||||
BookToPDF.header=बुक्स से पीडीएफ
|
BookToPDF.header=Book to PDF
|
||||||
BookToPDF.credit=Calibre का उपयोग करता है
|
BookToPDF.credit=Uses Calibre
|
||||||
BookToPDF.submit=संवाद करें
|
BookToPDF.submit=Convert
|
||||||
|
|
||||||
#PDFToBook
|
#PDFToBook
|
||||||
PDFToBook.title=PDF से बुक्स
|
PDFToBook.title=PDF to Book
|
||||||
PDFToBook.header=PDF से बुक्स
|
PDFToBook.header=PDF to Book
|
||||||
PDFToBook.selectText.1=फॉर्मट
|
PDFToBook.selectText.1=Format
|
||||||
PDFToBook.credit=Calibre का उपयोग करता है
|
PDFToBook.credit=Uses Calibre
|
||||||
PDFToBook.submit=संवाद करें
|
PDFToBook.submit=Convert
|
||||||
|
|
||||||
#sign
|
#sign
|
||||||
sign.title=हस्ताक्षर
|
sign.title=हस्ताक्षर
|
||||||
@@ -813,11 +809,11 @@ sign.draw=हस्ताक्षर बनाएँ
|
|||||||
sign.text=पाठ इनपुट
|
sign.text=पाठ इनपुट
|
||||||
sign.clear=साफ़ करें
|
sign.clear=साफ़ करें
|
||||||
sign.add=जोड़ें
|
sign.add=जोड़ें
|
||||||
sign.saved=जोड़े हुए प्रदर्शन
|
sign.saved=Saved Signatures
|
||||||
sign.save=प्रदर्शन बचाएं
|
sign.save=Save Signature
|
||||||
sign.personalSigs=मौजूदा प्रदर्शन
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=साझेदार प्रदर्शन
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=कोई भी संवर्तित प्रदर्शन नहीं मौजूद है
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=न्यूनतम कंटोर क्ष
|
|||||||
ScannerImageSplit.selectText.8=फोटो के लिए न्यूनतम कंटोर क्षेत्र थ्रेशोल्ड को सेट करता है।
|
ScannerImageSplit.selectText.8=फोटो के लिए न्यूनतम कंटोर क्षेत्र थ्रेशोल्ड को सेट करता है।
|
||||||
ScannerImageSplit.selectText.9=बॉर्डर का आकार:
|
ScannerImageSplit.selectText.9=बॉर्डर का आकार:
|
||||||
ScannerImageSplit.selectText.10=निकालने और जोड़ने के लिए जोड़ा जाने वाला बॉर्डर का आकार सेट करता है ताकि आउटपुट में सफेद बॉर्डर न आए (डिफ़ॉल्ट: 1)।
|
ScannerImageSplit.selectText.10=निकालने और जोड़ने के लिए जोड़ा जाने वाला बॉर्डर का आकार सेट करता है ताकि आउटपुट में सफेद बॉर्डर न आए (डिफ़ॉल्ट: 1)।
|
||||||
ScannerImageSplit.info=Python नहीं इंस्टॉल है. यह संचालित करने के लिए आवश्यक है.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=OCR के साथ PDF प्रोसेस करें
|
|||||||
extractImages.title=छवियां निकालें
|
extractImages.title=छवियां निकालें
|
||||||
extractImages.header=छवियां निकालें
|
extractImages.header=छवियां निकालें
|
||||||
extractImages.selectText=निकाली गई छवियों को कन्वर्ट करने के लिए छवि प्रारूप चुनें
|
extractImages.selectText=निकाली गई छवियों को कन्वर्ट करने के लिए छवि प्रारूप चुनें
|
||||||
extractImages.allowDuplicates=यह दबाव अनुमति दें
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=निकालें
|
extractImages.submit=निकालें
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=निकालें
|
|||||||
fileToPDF.title=फ़ाइल से पीडीएफ़
|
fileToPDF.title=फ़ाइल से पीडीएफ़
|
||||||
fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें
|
fileToPDF.header=किसी भी फ़ाइल को पीडीएफ़ में बदलें
|
||||||
fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है।
|
fileToPDF.credit=यह सेवा फ़ाइल परिवर्तन के लिए LibreOffice और Unoconv का उपयोग करती है।
|
||||||
fileToPDF.supportedFileTypesInfo=समर्थित फ़ाइल प्रजातियाँ
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें
|
fileToPDF.supportedFileTypes=समर्थित फ़ाइल प्रकार नीचे दिए गए होने चाहिए हालांकि समर्थित प्रारूपों की पूरी अद्यतन सूची के लिए कृपया LibreOffice दस्तावेज़ीकरण से संदर्भित करें
|
||||||
fileToPDF.submit=पीडीएफ़ में बदलें
|
fileToPDF.submit=पीडीएफ़ में बदलें
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=मर्ज
|
|||||||
merge.header=एक से अधिक PDF एक साथ मर्ज करें (2+)
|
merge.header=एक से अधिक PDF एक साथ मर्ज करें (2+)
|
||||||
merge.sortByName=नाम से क्रमबद्ध करें
|
merge.sortByName=नाम से क्रमबद्ध करें
|
||||||
merge.sortByDate=तारीख से क्रमबद्ध करें
|
merge.sortByDate=तारीख से क्रमबद्ध करें
|
||||||
merge.removeCertSign=संयोजित फाइल में डिजिटल साइग्नचर को हटा दें?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=मर्ज करें
|
merge.submit=मर्ज करें
|
||||||
|
|
||||||
|
|
||||||
@@ -917,35 +913,24 @@ merge.submit=मर्ज करें
|
|||||||
pdfOrganiser.title=पेज व्यवस्थापक
|
pdfOrganiser.title=पेज व्यवस्थापक
|
||||||
pdfOrganiser.header=PDF पेज व्यवस्थापक
|
pdfOrganiser.header=PDF पेज व्यवस्थापक
|
||||||
pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें
|
pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें
|
||||||
pdfOrganiser.mode=रूप
|
pdfOrganiser.mode=Mode
|
||||||
pdfOrganiser.mode.1=कस्टम पेज क्रम
|
pdfOrganiser.mode.1=Custom Page Order
|
||||||
pdfOrganiser.mode.2=वापसी क्रम
|
pdfOrganiser.mode.2=Reverse Order
|
||||||
pdfOrganiser.mode.3=दुबल इंस्टर क्रम
|
pdfOrganiser.mode.3=Duplex Sort
|
||||||
pdfOrganiser.mode.4=बुकलत सॉर्ट
|
pdfOrganiser.mode.4=Booklet Sort
|
||||||
pdfOrganiser.mode.5=पारित-पीछे स्टिस्ट बुकलत सॉर्ट
|
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||||
pdfOrganiser.mode.6=अशैली-बहूनी कटा-चिह्नित करना
|
pdfOrganiser.mode.6=Odd-Even Split
|
||||||
pdfOrganiser.mode.7=पहली पेज हटाना
|
pdfOrganiser.mode.7=Remove First
|
||||||
pdfOrganiser.mode.8=आखिरी पेज हटाना
|
pdfOrganiser.mode.8=Remove Last
|
||||||
pdfOrganiser.mode.9=पहली और आखिरी पेज हटाना
|
pdfOrganiser.mode.9=Remove First and Last
|
||||||
pdfOrganiser.mode.10=अशैली-बहूनी मिश्रण
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(जैसे 1,3,2 या 4-8,2,10-12 या 2n-1)
|
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=पीडीएफ मल्टी टूल
|
multiTool.title=पीडीएफ मल्टी टूल
|
||||||
multiTool.header=पीडीएफ मल्टी टूल
|
multiTool.header=पीडीएफ मल्टी टूल
|
||||||
multiTool.uploadPrompts=फाइल का नाम
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=पीडीएफ देखें
|
viewPdf.title=पीडीएफ देखें
|
||||||
@@ -956,7 +941,7 @@ pageRemover.title=पेज हटाने वाला
|
|||||||
pageRemover.header=पीडीएफ पेज हटाने वाला
|
pageRemover.header=पीडीएफ पेज हटाने वाला
|
||||||
pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें):
|
pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें):
|
||||||
pageRemover.submit=पेज हटाएं
|
pageRemover.submit=पेज हटाएं
|
||||||
pageRemover.placeholder=(जैसे 1,2,6 या 1-10,15-30)
|
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=रंगीन
|
|||||||
pdfToImage.grey=ग्रे स्केल
|
pdfToImage.grey=ग्रे स्केल
|
||||||
pdfToImage.blackwhite=काला और सफेद (डेटा खो सकता है!)
|
pdfToImage.blackwhite=काला और सफेद (डेटा खो सकता है!)
|
||||||
pdfToImage.submit=परिवर्तित करें
|
pdfToImage.submit=परिवर्तित करें
|
||||||
pdfToImage.info=पायथन नहीं अनिस्तारित है। वेबP परिवर्तन के लिए आवश्यक है।
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,10 +1029,10 @@ watermark.selectText.6=ऊंचाई स्पेसर (प्रत्ये
|
|||||||
watermark.selectText.7=अपारदर्शिता (0% - 100%):
|
watermark.selectText.7=अपारदर्शिता (0% - 100%):
|
||||||
watermark.selectText.8=वॉटरमार्क प्रकार:
|
watermark.selectText.8=वॉटरमार्क प्रकार:
|
||||||
watermark.selectText.9=वॉटरमार्क छवि:
|
watermark.selectText.9=वॉटरमार्क छवि:
|
||||||
watermark.selectText.10=PDF डीपीआईमज़ देखभाल करें
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=वॉटरमार्क जोड़ें
|
watermark.submit=वॉटरमार्क जोड़ें
|
||||||
watermark.type.1=संदेश
|
watermark.type.1=Text
|
||||||
watermark.type.2=इमेज
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
@@ -1099,9 +1084,9 @@ pdfToPDFA.title=PDF से PDF/A में
|
|||||||
pdfToPDFA.header=PDF से PDF/A में
|
pdfToPDFA.header=PDF से PDF/A में
|
||||||
pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए ghostscript का उपयोग किया जाता है।
|
pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए ghostscript का उपयोग किया जाता है।
|
||||||
pdfToPDFA.submit=परिवर्तित करें
|
pdfToPDFA.submit=परिवर्तित करें
|
||||||
pdfToPDFA.tip=यह सैकड़ों प्रविष्टियाँ एक ही समय में काम करते हैं
|
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||||
pdfToPDFA.outputFormat=आउटपुट फॉर्मेट
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=यह पीडीएफ मेला हस्ताक्षर से संबद्ध है। अगले कदम में यह हटाया जाएगा。
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1183,14 +1168,14 @@ split-by-sections.vertical.label=लंबवत विभाजन
|
|||||||
split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें
|
split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें
|
||||||
split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें
|
split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें
|
||||||
split-by-sections.submit=PDF को विभाजित करें
|
split-by-sections.submit=PDF को विभाजित करें
|
||||||
split-by-sections.merge=एक पीडीऐ में मिलाएं
|
split-by-sections.merge=Merge Into One PDF
|
||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=फाइल प्रिंत करें
|
printFile.title=Print File
|
||||||
printFile.header=प्रिंट फाइल को प्रिंटर पर प्रिंट करें
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=Select File to Print
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=प्रिंटर का नाम दर्ज करें
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=Print
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
@@ -1198,50 +1183,50 @@ printFile.submit=Print
|
|||||||
licenses.nav=Licenses
|
licenses.nav=Licenses
|
||||||
licenses.title=3rd Party Licenses
|
licenses.title=3rd Party Licenses
|
||||||
licenses.header=3rd Party Licenses
|
licenses.header=3rd Party Licenses
|
||||||
licenses.module=मॗड्यूल
|
licenses.module=Module
|
||||||
licenses.version=वेरसन
|
licenses.version=Version
|
||||||
licenses.license=License
|
licenses.license=License
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=परीक्षण
|
survey.nav=Survey
|
||||||
survey.title=स्टार्लिंग-पीडीएफ परीक्षण
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=अंतिम परीक्षण के बाद स्टार्लिंग-पीडीएफ में कई बदलाव हो गए! अधिक जानने के लिए यहाँ हमारे ब्लॉग पोस्ट का प्रयास करें:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=इन बदलावों से हम अपने व्यवसाय सहायता और जैकड़ की मिलान पाने की कुछ आशा रख रहे हैं
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(अपडेटों के बाद स्क्वायर पपपल अक्सर निष्क्रिय होगा, लेकिन पृष्ठ की तल उस पर उपलब्ध होगा)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=परीक्षण करें
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=मुद्रण फ्लास्क से नहीं मिलाएं
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
error.sorry=अनुभव में विफलता के लिए खेद होता है!
|
error.sorry=Sorry for the issue!
|
||||||
error.needHelp=मदद की जरूरत है / सहायता पानी पाया?
|
error.needHelp=Need help / Found an issue?
|
||||||
error.contactTip=अगर आप भी समस्याओं के साथ बच रहे हैं, तो हमें मदद प्राप्त करने के लिए निष्क्रियता न करके अपनी सहायता की मुद्दों को भेज सकते हैं. आप GitHub पेज पर टिकट भेज सकते हैं या Discord ग्रुप में हमसे संपर्क कर सकते हैं:
|
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
||||||
error.404.head=404 - पृष्ठ नहीं पाया | तो, कोड में कुछ गलती हुई!
|
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
||||||
error.404.1=मेहनदरी से, आप खोज रहे पृष्ठ नहीं पाया जा सकता.
|
error.404.1=We can't seem to find the page you're looking for.
|
||||||
error.404.2=कुछ गलती हुई.
|
error.404.2=Something went wrong
|
||||||
error.github=GitHub पर टिकट भेजें
|
error.github=Submit a ticket on GitHub
|
||||||
error.showStack=स्टैक ट्रेस को दिखाएं
|
error.showStack=Show Stack Trace
|
||||||
error.copyStack=स्टैक ट्रेस कopiए
|
error.copyStack=Copy Stack Trace
|
||||||
error.githubSubmit=GitHub - टिकट पहुँचाओ
|
error.githubSubmit=GitHub - Submit a ticket
|
||||||
error.discordSubmit=Discord - समर्थन पोस्ट पोस्ट करें
|
error.discordSubmit=Discord - Submit Support post
|
||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=इंजाइम हटाएं
|
removeImage.title=Remove image
|
||||||
removeImage.header=इंजाइम हटाएं
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=इंजाइम हटाएं
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=इंजाइम हटाएं
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=पीडीएफ को अध्यायों द्वारा भागों में बाटें
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=पीडीएफ को अध्यायों द्वारा भागों में बाटें
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=लेमैक्स स्तर
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=मीटाडेटा को शामिल करें
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=डबल्स अनुमति दें
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=यह यंकल सिपटे एक पीडीएफ फाइल को अपनी अध्याय संरचना के आधार पर बहुतांश नेट्स में विभाजित करता है.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=लेमैक्स स्तर: विभाजन के लिए उपयोग की गई लेमैक्स स्तर चुनें (0 टॉप-लेवल, 1 दूसरा-लेवल, इतर जैसे).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=मॉडेटरेट का शामिल करें: यदि सत्यापित किया जाता है, प्रारंभिक PDF की मॉडेटरेट को प्रत्येक विभाग PDF में शामिल किया जाएगा।
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=यादृच्छिक पुनरावृत्ति अनुमोदित: यदि सत्यापित किया जाता है, एक ही पेज पर दोहरे मूल्यांकन पब्लिक पीड़एफ बनाने की संभावना देता है।
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=PDF विभाजित
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Veličina pisma
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Ime pisma
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Odaberi PDF(ove)
|
pdfPrompt=Odaberi PDF(ove)
|
||||||
multiPdfPrompt=Odaberi PDF-ove (2+)
|
multiPdfPrompt=Odaberi PDF-ove (2+)
|
||||||
multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove
|
multiPdfDropPrompt=Odaberi (ili povuci i ispusti) sve potrebne PDF-ove
|
||||||
@@ -27,7 +27,7 @@ bored=Dosađujete se čekajući?
|
|||||||
alphabet=Abeceda
|
alphabet=Abeceda
|
||||||
downloadPdf=Preuzmi PDF
|
downloadPdf=Preuzmi PDF
|
||||||
text=Tekst
|
text=Tekst
|
||||||
font=Pismo
|
font=Font
|
||||||
selectFillter=-- Odaberi --
|
selectFillter=-- Odaberi --
|
||||||
pageNum=Broj stranice
|
pageNum=Broj stranice
|
||||||
sizes.small=Malo
|
sizes.small=Malo
|
||||||
@@ -56,12 +56,12 @@ userNotFoundMessage=Korisnik nije pronađen.
|
|||||||
incorrectPasswordMessage=Kriva zaporka.
|
incorrectPasswordMessage=Kriva zaporka.
|
||||||
usernameExistsMessage=Korisničko ime već postoji
|
usernameExistsMessage=Korisničko ime već postoji
|
||||||
invalidUsernameMessage=Nevažeće korisničko ime, korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
|
invalidUsernameMessage=Nevažeće korisničko ime, korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
|
||||||
invalidPasswordMessage=Lozinka ne smije biti prazna i ne smije počinjati ni završavati sa razmakom.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Nova lozinka i potvrda nove lozinke moraju biti identične.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Nije moguće izbrisati trenutno prijavljenog korisnika.
|
deleteCurrentUserMessage=Nije moguće izbrisati trenutno prijavljenog korisnika.
|
||||||
deleteUsernameExistsMessage=Korisničko ime ne postoji i ne može se izbrisati.
|
deleteUsernameExistsMessage=Korisničko ime ne postoji i ne može se izbrisati.
|
||||||
downgradeCurrentUserMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika
|
downgradeCurrentUserMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika
|
||||||
disabledCurrentUserMessage=Trenutni korisnik ne može biti onemogućen
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika. Dakle, trenutni korisnik neće biti prikazan.
|
downgradeCurrentUserLongMessage=Nije moguće vratiti unazad ulogu trenutnog korisnika. Dakle, trenutni korisnik neće biti prikazan.
|
||||||
userAlreadyExistsOAuthMessage=Korisnik već postoji kao OAuth2 korisnik.
|
userAlreadyExistsOAuthMessage=Korisnik već postoji kao OAuth2 korisnik.
|
||||||
userAlreadyExistsWebMessage=Korisnik već postoji kao web korisnik.
|
userAlreadyExistsWebMessage=Korisnik već postoji kao web korisnik.
|
||||||
@@ -75,19 +75,18 @@ visitGithub=Posjeti Github Repository
|
|||||||
donate=Doniraj
|
donate=Doniraj
|
||||||
color=Boja
|
color=Boja
|
||||||
sponsor=Sponzor
|
sponsor=Sponzor
|
||||||
info=Informacije
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Stranica
|
page=Page
|
||||||
pages=Stranice
|
pages=Pages
|
||||||
loading=Učitavanje...
|
loading=Loading...
|
||||||
addToDoc=Dodaj u dokument
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Politika privatnosti
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Uspe sodržine
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Dostupnost
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Politika kolačića
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Vedro ishoda
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -99,7 +98,7 @@ pipeline.defaultOption=Prilagođeno
|
|||||||
pipeline.submitButton=Pošalji
|
pipeline.submitButton=Pošalji
|
||||||
pipeline.help=Pipeline Pomoć
|
pipeline.help=Pipeline Pomoć
|
||||||
pipeline.scanHelp=Pomoć za skeniranje mapa
|
pipeline.scanHelp=Pomoć za skeniranje mapa
|
||||||
pipeline.deletePrompt=Jeste li sigurni da želite obrisati pipeline?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -117,21 +116,21 @@ pipelineOptions.validateButton=Potvrdi
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Ažurirajte na Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Ova funkcija je dostupna samo pro korisnicima.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro podrzava konfiguiracione datoteke u formati YAML i druga osobine SSO.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Tražite još funkcija za upravljanje korisnicima? Razmotrite Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Želite li da stvarate Stirling PDF bolji?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF ima uključene analitike koje nam pomažu da proizvod poboljšamo. Niste pratili nikakva osobna informacija ni sadržaj datoteka.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Razmotrite omogućivanje analitičkih podataka kako biste stvorili Stirling-PDF veće i da bismo bolje razumeli naših korisnika.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Omogući analitike
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Onemogući analitike
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Možete promijeniti postavke za analitike u datoteci config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Jezici
|
|||||||
navbar.settings=Postavke
|
navbar.settings=Postavke
|
||||||
navbar.allTools=Alati
|
navbar.allTools=Alati
|
||||||
navbar.multiTool=Multi Tools (Alati)
|
navbar.multiTool=Multi Tools (Alati)
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizirati
|
navbar.sections.organize=Organizirati
|
||||||
navbar.sections.convertTo=Pretvori u PDF
|
navbar.sections.convertTo=Pretvori u PDF
|
||||||
navbar.sections.convertFrom=Pretvori iz PDF
|
navbar.sections.convertFrom=Pretvori iz PDF
|
||||||
navbar.sections.security=Potpis & sigurnost
|
navbar.sections.security=Potpis & sigurnost
|
||||||
navbar.sections.advance=Napredno
|
navbar.sections.advance=Napredno
|
||||||
navbar.sections.edit=Pregled & Uređivanje
|
navbar.sections.edit=Pregled & Uređivanje
|
||||||
navbar.sections.popular=Popularno
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -206,9 +204,9 @@ adminUserSettings.header=Postavka kontrole korisnika za administratora
|
|||||||
adminUserSettings.admin=Administrator
|
adminUserSettings.admin=Administrator
|
||||||
adminUserSettings.user=Korisnik
|
adminUserSettings.user=Korisnik
|
||||||
adminUserSettings.addUser=Dodaj novog korisnika
|
adminUserSettings.addUser=Dodaj novog korisnika
|
||||||
adminUserSettings.deleteUser=Obriši korisnika
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=Treba li obračunati ovaj korisnika?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Treba li isključiti/uključiti ovog korisnika?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=Korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
|
adminUserSettings.usernameInfo=Korisničko ime može sadržavati samo slova, brojke i sljedeće posebne znakove @._+- ili mora biti važeća adresa e-pošte.
|
||||||
adminUserSettings.roles=Uloge
|
adminUserSettings.roles=Uloge
|
||||||
adminUserSettings.role=Uloga
|
adminUserSettings.role=Uloga
|
||||||
@@ -222,33 +220,32 @@ adminUserSettings.forceChange=Prisiliti korisnika da promijeni lozinku prilikom
|
|||||||
adminUserSettings.submit=Spremi korisnika
|
adminUserSettings.submit=Spremi korisnika
|
||||||
adminUserSettings.changeUserRole=Promijenite korisničku ulogu
|
adminUserSettings.changeUserRole=Promijenite korisničku ulogu
|
||||||
adminUserSettings.authenticated=Autentificirano
|
adminUserSettings.authenticated=Autentificirano
|
||||||
adminUserSettings.editOwnProfil=Uredi vlastit profil
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=Omotljiv korisnik
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=Onemogućen korisnik
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Aktivni korisnici:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Isključeni korisnici:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Ukupan broj korisnika:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Zadnji zahtjev
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Database Import/Export
|
database.title=Database Import/Export
|
||||||
database.header=Database Import/Export
|
database.header=Database Import/Export
|
||||||
database.fileName=Ime datoteke
|
database.fileName=File Name
|
||||||
database.creationDate=Datum stvaranja
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Veličina datoteke
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Obriši zadao sažeto datoteke
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Uvezi sažeto datoteku
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Preuzmi sažeto datoteku
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Kada uvažavate podatke, je ključno sigurno imati ispravan struktur. Ako niste sigurni šta uradite, tražite savjet i podršku od professionala. Greška u strukturi može uzrokovati greške u aplikaciji, do i uključujući potpunu nevjerojatnost funkcionalnosti aplikacije.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=Ime datoteke nije relevantno prijevezi. Buduće bit će ponovno oznaceno za određeni format backup_user_yyyyMMddHHmm.sql, čime se osigurava konzistentna nazivnica.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Uvezi sažeto
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Uvez u bazu podataka uspio
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Datoteka ne smije biti null ili prazna
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Vaš sesija je istekla. Molim vas da osvježite stranicu i pokušate ponovno.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -288,7 +285,7 @@ pdfToImage.tags=konverzija,img,jpg,slika,foto
|
|||||||
|
|
||||||
home.pdfOrganiser.title=Organiziranje
|
home.pdfOrganiser.title=Organiziranje
|
||||||
home.pdfOrganiser.desc=Uklonite/preuredite stranice bilo kojim redoslijedom
|
home.pdfOrganiser.desc=Uklonite/preuredite stranice bilo kojim redoslijedom
|
||||||
pdfOrganiser.tags=dvostrana,parne,neparni,prikupljanje,prebacivanje
|
pdfOrganiser.tags=duplex,even,odd,sort,move
|
||||||
|
|
||||||
|
|
||||||
home.addImage.title=Dodaj sliku
|
home.addImage.title=Dodaj sliku
|
||||||
@@ -352,7 +349,7 @@ PDFToPresentation.tags=slajdovi,prikaz,office,microsoft
|
|||||||
|
|
||||||
home.PDFToText.title=PDF u RTF (Tekst)
|
home.PDFToText.title=PDF u RTF (Tekst)
|
||||||
home.PDFToText.desc=Pretvorite PDF u tekst ili RTF format
|
home.PDFToText.desc=Pretvorite PDF u tekst ili RTF format
|
||||||
PDFToText.tags=bojaformata,tjedentextformat,sadržanotekstformat
|
PDFToText.tags=richformat,richtextformat,rich text format
|
||||||
|
|
||||||
home.PDFToHTML.title=PDF u HTML
|
home.PDFToHTML.title=PDF u HTML
|
||||||
home.PDFToHTML.desc=Pretvorite PDF u HTML format
|
home.PDFToHTML.desc=Pretvorite PDF u HTML format
|
||||||
@@ -395,9 +392,9 @@ home.certSign.title=Potpišite s certifikatom
|
|||||||
home.certSign.desc=Potpisuje PDF s certifikatom/ključem (PEM/P12)
|
home.certSign.desc=Potpisuje PDF s certifikatom/ključem (PEM/P12)
|
||||||
certSign.tags=autentifikacija,PEM,P12,zvanično,šifriranje
|
certSign.tags=autentifikacija,PEM,P12,zvanično,šifriranje
|
||||||
|
|
||||||
home.removeCertSign.title=Ukloni potpis sertifikata
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Uklonite potpis sertifikata iz PDF-a
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=autentičiranje,PEM,P12,djelomičan dešifriranje
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Izgled s više stranica
|
home.pageLayout.title=Izgled s više stranica
|
||||||
home.pageLayout.desc=Spojite više stranica PDF dokumenta u jednu stranicu
|
home.pageLayout.desc=Spojite više stranica PDF dokumenta u jednu stranicu
|
||||||
@@ -503,33 +500,33 @@ home.BookToPDF.title=Book u PDF
|
|||||||
home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre
|
home.BookToPDF.desc=Pretvara format knjige/stripa u PDF format pomoću calibre
|
||||||
BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle
|
BookToPDF.tags=Knjiga,Strip,Calibre,Pretvori,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Ukloni sliku
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Ukloni sliku iz PDF-a kako bi se smanjio veličina datoteke
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Ukloni sliku, Rad sa stranicama, Back end, server strana
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Podijeli PDF prema glavama
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Podijeli PDF na više datoteka prema njegovom strukturnom obliku glava.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=podjela, glave, markere, organizacija
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Zameni-inverziranje boja u PDF-u
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Zamenite boju teksta i pozadine u PDF-u te inverzirajte cijeli PDF kako bi se smanjila veličina datoteke.
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Zameni boju, Rad sa stranicama, Back end, server strana
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Optije za zamenu ili inverziranje boja
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Standardno (standarske visoko kontrastne boje)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Napčno (prilagođene boje)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Cijelo-inverzirajte (inverzirajte sve boje)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Optije visoko kontrastne boje
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Crna tekst na bijelu pozadini
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Bijeli tekst na crvenoj pozadini
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Žutni tekst na crnoj pozadini
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Zeleni tekst na crnoj pozadini
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Izaberite boju teksta
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Izaberite pozadinu boju
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Zamijeni
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=Vaš račun je zaključan.
|
|||||||
login.signinTitle=Molimo vas da se prijavite
|
login.signinTitle=Molimo vas da se prijavite
|
||||||
login.ssoSignIn=Prijavite se putem jedinstvene prijave
|
login.ssoSignIn=Prijavite se putem jedinstvene prijave
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 automatsko kreiranje korisnika je onemogućeno
|
login.oauth2AutoCreateDisabled=OAUTH2 automatsko kreiranje korisnika je onemogućeno
|
||||||
login.oauth2AdminBlockedUser=Registracija ili prijava nekadreguiranih korisnika trenutno su blokirane. Molimo Vas da kontaktirate administratora.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Zahtjev za autorizaciju nije pronađen
|
login.oauth2RequestNotFound=Zahtjev za autorizaciju nije pronađen
|
||||||
login.oauth2InvalidUserInfoResponse=Nevažeće informacije o korisniku
|
login.oauth2InvalidUserInfoResponse=Nevažeće informacije o korisniku
|
||||||
login.oauth2invalidRequest=Neispravan zahtjev
|
login.oauth2invalidRequest=Neispravan zahtjev
|
||||||
login.oauth2AccessDenied=Pristup odbijen
|
login.oauth2AccessDenied=Pristup odbijen
|
||||||
login.oauth2InvalidTokenResponse=Nevažeći odgovor tokena
|
login.oauth2InvalidTokenResponse=Nevažeći odgovor tokena
|
||||||
login.oauth2InvalidIdToken=Nevažeći ID token
|
login.oauth2InvalidIdToken=Nevažeći ID token
|
||||||
login.userIsDisabled=Korisnik je deaktiviran, prijava sa ovim korisničkim imenom je trenutno zakazana. Molimo Vas da kontaktirate administratorske osobe.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Već ste se prijavili na
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=ure. Odjavite se s ure i pokušajte ponovo.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Imate preko mrežne sesije aktivnih
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Automatsko uređivanje
|
autoRedact.title=Automatsko uređivanje
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Potvrdi
|
|||||||
scalePages.title=Podesite veličinu stranice
|
scalePages.title=Podesite veličinu stranice
|
||||||
scalePages.header=Podesite veličinu stranice
|
scalePages.header=Podesite veličinu stranice
|
||||||
scalePages.pageSize=Veličina stranice dokumenta.
|
scalePages.pageSize=Veličina stranice dokumenta.
|
||||||
scalePages.keepPageSize=Originalna veličina
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Razina zumiranja (obrezivanje) stranice.
|
scalePages.scaleFactor=Razina zumiranja (obrezivanje) stranice.
|
||||||
scalePages.submit=Potvrdi
|
scalePages.submit=Potvrdi
|
||||||
|
|
||||||
@@ -753,15 +750,14 @@ certSign.showSig=Prikaži potpis
|
|||||||
certSign.reason=Razlog
|
certSign.reason=Razlog
|
||||||
certSign.location=Mjesto
|
certSign.location=Mjesto
|
||||||
certSign.name=Ime
|
certSign.name=Ime
|
||||||
certSign.showLogo=Prikaži logo
|
|
||||||
certSign.submit=Potpiši PDF
|
certSign.submit=Potpiši PDF
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Ukloni digitalno potpisano dokazilo
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=Uklonite digitalni potpis iz PDF-a
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=Odaberite datoteku PDF:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Ukloni potpisi
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Ukloni
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Uporedite
|
compare.title=Uporedite
|
||||||
compare.header=Usporedite PDF-ove
|
compare.header=Usporedite PDF-ove
|
||||||
compare.highlightColor.1=Boja osvetljenja 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Boja osvetljenja 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Dokument 1
|
compare.document.1=Dokument 1
|
||||||
compare.document.2=Dokument 2
|
compare.document.2=Dokument 2
|
||||||
compare.submit=Uporedi
|
compare.submit=Uporedi
|
||||||
compare.complex.message=Jedan ili oba unesena dokumenta su veliki datoteke, to može smanjiti preciznost usporedbi
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Jedan ili oba unesena dokumenta su prevelike za obradu
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Jedan ili oba odabrana PDF-a nema tekst. Odaberite PDF-ove s tekstom za usporedbu.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Knjige i stripovi u PDF
|
BookToPDF.title=Knjige i stripovi u PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Nacrtaj potpis
|
|||||||
sign.text=Tekstualni unos
|
sign.text=Tekstualni unos
|
||||||
sign.clear=Obriši
|
sign.clear=Obriši
|
||||||
sign.add=Dodaj
|
sign.add=Dodaj
|
||||||
sign.saved=Sacuvane potpisne oznake
|
sign.saved=Saved Signatures
|
||||||
sign.save=Sačuvaj potpisnu oznaku
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Osobni potpisi
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Dijeljeni potpisi
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Nema sacuvanih potpisa pronađenih
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Minimalna konturna površina:
|
|||||||
ScannerImageSplit.selectText.8=Postavlja minimalni prag površine konture za fotografiju
|
ScannerImageSplit.selectText.8=Postavlja minimalni prag površine konture za fotografiju
|
||||||
ScannerImageSplit.selectText.9=Veličina obruba:
|
ScannerImageSplit.selectText.9=Veličina obruba:
|
||||||
ScannerImageSplit.selectText.10=Postavlja veličinu obruba koji se dodaje i uklanja kako bi se spriječili bijeli obrubi u ispisu (zadano: 1).
|
ScannerImageSplit.selectText.10=Postavlja veličinu obruba koji se dodaje i uklanja kako bi se spriječili bijeli obrubi u ispisu (zadano: 1).
|
||||||
ScannerImageSplit.info=Python nije instaliran. Treba je za izvršenje.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Obradi PDF sa OCR-om
|
|||||||
extractImages.title=Ekstrakt slika
|
extractImages.title=Ekstrakt slika
|
||||||
extractImages.header=Ekstrakt slika
|
extractImages.header=Ekstrakt slika
|
||||||
extractImages.selectText=Odaberite format slike za pretvaranje izdvojenih slika
|
extractImages.selectText=Odaberite format slike za pretvaranje izdvojenih slika
|
||||||
extractImages.allowDuplicates=Sačuvaj duplikate slike
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Izdvajanje
|
extractImages.submit=Izdvajanje
|
||||||
|
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Spajanje
|
|||||||
merge.header=Spajanje više PDF-ova (2+)
|
merge.header=Spajanje više PDF-ova (2+)
|
||||||
merge.sortByName=Poredaj po imenu
|
merge.sortByName=Poredaj po imenu
|
||||||
merge.sortByDate=Poredaj po datumu
|
merge.sortByDate=Poredaj po datumu
|
||||||
merge.removeCertSign=Ukloniti digitalni potpis u kombiniranom datoteku?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Spajanje
|
merge.submit=Spajanje
|
||||||
|
|
||||||
|
|
||||||
@@ -927,7 +923,7 @@ pdfOrganiser.mode.6=Par-Nepar Podjela
|
|||||||
pdfOrganiser.mode.7=Ukloni Prvu
|
pdfOrganiser.mode.7=Ukloni Prvu
|
||||||
pdfOrganiser.mode.8=Ukloni Zadnju
|
pdfOrganiser.mode.8=Ukloni Zadnju
|
||||||
pdfOrganiser.mode.9=Ukloni Prvu i Zadnju
|
pdfOrganiser.mode.9=Ukloni Prvu i Zadnju
|
||||||
pdfOrganiser.mode.10=Neparno-parna kombinacija
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1)
|
pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1)
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(npr. 1,3,2 ili 4-8,2,10-12 ili 2n-1)
|
|||||||
multiTool.title=PDF Višenamjenski alat
|
multiTool.title=PDF Višenamjenski alat
|
||||||
multiTool.header=PDF Višenamjenski alat
|
multiTool.header=PDF Višenamjenski alat
|
||||||
multiTool.uploadPrompts=Naziv datoteke
|
multiTool.uploadPrompts=Naziv datoteke
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Pogledaj
|
viewPdf.title=Pogledaj
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Boja
|
|||||||
pdfToImage.grey=Sivi tonovi
|
pdfToImage.grey=Sivi tonovi
|
||||||
pdfToImage.blackwhite=Crno-bijelo (mogu se izgubiti podaci!)
|
pdfToImage.blackwhite=Crno-bijelo (mogu se izgubiti podaci!)
|
||||||
pdfToImage.submit=Pretvori
|
pdfToImage.submit=Pretvori
|
||||||
pdfToImage.info=Python nije instaliran. Treba je za konverziju na WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,7 +1029,7 @@ watermark.selectText.6=Visina razmaka (Razmak između svakog vodenog žiga okomi
|
|||||||
watermark.selectText.7=Neprozirnost (0% - 100%):
|
watermark.selectText.7=Neprozirnost (0% - 100%):
|
||||||
watermark.selectText.8=Vrsta vodenog žiga:
|
watermark.selectText.8=Vrsta vodenog žiga:
|
||||||
watermark.selectText.9=Slika vodenog žiga:
|
watermark.selectText.9=Slika vodenog žiga:
|
||||||
watermark.selectText.10=Konvertiraj PDF u PDF-Sliku
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Dodaj vodeni žig
|
watermark.submit=Dodaj vodeni žig
|
||||||
watermark.type.1=Tekst
|
watermark.type.1=Tekst
|
||||||
watermark.type.2=Slika
|
watermark.type.2=Slika
|
||||||
@@ -1101,7 +1086,7 @@ pdfToPDFA.credit=Ova usluga koristi ghostscript za PDF/A pretvorbu
|
|||||||
pdfToPDFA.submit=Pretvoriti
|
pdfToPDFA.submit=Pretvoriti
|
||||||
pdfToPDFA.tip=Trenutno ne radi za više unosa odjednom
|
pdfToPDFA.tip=Trenutno ne radi za više unosa odjednom
|
||||||
pdfToPDFA.outputFormat=Izlazni format
|
pdfToPDFA.outputFormat=Izlazni format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=PDF sadrži digitalni potpis. U sledećem koraku će biti uklonjen.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1203,15 +1188,15 @@ licenses.version=Verzija
|
|||||||
licenses.license=Licenca
|
licenses.license=Licenca
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Upitnica
|
survey.nav=Survey
|
||||||
survey.title=Stirling-PDF Upitnica
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=Stirling-PDF nema praćenje pa želimo svesnost korisnika da bi poboljšali Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF je promenjen od poslednje upitnice! Za više informacija, proverite naš blog ovdje:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=S ovim promenama dobivamo platnu podršku i financiranje poslovnim aktivnostima
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(Upitnica popup će biti onemogućena u sljedećim ažuracanjima aliće se nalaziti na dnu stranice)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Izvrsi upitnicu
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Ne prikazujući ponovo
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - Pošalji objavu podrške
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Ukloni sliku
|
removeImage.title=Remove image
|
||||||
removeImage.header=Ukloni sliku
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Ukloni sliku
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Izbriši sliku
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Podijeli PDF naoglazdene glave
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Podijeli PDF naoglazdene glave
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Nivo oznaka
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Uključi metapodatke
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Dopuštaj duplikate
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Ova alatka podijeli PDF datoteku u više PDFa na teme njene strukture glava.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Nivo oznaka: Odaberite nivo oznaka koji će se koristiti za podjelu (0 za prvi nivo, 1 za drugi nivo itd.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Uključi metapodatke: Ako je pokušano, metapodaci iz originalne PDF datoteke će biti uključeni u svaku podijeljenu PDF datoteku.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Dopuštaj duplikate: Ako je ova opcija zaštićena, dozvoljava se da se na istoj strani mogu stvoriti posebne PDF datoteke s više oznaka.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Podijeli PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Betűméret
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Betűtípus
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Válasszon PDF-fájlokat
|
pdfPrompt=Válasszon PDF-fájlokat
|
||||||
multiPdfPrompt=Válasszon PDF-fájlokat (2+)
|
multiPdfPrompt=Válasszon PDF-fájlokat (2+)
|
||||||
multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt
|
multiPdfDropPrompt=Válassza ki (vagy húzza ide) az összes szükséges PDF-fájlt
|
||||||
@@ -12,17 +12,17 @@ imgPrompt=Válasszon képeket
|
|||||||
genericSubmit=Beküldés
|
genericSubmit=Beküldés
|
||||||
processTimeWarning=Figyelmeztetés: Ez a folyamat akár egy percig is eltarthat a fájlmérettől függően
|
processTimeWarning=Figyelmeztetés: Ez a folyamat akár egy percig is eltarthat a fájlmérettől függően
|
||||||
pageOrderPrompt=Egyedi oldalsorrend (Adjon meg vesszővel elválasztott oldalszámokat vagy függvényeket, például 2n+1):
|
pageOrderPrompt=Egyedi oldalsorrend (Adjon meg vesszővel elválasztott oldalszámokat vagy függvényeket, például 2n+1):
|
||||||
pageSelectionPrompt=Egyedi oldal kiválasztás (Virtuális, hússzögletes lista formátumban írja meg a választott oldalak számát, például 1,5,6 vagy függvények formában: 2n+1):
|
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||||
goToPage=Ugrás
|
goToPage=Ugrás
|
||||||
true=Igaz
|
true=Igaz
|
||||||
false=Hamis
|
false=Hamis
|
||||||
unknown=Ismeretlen
|
unknown=Ismeretlen
|
||||||
save=Mentés
|
save=Mentés
|
||||||
saveToBrowser=Mentés bölcskébe
|
saveToBrowser=Save to Browser
|
||||||
close=Bezárás
|
close=Bezárás
|
||||||
filesSelected=kiválasztott fájlok
|
filesSelected=kiválasztott fájlok
|
||||||
noFavourites=Nincs hozzáadva kedvenc
|
noFavourites=Nincs hozzáadva kedvenc
|
||||||
downloadComplete=Letöltés befejezve
|
downloadComplete=Download Complete
|
||||||
bored=Unatkozol?
|
bored=Unatkozol?
|
||||||
alphabet=Ábécé
|
alphabet=Ábécé
|
||||||
downloadPdf=PDF letöltése
|
downloadPdf=PDF letöltése
|
||||||
@@ -46,117 +46,115 @@ red=Piros
|
|||||||
green=Zöld
|
green=Zöld
|
||||||
blue=Kék
|
blue=Kék
|
||||||
custom=Egyedi...
|
custom=Egyedi...
|
||||||
WorkInProgess=Munka folyamatban, lehetséges hibával működhet, kérjük jelentse meg bármilyen problémát!
|
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||||
poweredBy=Hozzávalója:
|
poweredBy=Powered by
|
||||||
yes=Igen
|
yes=Yes
|
||||||
no=Nem
|
no=No
|
||||||
changedCredsMessage=A hitelek megváltoztak!
|
changedCredsMessage=A hitelek megváltoztak!
|
||||||
notAuthenticatedMessage=Felhasználó nincs hitelesítve.
|
notAuthenticatedMessage=Felhasználó nincs hitelesítve.
|
||||||
userNotFoundMessage=A felhasználó nem található.
|
userNotFoundMessage=A felhasználó nem található.
|
||||||
incorrectPasswordMessage=A jelenlegi jelszó helytelen.
|
incorrectPasswordMessage=A jelenlegi jelszó helytelen.
|
||||||
usernameExistsMessage=Az új felhasználónév már létezik.
|
usernameExistsMessage=Az új felhasználónév már létezik.
|
||||||
invalidUsernameMessage=Érvénytelen felhasználónév, a felhasználónév csak betűk, számokat és az alábbi kisebb karaktereket tartalmazhat @._+- vagy egy érvényes e-mail címnek kell lennie.
|
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
invalidPasswordMessage=A jelszó nem lehet üres és nem lehet teljesen tartalmazni háttérspácseket.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Új jelszó és Megerősítési új jelszó egyeztetése.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Jelenleg bejelentkezett felhasználót nem lehet törölni.
|
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||||
deleteUsernameExistsMessage=A felhasználónév nem létezik és nem lehet törlésre került.
|
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||||
downgradeCurrentUserMessage=A jelenlegi felhasználó szerepkörét nem lehet visszaminősíteni
|
downgradeCurrentUserMessage=A jelenlegi felhasználó szerepkörét nem lehet visszaminősíteni
|
||||||
disabledCurrentUserMessage=Jelenleg bejelentkezett felhasználó nem lehet letiltva.
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Az aktuális felhasználó szerepkörét nem lehet visszaminősíteni. Ezért az aktuális felhasználó nem jelenik meg.
|
downgradeCurrentUserLongMessage=Az aktuális felhasználó szerepkörét nem lehet visszaminősíteni. Ezért az aktuális felhasználó nem jelenik meg.
|
||||||
userAlreadyExistsOAuthMessage=Az ezer hitelesítő szolgáltatás felhasználó ismertetve van.
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=A web felhasználó ismertetve van.
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=Hiba
|
error=Error
|
||||||
oops=Egy gond történt!
|
oops=Oops!
|
||||||
help=Segítség
|
help=Help
|
||||||
goHomepage=Kezdőoldal megnyitása
|
goHomepage=Go to Homepage
|
||||||
joinDiscord=Jönj hozzá a Discord-szervert
|
joinDiscord=Join our Discord server
|
||||||
seeDockerHub=Docker Hub-on látni
|
seeDockerHub=See Docker Hub
|
||||||
visitGithub=GitHub Repository megtekintése
|
visitGithub=Visit Github Repository
|
||||||
donate=Szerzés működéséhez segítségnyújtás
|
donate=Donate
|
||||||
color=Szín
|
color=Color
|
||||||
sponsor=Támogatók bejegyzése
|
sponsor=Sponsor
|
||||||
info=Információ
|
info=Info
|
||||||
pro=Professionális
|
pro=Pro
|
||||||
page=Oldal
|
page=Page
|
||||||
pages=Oldalak
|
pages=Pages
|
||||||
loading=Betöltés...
|
loading=Loading...
|
||||||
addToDoc=Hozzáadás dokumentumba
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Adatvédelmi nyilatkozat
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Feltételek és feltételek
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Elérhetőség
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Cukiernyomtatványi zászló
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Rendszerinformáció
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
###############
|
###############
|
||||||
pipeline.header=Pipelinenavigációs menü (betavizsgálat)
|
pipeline.header=Pipeline Menu (Beta)
|
||||||
pipeline.uploadButton=Feltöltés
|
pipeline.uploadButton=Upload Custom
|
||||||
pipeline.configureButton=Konfigurálás
|
pipeline.configureButton=Configure
|
||||||
pipeline.defaultOption=Egyéni
|
pipeline.defaultOption=Custom
|
||||||
pipeline.submitButton=Küldés
|
pipeline.submitButton=Submit
|
||||||
pipeline.help=Útmutató a pipelínhez
|
pipeline.help=Pipeline Help
|
||||||
pipeline.scanHelp=Mappák lekérése útmutatása
|
pipeline.scanHelp=Folder Scanning Help
|
||||||
pipeline.deletePrompt=Biztosan törölni szeretné az opciókat?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
######################
|
######################
|
||||||
pipelineOptions.header=Pipelín beállításai
|
pipelineOptions.header=Pipeline Configuration
|
||||||
pipelineOptions.pipelineNameLabel=Pipelín neve
|
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||||
pipelineOptions.saveSettings=Beállítások mentése
|
pipelineOptions.saveSettings=Save Operation Settings
|
||||||
pipelineOptions.pipelineNamePrompt=Írd be a pipelín nevét ide
|
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||||
pipelineOptions.selectOperation=Művelet kiválasztása
|
pipelineOptions.selectOperation=Select Operation
|
||||||
pipelineOptions.addOperationButton=Művelet hozzáadása
|
pipelineOptions.addOperationButton=Add operation
|
||||||
pipelineOptions.pipelineHeader=Pipelín:
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=Mentés
|
pipelineOptions.saveButton=Download
|
||||||
pipelineOptions.validateButton=Érvényesítés
|
pipelineOptions.validateButton=Validate
|
||||||
|
|
||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Növelje a személyrendszert PRO-re
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Ez a funkció csak a PRO felhasználók számára érhető el.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF PRO támogatja a YAML konfigurációs fájlokat és más SSO jellemzőket.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Több felhasználókezelési funkcióra vár? Ismételje meg a figyalmazást az Stirling PDF PRO szolgáltatásaihoz.
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Szeretnéd tetszésre módosítani a Stirling PDF-t?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=A Stirling PDF szöveges adatokat jellemző integrációt teszi lehetővé, hogy javítsuk a terméket. Nem folytatjuk semmit sem a személyes információk vagy fájl tartalmakat.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Köszönjük tekintse meg az integrációt, ami segít a Stirling-PDF növekedésében és segítne megértenünk a felhasználóinkat jobban.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Engedélyezze az analitikát
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Letiltja az analitikát
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=A beállítások módosítása az analitikáért a config/settings.yml fájlban
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
#############
|
#############
|
||||||
navbar.favorite=Kedvencek
|
navbar.favorite=Favorites
|
||||||
navbar.darkmode=Sötét mód
|
navbar.darkmode=Sötét mód
|
||||||
navbar.language=Nyelvek
|
navbar.language=Languages
|
||||||
navbar.settings=Beállítások
|
navbar.settings=Beállítások
|
||||||
navbar.allTools=Eszközök
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.organize=Összeállítás
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertTo=Átalakítás PDF-be
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
navbar.sections.convertFrom=PDF-ből átalakítás
|
navbar.sections.security=Sign & Security
|
||||||
navbar.sections.security=Hitelesítés & Biztonság
|
navbar.sections.advance=Advanced
|
||||||
navbar.sections.advance=Fogadott funkciók
|
navbar.sections.edit=View & Edit
|
||||||
navbar.sections.edit=Nézés és szerkesztés
|
navbar.sections.popular=Popular
|
||||||
navbar.sections.popular=Populáris
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
#############
|
#############
|
||||||
settings.title=Beállítások
|
settings.title=Beállítások
|
||||||
settings.update=Frisítés elérhető
|
settings.update=Frisítés elérhető
|
||||||
settings.updateAvailable={0} az aktuális telepített verzió. Az újabb verzió ({1}) elérhető.
|
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available.
|
||||||
settings.appVersion=App Verzió:
|
settings.appVersion=App Verzió:
|
||||||
settings.downloadOption.title=Válassza ki a letöltési lehetőséget (Egyetlen fájl esetén a nem tömörített letöltésekhez):
|
settings.downloadOption.title=Válassza ki a letöltési lehetőséget (Egyetlen fájl esetén a nem tömörített letöltésekhez):
|
||||||
settings.downloadOption.1=Nyissa meg ugyanabban az ablakban
|
settings.downloadOption.1=Nyissa meg ugyanabban az ablakban
|
||||||
@@ -165,13 +163,13 @@ settings.downloadOption.3=Töltse le a fájlt
|
|||||||
settings.zipThreshold=Fájlok tömörítése, ha a letöltött fájlok száma meghaladja
|
settings.zipThreshold=Fájlok tömörítése, ha a letöltött fájlok száma meghaladja
|
||||||
settings.signOut=Kijelentkezés
|
settings.signOut=Kijelentkezés
|
||||||
settings.accountSettings=Fiókbeállítások
|
settings.accountSettings=Fiókbeállítások
|
||||||
settings.bored.help=Easter Egg játék engedélyezése
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=Formulálapok mentése
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=Engedélyezve a korábban használt adatok tárolása a következő futásokhoz
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=Hitelesítés megváltoztatása
|
changeCreds.title=Hitelesítés megváltoztatása
|
||||||
changeCreds.header=Frissítse fiókadatait
|
changeCreds.header=Frissítse fiókadatait
|
||||||
changeCreds.changePassword=Használja a szükséges bejelentkezési adatokat. Kérjen meg egy új jelszót.
|
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||||
changeCreds.newUsername=Új felhasználónév
|
changeCreds.newUsername=Új felhasználónév
|
||||||
changeCreds.oldPassword=Jelenlegi jelszó
|
changeCreds.oldPassword=Jelenlegi jelszó
|
||||||
changeCreds.newPassword=Új jelszó
|
changeCreds.newPassword=Új jelszó
|
||||||
@@ -206,49 +204,48 @@ adminUserSettings.header=Adminisztrátori Felhasználói Vezérlési Beállítá
|
|||||||
adminUserSettings.admin=Adminisztrátor
|
adminUserSettings.admin=Adminisztrátor
|
||||||
adminUserSettings.user=Felhasználó
|
adminUserSettings.user=Felhasználó
|
||||||
adminUserSettings.addUser=Új felhasználó hozzáadása
|
adminUserSettings.addUser=Új felhasználó hozzáadása
|
||||||
adminUserSettings.deleteUser=Törlés felhasználó
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=A felhasználót töröljük?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Az állapot módosítása megfelelően?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=A felhasználónév csak betűk, számok és az alábbi speciális karakterek @._+- vagy egy érvényes e-mail-cím lehet.
|
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
adminUserSettings.roles=Szerepek
|
adminUserSettings.roles=Szerepek
|
||||||
adminUserSettings.role=Szerep
|
adminUserSettings.role=Szerep
|
||||||
adminUserSettings.actions=Műveletek
|
adminUserSettings.actions=Műveletek
|
||||||
adminUserSettings.apiUser=Korlátozott API-felhasználó
|
adminUserSettings.apiUser=Korlátozott API-felhasználó
|
||||||
adminUserSettings.extraApiUser=További korlátozott API felhasználó
|
adminUserSettings.extraApiUser=Additional Limited API User
|
||||||
adminUserSettings.webOnlyUser=Csak webes felhasználó
|
adminUserSettings.webOnlyUser=Csak webes felhasználó
|
||||||
adminUserSettings.demoUser=Demofelhasználó (nincs egyedi beállítás)
|
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||||
adminUserSettings.internalApiUser=Belső API felhasználó
|
adminUserSettings.internalApiUser=Internal API User
|
||||||
adminUserSettings.forceChange=Kényszerítse a felhasználót a felhasználónév/jelszó megváltoztatására bejelentkezéskor
|
adminUserSettings.forceChange=Kényszerítse a felhasználót a felhasználónév/jelszó megváltoztatására bejelentkezéskor
|
||||||
adminUserSettings.submit=Felhasználó mentése
|
adminUserSettings.submit=Felhasználó mentése
|
||||||
adminUserSettings.changeUserRole=Felhasználó szerepkörének módosítása
|
adminUserSettings.changeUserRole=Felhasználó szerepkörének módosítása
|
||||||
adminUserSettings.authenticated=Bejelentkezett
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=Saját profil szerkesztése
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=Engedélyezett felhasználó
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=Letiltott felhasználó
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Aktív Felhasználók:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Letiltott Felhasználók:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Összes Felhasználó:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Utolsó kérelem
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Adatbázis import/export
|
database.title=Database Import/Export
|
||||||
database.header=Adatbázis import/export
|
database.header=Database Import/Export
|
||||||
database.fileName=Fájlnév
|
database.fileName=File Name
|
||||||
database.creationDate=Létrehozás dátuma
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Fájlszámítás
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Visszaulasztó fájl törlése
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Bemérsz visszaulastó fájl
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Bemérő fájlet letöltés
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=A bemeneti adatok bemérésekor fontos, hogy az helyes struktúrát biztosítsa. Ha nem tudja mit csinál, kérjen támogatást egy szakembertől. Az erőforrás hibája okozhat alkalmazás-ismerséleti gondokat, és viszontig, hogy az alkalmazás teljesen nem fut.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=A fájl neve nem jelent részt a feltöltés során. Később újra néven lesz átalakítva egy konzisztens nevésrendszert követve, a formátum: visszaulasztó_user_yyyyMMddHHmm.sql.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Bemérsz visszaulastó fájl
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Adatbázisba importálva sikeresen
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Fájlnull vagy üres nélkül nem lehet folytatni
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=A munkamenet letelezett. Frissítse a lapot és próbálkozzon újra.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -383,9 +380,9 @@ home.removeBlanks.title=Üres lapok eltávolítása
|
|||||||
home.removeBlanks.desc=Felismeri és eltávolítja az üres lapokat a dokumentumból
|
home.removeBlanks.desc=Felismeri és eltávolítja az üres lapokat a dokumentumból
|
||||||
removeBlanks.tags=takarítás,egyszerűsítés,nem-tartalom,szervez
|
removeBlanks.tags=takarítás,egyszerűsítés,nem-tartalom,szervez
|
||||||
|
|
||||||
home.removeAnnotations.title=Kijelölések eltávolítása
|
home.removeAnnotations.title=Remove Annotations
|
||||||
home.removeAnnotations.desc=Egy PDF-től minden megjegyzés/mérlegelt elemét törli ki
|
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||||
removeAnnotations.tags=megjegyzések, kiemelés, jegyzetek, módosítások, törlés
|
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||||
|
|
||||||
home.compare.title=Összehasonlítás
|
home.compare.title=Összehasonlítás
|
||||||
home.compare.desc=Összehasonlítja és megmutatja a különbségeket két PDF dokumentum között
|
home.compare.desc=Összehasonlítja és megmutatja a különbségeket két PDF dokumentum között
|
||||||
@@ -395,9 +392,9 @@ home.certSign.title=Aláírás Tanúsítvánnyal
|
|||||||
home.certSign.desc=PDF aláírása tanúsítvánnyal/kulccsal (PEM/P12)
|
home.certSign.desc=PDF aláírása tanúsítvánnyal/kulccsal (PEM/P12)
|
||||||
certSign.tags=hitelesítés,PEM,P12,hivatalos,segitít,álca
|
certSign.tags=hitelesítés,PEM,P12,hivatalos,segitít,álca
|
||||||
|
|
||||||
home.removeCertSign.title=Tanúsítványi aláírás eltávolítása
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=A PDF-től a tanúsítványi aláíratot törli ki
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=hitelesítés, PEM, P12, szakmai, dekriptálás
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Több oldal elrendezése
|
home.pageLayout.title=Több oldal elrendezése
|
||||||
home.pageLayout.desc=Több oldal egyesítése egy PDF dokumentumban egyetlen oldallá
|
home.pageLayout.desc=Több oldal egyesítése egy PDF dokumentumban egyetlen oldallá
|
||||||
@@ -423,7 +420,7 @@ home.adjust-contrast.title=Színek/Kontraszt beállítása
|
|||||||
home.adjust-contrast.desc=PDF kontrasztjának, telítettségének és világosságának beállítása
|
home.adjust-contrast.desc=PDF kontrasztjának, telítettségének és világosságának beállítása
|
||||||
adjust-contrast.tags=szín-korrekció,beállítás,módosítás,fokoz
|
adjust-contrast.tags=szín-korrekció,beállítás,módosítás,fokoz
|
||||||
|
|
||||||
home.crop.title=PDF vágása
|
home.crop.title=Crop PDF
|
||||||
home.crop.desc=PDF vágása a méret csökkentése érdekében (a szöveg megőrzése mellett!)
|
home.crop.desc=PDF vágása a méret csökkentése érdekében (a szöveg megőrzése mellett!)
|
||||||
crop.tags=vágás,csökkentés,szerkesztés,forma
|
crop.tags=vágás,csökkentés,szerkesztés,forma
|
||||||
|
|
||||||
@@ -472,7 +469,7 @@ home.autoRedact.title=Automatikus Elrejtés
|
|||||||
home.autoRedact.desc=Automatikusan kitakar (elrejt) szöveget egy PDF-ben az input szöveg alapján
|
home.autoRedact.desc=Automatikusan kitakar (elrejt) szöveget egy PDF-ben az input szöveg alapján
|
||||||
autoRedact.tags=Elrejt,Elrejtés,kitakarás,fekete,fekete,marker,elrejtett
|
autoRedact.tags=Elrejt,Elrejtés,kitakarás,fekete,fekete,marker,elrejtett
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF-től CSV-be való átalakítás
|
home.tableExtraxt.title=PDF to CSV
|
||||||
home.tableExtraxt.desc=Táblázatok kinyerése a PDF-ből CSV formátumra konvertálva
|
home.tableExtraxt.desc=Táblázatok kinyerése a PDF-ből CSV formátumra konvertálva
|
||||||
tableExtraxt.tags=CSV,Táblázat kinyerése,kinyer,konvertál
|
tableExtraxt.tags=CSV,Táblázat kinyerése,kinyer,konvertál
|
||||||
|
|
||||||
@@ -490,46 +487,46 @@ home.split-by-sections.title=PDF Szakaszokra osztása
|
|||||||
home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra
|
home.split-by-sections.desc=Minden oldal felosztása kisebb vízszintes és függőleges szakaszokra
|
||||||
split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás
|
split-by-sections.tags=Szakasz elosztás, felosztás, testreszabás
|
||||||
|
|
||||||
home.AddStampRequest.title=Stempel hozzáadása PDF-be
|
home.AddStampRequest.title=Add Stamp to PDF
|
||||||
home.AddStampRequest.desc=Addja a szövegét vagy képkép stempelésekbe a megadott helyekre
|
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||||
AddStampRequest.tags=Stempel, kép hozzáadása, középső rendítés, csatorna, PDF, beágyazás, személyre szokásos
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF to könyv
|
home.PDFToBook.title=PDF to Book
|
||||||
home.PDFToBook.desc=A calibre segítségével PDF fájlt könyvtár/szókincs formátumba alakít.
|
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.BookToPDF.title=Könyv a PDF-be
|
home.BookToPDF.title=Book to PDF
|
||||||
home.BookToPDF.desc=A calibre segítségével könyvtár/szókincs fájlt PDF-be alakít.
|
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Kép törölése
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Törlés a képből a fájl méret csökkentéséhez
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Kép törlése, oldalszerkezet műveletek, háttér műveletek, kiszolgálói oldal
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=PDF felosztása fejezetek szerint
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Fejezetei alapján egy PDF fájl több dokumentumba osztás.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=Osztás, fejezetek, jelezes, organizálás
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Visszaalakítás-összevétel a színekkel PDF-ben
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Cserélje le a szöveg és háttér színét PDF-ben és visszaalakítja a teljes színt az eszköz méret csökkentéséhez
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Szín cseréje, oldalszerkezet műveletek, kiszolgálói oldal
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Cserélés-visszaalakítási opciók
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Alapértelmezett (Alacsony kontrastos színek)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Egyéni (Egyéni színok)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Összevétel Összesen (Mind a színeket visszaalakítja)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Alacsony kontrastos szín opciók
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=fehér szöveg fekete háttérre
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=fekete szöveg fehére háttérre
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=pálva szöveg fekete háttérre
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=zöld szöveg fekete háttérre
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Válasszon színet a szövékre
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Válassza a háttérszínt
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Cseréljön le
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=A fiókja zárolva lett!
|
|||||||
login.signinTitle=Kérjük, jelentkezzen be!
|
login.signinTitle=Kérjük, jelentkezzen be!
|
||||||
login.ssoSignIn=Bejelentkezés egyszeri bejelentkezéssel
|
login.ssoSignIn=Bejelentkezés egyszeri bejelentkezéssel
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 Felhasználó automatikus létrehozása letiltva
|
login.oauth2AutoCreateDisabled=OAUTH2 Felhasználó automatikus létrehozása letiltva
|
||||||
login.oauth2AdminBlockedUser=A nevű felhasználók regisztrációja vagy bejelentkezése megszakítva. Kérjen segítséget a rendszergazdától.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Hozzájárulási kérést nem találtunk
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=Érvénytelen felhasználói információs válasz
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=Érvénytelen kérelem
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=Hozzáférés megtagadva
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=Érvénytelen token-válasz
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=Érvénytelen azonosító token
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=A felhasználó deaktivált, a bejelentkezés jelenleg megszakítva ezzel a felhasználónévvel. Kérjen segítséget a rendszergazdától.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Már be van jelentkezve az
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=eszközökre. Kijelentkezzen ezekből a eszközökből, majd próbálja újra bejelentkezni.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Túl sok aktív munkamenet
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Érzékeny tartalom eltávolítása
|
autoRedact.title=Érzékeny tartalom eltávolítása
|
||||||
@@ -590,7 +587,7 @@ pdfToSinglePage.submit=Átalakítás egyetlen oldallá
|
|||||||
pageExtracter.title=Oldalak kinyerése
|
pageExtracter.title=Oldalak kinyerése
|
||||||
pageExtracter.header=Oldalak kinyerése
|
pageExtracter.header=Oldalak kinyerése
|
||||||
pageExtracter.submit=Kinyerés
|
pageExtracter.submit=Kinyerés
|
||||||
pageExtracter.placeholder=(pl. 1,2,8 vagy 4,7,12-16 vagy 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
@@ -622,37 +619,37 @@ HTMLToPDF.header=HTML >> PDF
|
|||||||
HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb.
|
HTMLToPDF.help=Elfogad HTML fájlokat és ZIP-fájlokat, amelyek tartalmaznak html/css/képeket stb.
|
||||||
HTMLToPDF.submit=Átalakítás
|
HTMLToPDF.submit=Átalakítás
|
||||||
HTMLToPDF.credit=WeasyPrint alkalmazása
|
HTMLToPDF.credit=WeasyPrint alkalmazása
|
||||||
HTMLToPDF.zoom=Oldalnéző szint a weboldal megjelenítésére.
|
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||||
HTMLToPDF.pageWidth=Oldal szélessége centiméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||||
HTMLToPDF.pageHeight=Oldal magassága centiméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||||
HTMLToPDF.marginTop=Oldal felső marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginBottom=Oldal alsó marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginLeft=Oldal bal oldali marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.marginRight=Oldal jobb oldali marginalása milliméterben. (Törlés esetén az alapértelmezett érték lesz)
|
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||||
HTMLToPDF.printBackground=Oldalsáv háttérét nyomtatásra jelenítse meg.
|
HTMLToPDF.printBackground=Render the background of websites.
|
||||||
HTMLToPDF.defaultHeader=Alapértelmezett fejléc (Nevezés és oldal szám) engedélyezése
|
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||||
HTMLToPDF.cssMediaType=Oldal CSS média típusának módosítása.
|
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||||
HTMLToPDF.none=Nincs
|
HTMLToPDF.none=None
|
||||||
HTMLToPDF.print=Nyomtatás
|
HTMLToPDF.print=Print
|
||||||
HTMLToPDF.screen=Élő képernyő
|
HTMLToPDF.screen=Screen
|
||||||
|
|
||||||
|
|
||||||
#AddStampRequest
|
#AddStampRequest
|
||||||
AddStampRequest.header=Stempel PDF-be
|
AddStampRequest.header=Stamp PDF
|
||||||
AddStampRequest.title=Stempel PDF-be
|
AddStampRequest.title=Stamp PDF
|
||||||
AddStampRequest.stampType=Stempel típusa
|
AddStampRequest.stampType=Stamp Type
|
||||||
AddStampRequest.stampText=Stempel szövege
|
AddStampRequest.stampText=Stamp Text
|
||||||
AddStampRequest.stampImage=Stempel képsora
|
AddStampRequest.stampImage=Stamp Image
|
||||||
AddStampRequest.alphabet=Alphabet
|
AddStampRequest.alphabet=Alphabet
|
||||||
AddStampRequest.fontSize=Betűméret/stépésnév
|
AddStampRequest.fontSize=Font/Image Size
|
||||||
AddStampRequest.rotation=Fordítás
|
AddStampRequest.rotation=Rotation
|
||||||
AddStampRequest.opacity=Átlátszathossz
|
AddStampRequest.opacity=Opacity
|
||||||
AddStampRequest.position=Pozíció
|
AddStampRequest.position=Position
|
||||||
AddStampRequest.overrideX=Överrite X koordinátája
|
AddStampRequest.overrideX=Override X Coordinate
|
||||||
AddStampRequest.overrideY=Överrite Y koordinátája
|
AddStampRequest.overrideY=Override Y Coordinate
|
||||||
AddStampRequest.customMargin=Egyéni mezők marginalája
|
AddStampRequest.customMargin=Custom Margin
|
||||||
AddStampRequest.customColor=Egyéni szövegszín
|
AddStampRequest.customColor=Custom Text Color
|
||||||
AddStampRequest.submit=Küldés
|
AddStampRequest.submit=Submit
|
||||||
|
|
||||||
|
|
||||||
#sanitizePDF
|
#sanitizePDF
|
||||||
@@ -698,7 +695,7 @@ adjustContrast.download=Letöltés
|
|||||||
|
|
||||||
#crop
|
#crop
|
||||||
crop.title=Körülvágás
|
crop.title=Körülvágás
|
||||||
crop.header=PDF kivágása
|
crop.header=Crop PDF
|
||||||
crop.submit=Elküldés
|
crop.submit=Elküldés
|
||||||
|
|
||||||
|
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Elküldés
|
|||||||
scalePages.title=Oldalméret beállítása
|
scalePages.title=Oldalméret beállítása
|
||||||
scalePages.header=Oldalméret beállítása
|
scalePages.header=Oldalméret beállítása
|
||||||
scalePages.pageSize=A dokumentum egy oldalának mérete.
|
scalePages.pageSize=A dokumentum egy oldalának mérete.
|
||||||
scalePages.keepPageSize=Váltás az eredeti méretre
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Az oldal nagyításának szintje (vágás).
|
scalePages.scaleFactor=Az oldal nagyításának szintje (vágás).
|
||||||
scalePages.submit=Küldés
|
scalePages.submit=Küldés
|
||||||
|
|
||||||
@@ -742,26 +739,25 @@ scalePages.submit=Küldés
|
|||||||
certSign.title=Tanúsítvánnyal történő aláírás
|
certSign.title=Tanúsítvánnyal történő aláírás
|
||||||
certSign.header=Aláírás PDF tanúsítvánnyal (fejlesztés alatt)
|
certSign.header=Aláírás PDF tanúsítvánnyal (fejlesztés alatt)
|
||||||
certSign.selectPDF=Válasszon PDF fájlt az aláíráshoz:
|
certSign.selectPDF=Válasszon PDF fájlt az aláíráshoz:
|
||||||
certSign.jksNote=Megjegyzés: Ha a tanúsítvány típusa nem szerepel a fenti listában, konvertálja Java Keystore (.jks) formátumba a keytool parancssor segítségével. Válassza az alábbi .jks vagy .keystore fájl opciót.
|
certSign.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.selectKey=Válassza ki a saját kulcsfájlját (PKCS#8 formátum, lehet .pem vagy .der kiterjesztésű):
|
certSign.selectKey=Válassza ki a saját kulcsfájlját (PKCS#8 formátum, lehet .pem vagy .der kiterjesztésű):
|
||||||
certSign.selectCert=Válassza ki a tanúsítványfájlját (X.509 formátum, lehet .pem vagy .der kiterjesztésű):
|
certSign.selectCert=Válassza ki a tanúsítványfájlját (X.509 formátum, lehet .pem vagy .der kiterjesztésű):
|
||||||
certSign.selectP12=Válassza ki a PKCS#12 kulcstár fájlját (.p12 vagy .pfx) (Opcionális, ha rendelkezésre áll, tartalmaznia kell a privát kulcsot és a tanúsítványt.):
|
certSign.selectP12=Válassza ki a PKCS#12 kulcstár fájlját (.p12 vagy .pfx) (Opcionális, ha rendelkezésre áll, tartalmaznia kell a privát kulcsot és a tanúsítványt.):
|
||||||
certSign.selectJKS=Java Keystore-fájl választása (.jks vagy .keystore):
|
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||||
certSign.certType=Tanúsítvány típusa
|
certSign.certType=Tanúsítvány típusa
|
||||||
certSign.password=Adja meg a kulcstár vagy a privát kulcs jelszavát (ha van):
|
certSign.password=Adja meg a kulcstár vagy a privát kulcs jelszavát (ha van):
|
||||||
certSign.showSig=Aláírás megjelenítése
|
certSign.showSig=Aláírás megjelenítése
|
||||||
certSign.reason=Ok
|
certSign.reason=Ok
|
||||||
certSign.location=Hely
|
certSign.location=Hely
|
||||||
certSign.name=Név
|
certSign.name=Név
|
||||||
certSign.showLogo=Logó megjelenítése
|
|
||||||
certSign.submit=PDF aláírása
|
certSign.submit=PDF aláírása
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Tanúsítvány aláírás eltávolítása
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=PDF-ből törölje a digitális tanúsítványt
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=PDF fájl kiválasztása:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Aláírást törlés
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -775,35 +771,35 @@ removeBlanks.submit=Üres oldalak eltávolítása
|
|||||||
|
|
||||||
|
|
||||||
#removeAnnotations
|
#removeAnnotations
|
||||||
removeAnnotations.title=Számítógépes bejegyzések törlése
|
removeAnnotations.title=Remove Annotations
|
||||||
removeAnnotations.header=Számítógépes bejegyzések törlése
|
removeAnnotations.header=Remove Annotations
|
||||||
removeAnnotations.submit=Töröl
|
removeAnnotations.submit=Remove
|
||||||
|
|
||||||
|
|
||||||
#compare
|
#compare
|
||||||
compare.title=Összehasonlítás
|
compare.title=Összehasonlítás
|
||||||
compare.header=PDF-ek összehasonlítása
|
compare.header=PDF-ek összehasonlítása
|
||||||
compare.highlightColor.1=Kötłówiteli szín 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Kijelzési szín 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Dokumentum 1
|
compare.document.1=Dokumentum 1
|
||||||
compare.document.2=Dokumentum 2
|
compare.document.2=Dokumentum 2
|
||||||
compare.submit=Összehasonlítás
|
compare.submit=Összehasonlítás
|
||||||
compare.complex.message=Egy vagy mindkét kiválasztott dokumentum nagy, az összehasonlítás precizégének csökkenhet.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Egy vagy mindkét kiválasztott dokumentum túl nagy a feldolgozáshoz.
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Egy vagy mindkét kiválasztott PDF nincs szöveggal. Kérjük, válasszon szöveg tartalmazó PDF-t.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Könyvek és kézirattak PDF-be
|
BookToPDF.title=Books and Comics to PDF
|
||||||
BookToPDF.header=Könyv to PDF
|
BookToPDF.header=Book to PDF
|
||||||
BookToPDF.credit=Használja a Calibre-t
|
BookToPDF.credit=Uses Calibre
|
||||||
BookToPDF.submit=Konvertálás
|
BookToPDF.submit=Convert
|
||||||
|
|
||||||
#PDFToBook
|
#PDFToBook
|
||||||
PDFToBook.title=PDF-ből könyv
|
PDFToBook.title=PDF to Book
|
||||||
PDFToBook.header=PDF to Book
|
PDFToBook.header=PDF to Book
|
||||||
PDFToBook.selectText.1=Formátum
|
PDFToBook.selectText.1=Format
|
||||||
PDFToBook.credit=Használja a Calibre-t
|
PDFToBook.credit=Uses Calibre
|
||||||
PDFToBook.submit=Konvertálás
|
PDFToBook.submit=Convert
|
||||||
|
|
||||||
#sign
|
#sign
|
||||||
sign.title=Aláírás
|
sign.title=Aláírás
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Aláírás rajzolása
|
|||||||
sign.text=Szöveg beírása
|
sign.text=Szöveg beírása
|
||||||
sign.clear=Törlés
|
sign.clear=Törlés
|
||||||
sign.add=Hozzáadás
|
sign.add=Hozzáadás
|
||||||
sign.saved=Mentett aláírások
|
sign.saved=Saved Signatures
|
||||||
sign.save=Aláíráshoz mentés
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Személyi aláíráshoz
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Megosztott aláíráshoz
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Nincsenek mentett aláírások találat
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -829,7 +825,7 @@ repair.submit=Javítás
|
|||||||
#flatten
|
#flatten
|
||||||
flatten.title=Kiegyenlítés
|
flatten.title=Kiegyenlítés
|
||||||
flatten.header=PDF-ek kiegyenlítése
|
flatten.header=PDF-ek kiegyenlítése
|
||||||
flatten.flattenOnlyForms=Csak formákat átalakít
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=Kiegyenlítés
|
flatten.submit=Kiegyenlítés
|
||||||
|
|
||||||
|
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Minimális kontúr terület:
|
|||||||
ScannerImageSplit.selectText.8=A fotók minimális kontúrterületének beállítása
|
ScannerImageSplit.selectText.8=A fotók minimális kontúrterületének beállítása
|
||||||
ScannerImageSplit.selectText.9=Keret mérete:
|
ScannerImageSplit.selectText.9=Keret mérete:
|
||||||
ScannerImageSplit.selectText.10=A hozzáadott és eltávolított keret méretének beállítása a fehér keretek elkerülése érdekében a kimeneten (alapértelmezett: 1).
|
ScannerImageSplit.selectText.10=A hozzáadott és eltávolított keret méretének beállítása a fehér keretek elkerülése érdekében a kimeneten (alapértelmezett: 1).
|
||||||
ScannerImageSplit.info=A Python nincs telepítve. Összefogóként szükséges.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=PDF feldolgozása OCR-rel
|
|||||||
extractImages.title=Képek kinyerése
|
extractImages.title=Képek kinyerése
|
||||||
extractImages.header=Képek kinyerése
|
extractImages.header=Képek kinyerése
|
||||||
extractImages.selectText=Válassza ki a képformátumot a kinyert képek konvertálásához
|
extractImages.selectText=Válassza ki a képformátumot a kinyert képek konvertálásához
|
||||||
extractImages.allowDuplicates=Duplikált képek mentése
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Kinyerés
|
extractImages.submit=Kinyerés
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Kinyerés
|
|||||||
fileToPDF.title=Fájl PDF dokumentummá alakítása
|
fileToPDF.title=Fájl PDF dokumentummá alakítása
|
||||||
fileToPDF.header=Konvertáljon bármilyen fájlt PDF dokumentummá
|
fileToPDF.header=Konvertáljon bármilyen fájlt PDF dokumentummá
|
||||||
fileToPDF.credit=Ez a szolgáltatás a LibreOffice-t és az Unoconv-ot használja a fájlkonverzióhoz.
|
fileToPDF.credit=Ez a szolgáltatás a LibreOffice-t és az Unoconv-ot használja a fájlkonverzióhoz.
|
||||||
fileToPDF.supportedFileTypesInfo=Támogatott fájltípusok
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=A funkció az alábbi fájltípusokat támogatja, azonban a teljesen friss támogatott formátumok listájáért kérjük, tekintse meg a LibreOffice dokumentációját
|
fileToPDF.supportedFileTypes=A funkció az alábbi fájltípusokat támogatja, azonban a teljesen friss támogatott formátumok listájáért kérjük, tekintse meg a LibreOffice dokumentációját
|
||||||
fileToPDF.submit=Konvertálás PDF dokumentummá
|
fileToPDF.submit=Konvertálás PDF dokumentummá
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Összevonás
|
|||||||
merge.header=Több PDF összevonása (2+)
|
merge.header=Több PDF összevonása (2+)
|
||||||
merge.sortByName=Név szerinti rendezés
|
merge.sortByName=Név szerinti rendezés
|
||||||
merge.sortByDate=Dátum szerinti rendezés
|
merge.sortByDate=Dátum szerinti rendezés
|
||||||
merge.removeCertSign=Eltávolítja a megyérismereteket az összefuzött fájlban?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Összevonás
|
merge.submit=Összevonás
|
||||||
|
|
||||||
|
|
||||||
@@ -917,35 +913,24 @@ merge.submit=Összevonás
|
|||||||
pdfOrganiser.title=Oldalszervező
|
pdfOrganiser.title=Oldalszervező
|
||||||
pdfOrganiser.header=PDF Oldalszervező
|
pdfOrganiser.header=PDF Oldalszervező
|
||||||
pdfOrganiser.submit=Oldalak átrendezése
|
pdfOrganiser.submit=Oldalak átrendezése
|
||||||
pdfOrganiser.mode=Mód
|
pdfOrganiser.mode=Mode
|
||||||
pdfOrganiser.mode.1=Törzsbeírás szabályos sorrend
|
pdfOrganiser.mode.1=Custom Page Order
|
||||||
pdfOrganiser.mode.2=Fordított sorrend
|
pdfOrganiser.mode.2=Reverse Order
|
||||||
pdfOrganiser.mode.3=Dupla oldal rendezés
|
pdfOrganiser.mode.3=Duplex Sort
|
||||||
pdfOrganiser.mode.4=Könyvrész letrehozása rendezés
|
pdfOrganiser.mode.4=Booklet Sort
|
||||||
pdfOrganiser.mode.5=Oldalsarkatásos könyvrész letrehozása rendezés
|
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||||
pdfOrganiser.mode.6=Tökéletes páratlan-páros split
|
pdfOrganiser.mode.6=Odd-Even Split
|
||||||
pdfOrganiser.mode.7=Először is eltávolítanunk
|
pdfOrganiser.mode.7=Remove First
|
||||||
pdfOrganiser.mode.8=Utolsó törölése
|
pdfOrganiser.mode.8=Remove Last
|
||||||
pdfOrganiser.mode.9=Először és utolsó törlése
|
pdfOrganiser.mode.9=Remove First and Last
|
||||||
pdfOrganiser.mode.10=Tökéletes páratlan-páros összekeverés
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(pl.: 1,3,2 vagy 4-8,2,10-12 vagy 2n-1)
|
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=PDF többfunkciós eszköz
|
multiTool.title=PDF többfunkciós eszköz
|
||||||
multiTool.header=PDF többfunkciós eszköz
|
multiTool.header=PDF többfunkciós eszköz
|
||||||
multiTool.uploadPrompts=Fájl neve
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF megtekintése
|
viewPdf.title=PDF megtekintése
|
||||||
@@ -956,7 +941,7 @@ pageRemover.title=Oldaltörlő
|
|||||||
pageRemover.header=PDF oldaltörlő
|
pageRemover.header=PDF oldaltörlő
|
||||||
pageRemover.pagesToDelete=Törlendő oldalak (adja meg az oldalszámok vesszővel elválasztott listáját):
|
pageRemover.pagesToDelete=Törlendő oldalak (adja meg az oldalszámok vesszővel elválasztott listáját):
|
||||||
pageRemover.submit=Oldalak törlése
|
pageRemover.submit=Oldalak törlése
|
||||||
pageRemover.placeholder=(pl.: 1,2,6 vagy 1-10,15-30)
|
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=színes
|
|||||||
pdfToImage.grey=szürkeárnyalatos
|
pdfToImage.grey=szürkeárnyalatos
|
||||||
pdfToImage.blackwhite=fekete-fehér (adatvesztéssel járhat!)
|
pdfToImage.blackwhite=fekete-fehér (adatvesztéssel járhat!)
|
||||||
pdfToImage.submit=Átalakítás
|
pdfToImage.submit=Átalakítás
|
||||||
pdfToImage.info=Nincs telepítve a Python. Szükséges a WebP konverzióhoz.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,10 +1029,10 @@ watermark.selectText.6=heightSpacer (Hely a vízjelek között függőlegesen):
|
|||||||
watermark.selectText.7=Átlátszóság (0% - 100%):
|
watermark.selectText.7=Átlátszóság (0% - 100%):
|
||||||
watermark.selectText.8=Vízjel típusa:
|
watermark.selectText.8=Vízjel típusa:
|
||||||
watermark.selectText.9=Vízjel képe:
|
watermark.selectText.9=Vízjel képe:
|
||||||
watermark.selectText.10=PDF-t PDF-ra átalakítás
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Vízjel hozzáadása
|
watermark.submit=Vízjel hozzáadása
|
||||||
watermark.type.1=Szöveg
|
watermark.type.1=Text
|
||||||
watermark.type.2=Kép
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
@@ -1099,9 +1084,9 @@ pdfToPDFA.title=PDF >> PDF/A
|
|||||||
pdfToPDFA.header=PDF >> PDF/A
|
pdfToPDFA.header=PDF >> PDF/A
|
||||||
pdfToPDFA.credit=Ez a szolgáltatás az ghostscript-t használja a PDF/A konverzióhoz
|
pdfToPDFA.credit=Ez a szolgáltatás az ghostscript-t használja a PDF/A konverzióhoz
|
||||||
pdfToPDFA.submit=Konvertálás
|
pdfToPDFA.submit=Konvertálás
|
||||||
pdfToPDFA.tip=Jelenleg egyszerre több fájl nem működik ezzel a funkcióval
|
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||||
pdfToPDFA.outputFormat=Kimeneti formátum
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=A PDF tartalmaz digitális alásszegyeztetést. Ez lesz eltávolítva az alábbi lépésben.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1183,65 +1168,65 @@ split-by-sections.vertical.label=Vízszintes szakaszok
|
|||||||
split-by-sections.horizontal.placeholder=Adja meg a vízszintes szakaszok számát
|
split-by-sections.horizontal.placeholder=Adja meg a vízszintes szakaszok számát
|
||||||
split-by-sections.vertical.placeholder=Adja meg a függőleges szakaszok számát
|
split-by-sections.vertical.placeholder=Adja meg a függőleges szakaszok számát
|
||||||
split-by-sections.submit=Felosztás
|
split-by-sections.submit=Felosztás
|
||||||
split-by-sections.merge=Egyesítsük a dokumentumokat egybe
|
split-by-sections.merge=Merge Into One PDF
|
||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=Fájl kinyomtatása
|
printFile.title=Print File
|
||||||
printFile.header=Fájlt nyomtatás a számítógépes kiíróra
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=Válasszon ki a kinyomtatandó fájlt
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=Add meg a kiíró nevét
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=Nyomtatás
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
licenses.nav=Licenses
|
licenses.nav=Licenses
|
||||||
licenses.title=3rd Party Licenses
|
licenses.title=3rd Party Licenses
|
||||||
licenses.header=3rd Party Licenses
|
licenses.header=3rd Party Licenses
|
||||||
licenses.module=Modul
|
licenses.module=Module
|
||||||
licenses.version=Verzió
|
licenses.version=Version
|
||||||
licenses.license=License
|
licenses.license=License
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Kérdőív
|
survey.nav=Survey
|
||||||
survey.title=Stirling-PDF Kérdőív
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=A Stirling-PDF nincs bejelentkezési adatokat tároló funkciója miatt szeretnénk a felhasználóink véleményét gyűjteni, hogy javítsuk meg a Stirling-PDF-t!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=A Stirling-PDF változásai a visszaérkező kérdőív után! További információért látogasson el az alábbi blogfelsorolást.
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Ezek a változtatások során kapunk fizetendő üzleti támogatást és finanszírozást
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(A kérdőív bejelentkezés nélküli megjelenése le lesz tilos további frissítések után, de folyamatosan elérhető a oldal tetején)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Kérdőív végrehajtása
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Más nincs mutatni ugyanarra a képernyőre
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
error.sorry=Sajnáljuk, hogy probléma van!
|
error.sorry=Sorry for the issue!
|
||||||
error.needHelp=Segítségüket kérünk! / Hiba találkoztak?
|
error.needHelp=Need help / Found an issue?
|
||||||
error.contactTip=Ha további nehézségekkel találkozna, ne szudirmáld a segítségre kérését. A GitHub oldalán egy típusot is lehet kiküldeni, vagy a Discordban kapcsolatba lépheted veleink:
|
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
||||||
error.404.head=404 - Nincs ilyen oldal | Sajnáljuk, hogy valami meghibásodott!
|
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
||||||
error.404.1=Nem tudom megkerülni az oldalt, amit keresed.
|
error.404.1=We can't seem to find the page you're looking for.
|
||||||
error.404.2=Valami meghibásodott
|
error.404.2=Something went wrong
|
||||||
error.github=Típusot kiküldheted a GitHub-on
|
error.github=Submit a ticket on GitHub
|
||||||
error.showStack=Lássuk meg a sorozatot
|
error.showStack=Show Stack Trace
|
||||||
error.copyStack=Kövesse a sorozat másolását
|
error.copyStack=Copy Stack Trace
|
||||||
error.githubSubmit=GitHub - Típus kiküldése
|
error.githubSubmit=GitHub - Submit a ticket
|
||||||
error.discordSubmit=Discord - Jegyzettömb kijavítása
|
error.discordSubmit=Discord - Submit Support post
|
||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Távolítsa el az kép
|
removeImage.title=Remove image
|
||||||
removeImage.header=Távolítsa el a képet
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Távolítsa el a képet
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Távolítsa el a képet
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=PDF fájlt fejezések szerint bontson fel
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=PDF fájlt fejezések szerint bontson fel
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Fejezet címkézése szintje
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Metadata beleszerkesztése
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Duplikációk engedélyezése
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Ez az eszköz osztja fel a PDF-fájlt szövegszerkezet alapján lévő több fájlra.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Metaadatok belefoglalása: Ha bevanítva van, az eredeti PDF fájl metaadatai megtartódnak minden osztott fájlban.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Duplikációk engedélyezése: Ha bevanítva van, lehetővé teszi a megadott oldalon lévő több kijelzőszint alapján új PDF-ek létrehozása.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=PDF osztás
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -74,14 +74,13 @@ seeDockerHub=Lihat Docker Hub
|
|||||||
visitGithub=Kunjungi Repositori Github
|
visitGithub=Kunjungi Repositori Github
|
||||||
donate=Donasi
|
donate=Donasi
|
||||||
color=Warna
|
color=Warna
|
||||||
sponsor=Pembantu
|
sponsor=Sponsor
|
||||||
info=Informasi
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Halaman
|
page=Halaman
|
||||||
pages=Halaman-halaman
|
pages=Halaman-halaman
|
||||||
loading=Mengambil data...
|
loading=Loading...
|
||||||
addToDoc=Tambahkan ke Dokumen
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Kebijakan Privasi
|
legal.privacy=Kebijakan Privasi
|
||||||
legal.terms=Syarat dan Ketentuan
|
legal.terms=Syarat dan Ketentuan
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Bahasa
|
|||||||
navbar.settings=Pengaturan
|
navbar.settings=Pengaturan
|
||||||
navbar.allTools=Alat
|
navbar.allTools=Alat
|
||||||
navbar.multiTool=Alat Multi
|
navbar.multiTool=Alat Multi
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Atur
|
navbar.sections.organize=Atur
|
||||||
navbar.sections.convertTo=Konversi ke PDF
|
navbar.sections.convertTo=Konversi ke PDF
|
||||||
navbar.sections.convertFrom=Konversi dari PDF
|
navbar.sections.convertFrom=Konversi dari PDF
|
||||||
@@ -203,7 +201,7 @@ account.syncToAccount=Sinkronisasi Akun <- Browser
|
|||||||
|
|
||||||
adminUserSettings.title=Pengaturan Kontrol Pengguna
|
adminUserSettings.title=Pengaturan Kontrol Pengguna
|
||||||
adminUserSettings.header=Pengaturan Kontrol Admin
|
adminUserSettings.header=Pengaturan Kontrol Admin
|
||||||
adminUserSettings.admin=Administrator
|
adminUserSettings.admin=Admin
|
||||||
adminUserSettings.user=Pengguna
|
adminUserSettings.user=Pengguna
|
||||||
adminUserSettings.addUser=Tambahkan Pengguna Baru
|
adminUserSettings.addUser=Tambahkan Pengguna Baru
|
||||||
adminUserSettings.deleteUser=Hapus Pengguna
|
adminUserSettings.deleteUser=Hapus Pengguna
|
||||||
@@ -214,7 +212,7 @@ adminUserSettings.roles=Peran
|
|||||||
adminUserSettings.role=Peran
|
adminUserSettings.role=Peran
|
||||||
adminUserSettings.actions=Tindakan
|
adminUserSettings.actions=Tindakan
|
||||||
adminUserSettings.apiUser=Pengguna API Terbatas
|
adminUserSettings.apiUser=Pengguna API Terbatas
|
||||||
adminUserSettings.extraApiUser=Pengguna API Terbatas Tambahan
|
adminUserSettings.extraApiUser=Additional Limited API User
|
||||||
adminUserSettings.webOnlyUser=Pengguna Khusus Web
|
adminUserSettings.webOnlyUser=Pengguna Khusus Web
|
||||||
adminUserSettings.demoUser=Pengguna Demo (Tanpa pengaturan kustom)
|
adminUserSettings.demoUser=Pengguna Demo (Tanpa pengaturan kustom)
|
||||||
adminUserSettings.internalApiUser=Pengguna API Internal
|
adminUserSettings.internalApiUser=Pengguna API Internal
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Berkas tidak boleh null atau kosong
|
|||||||
database.failedImportFile=Impor Berkas Gagal
|
database.failedImportFile=Impor Berkas Gagal
|
||||||
|
|
||||||
session.expired=Sesi Anda telah kedaluwarsa. Silakan muat ulang halaman dan coba lagi.
|
session.expired=Sesi Anda telah kedaluwarsa. Silakan muat ulang halaman dan coba lagi.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -395,9 +392,9 @@ home.certSign.title=Tanda tangani dengan Sertifikat
|
|||||||
home.certSign.desc=Menandatangani PDF dengan Certificate/Key (PEM/P12)
|
home.certSign.desc=Menandatangani PDF dengan Certificate/Key (PEM/P12)
|
||||||
certSign.tags=mengotentikasi, PEM, P12, resmi, mengenkripsi
|
certSign.tags=mengotentikasi, PEM, P12, resmi, mengenkripsi
|
||||||
|
|
||||||
home.removeCertSign.title=Hapus Tanda Tangan Sertifikat
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Hapus tanda tangan sertifikat dari PDF
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=otentikasi, PEM, P12, resmi, dekripsi
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Tata Letak Multi-Halaman
|
home.pageLayout.title=Tata Letak Multi-Halaman
|
||||||
home.pageLayout.desc=Menggabungkan beberapa halaman dokumen PDF menjadi satu halaman
|
home.pageLayout.desc=Menggabungkan beberapa halaman dokumen PDF menjadi satu halaman
|
||||||
@@ -484,15 +481,15 @@ autoSizeSplitPDF.tags=pdf, membagi, dokumen, organisasi
|
|||||||
|
|
||||||
home.overlay-pdfs.title=Tumpuk PDF
|
home.overlay-pdfs.title=Tumpuk PDF
|
||||||
home.overlay-pdfs.desc=Menumpuk PDF di atas PDF lain
|
home.overlay-pdfs.desc=Menumpuk PDF di atas PDF lain
|
||||||
overlay-pdfs.tags=Overlays
|
overlay-pdfs.tags=Overlay
|
||||||
|
|
||||||
home.split-by-sections.title=Membagi PDF berdasarkan Bagian
|
home.split-by-sections.title=Membagi PDF berdasarkan Bagian
|
||||||
home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil
|
home.split-by-sections.desc=Membagi setiap halaman PDF menjadi beberapa bagian horizontal dan vertikal yang lebih kecil
|
||||||
split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan
|
split-by-sections.tags=Membagi Bagian, Membagi, Menyesuaikan
|
||||||
|
|
||||||
home.AddStampRequest.title=Tambahkan Tanda Tangan ke PDF
|
home.AddStampRequest.title=Add Stamp to PDF
|
||||||
home.AddStampRequest.desc=Tambahkan teks atau gambar tanda tangan di lokasi yang ditentukan
|
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||||
AddStampRequest.tags=Tanda tangan, tambahkan gambar, posisikan gambar di tengah, air tinta, PDF, embedding, customisasi
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF ke Buku
|
home.PDFToBook.title=PDF ke Buku
|
||||||
@@ -590,7 +587,7 @@ pdfToSinglePage.submit=Konversi ke Halaman Tunggal
|
|||||||
pageExtracter.title=Ekstrak Halaman
|
pageExtracter.title=Ekstrak Halaman
|
||||||
pageExtracter.header=Ekstrak Halaman
|
pageExtracter.header=Ekstrak Halaman
|
||||||
pageExtracter.submit=Ekstrak
|
pageExtracter.submit=Ekstrak
|
||||||
pageExtracter.placeholder=(misalnya 1,2,8 atau 4,7,12-16 atau 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Kirim
|
|||||||
scalePages.title=Sesuaikan skala halaman
|
scalePages.title=Sesuaikan skala halaman
|
||||||
scalePages.header=Sesuaikan skala halaman
|
scalePages.header=Sesuaikan skala halaman
|
||||||
scalePages.pageSize=Ukuran halaman dokumen.
|
scalePages.pageSize=Ukuran halaman dokumen.
|
||||||
scalePages.keepPageSize=Ukuran Asli
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Tingkat zoom (potong) halaman.
|
scalePages.scaleFactor=Tingkat zoom (potong) halaman.
|
||||||
scalePages.submit=Kirim
|
scalePages.submit=Kirim
|
||||||
|
|
||||||
@@ -746,14 +743,13 @@ certSign.jksNote=Catatan: Jika tipe sertifikat Anda tidak terdaftar di bawah, si
|
|||||||
certSign.selectKey=Pilih Berkas Kunci Pribadi Anda (format PKCS # 8, bisa .pem atau .der):
|
certSign.selectKey=Pilih Berkas Kunci Pribadi Anda (format PKCS # 8, bisa .pem atau .der):
|
||||||
certSign.selectCert=Pilih Berkas Sertifikat Anda (format X.509, bisa .pem atau .der):
|
certSign.selectCert=Pilih Berkas Sertifikat Anda (format X.509, bisa .pem atau .der):
|
||||||
certSign.selectP12=Pilih Berkas Keystore PKCS #12 Anda (.p12 atau .pfx) (Opsional, Jika disediakan, berkas tersebut harus berisi kunci pribadi dan sertifikat Anda):
|
certSign.selectP12=Pilih Berkas Keystore PKCS #12 Anda (.p12 atau .pfx) (Opsional, Jika disediakan, berkas tersebut harus berisi kunci pribadi dan sertifikat Anda):
|
||||||
certSign.selectJKS=Pilih Berkas Java Keystore File (.jks atau .keystore):
|
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||||
certSign.certType=Jenis Sertifikat
|
certSign.certType=Jenis Sertifikat
|
||||||
certSign.password=Masukkan Kata Sandi Kunci atau Kunci Pribadi Anda (Jika Ada):
|
certSign.password=Masukkan Kata Sandi Kunci atau Kunci Pribadi Anda (Jika Ada):
|
||||||
certSign.showSig=Tampilkan Tanda Tangan
|
certSign.showSig=Tampilkan Tanda Tangan
|
||||||
certSign.reason=Alasan
|
certSign.reason=Alasan
|
||||||
certSign.location=Lokasi
|
certSign.location=Lokasi
|
||||||
certSign.name=Nama
|
certSign.name=Nama
|
||||||
certSign.showLogo=Tampilkan Logo
|
|
||||||
certSign.submit=Tanda tangani PDF
|
certSign.submit=Tanda tangani PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Warna Sorotan 2:
|
|||||||
compare.document.1=Dokumen 1
|
compare.document.1=Dokumen 1
|
||||||
compare.document.2=Dokumen 2
|
compare.document.2=Dokumen 2
|
||||||
compare.submit=Bandingkan
|
compare.submit=Bandingkan
|
||||||
compare.complex.message=Satu atau kedua dokumen yang disediakan adalah file besar, keakuratan perbandingan mungkin berkurang
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Satu atau Kedua dokumen yang disediakan terlalu besar untuk diproses
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Satu atau kedua PDF yang dipilih tidak memiliki konten teks. Pilih PDF dengan teks untuk perbandingan.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Buku dan Komik ke PDF
|
BookToPDF.title=Buku dan Komik ke PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Gambar Tanda Tangan
|
|||||||
sign.text=Masukan Teks
|
sign.text=Masukan Teks
|
||||||
sign.clear=Hapus
|
sign.clear=Hapus
|
||||||
sign.add=Tambah
|
sign.add=Tambah
|
||||||
sign.saved=Tanda Tangan Disimpan
|
sign.saved=Saved Signatures
|
||||||
sign.save=Simpan Tanda Tangan
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Tanda Tangan Pribadi
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Tanda Tangan Berbagi
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Tidak ditemukan tanda tangan yang disimpan
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -829,7 +825,7 @@ repair.submit=Perbaiki
|
|||||||
#flatten
|
#flatten
|
||||||
flatten.title=Ratakan
|
flatten.title=Ratakan
|
||||||
flatten.header=Ratakan PDF
|
flatten.header=Ratakan PDF
|
||||||
flatten.flattenOnlyForms=Ratakan hanya formulir
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=Ratakan
|
flatten.submit=Ratakan
|
||||||
|
|
||||||
|
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Memproses PDF dengan OCR
|
|||||||
extractImages.title=Ekstrak Gambar
|
extractImages.title=Ekstrak Gambar
|
||||||
extractImages.header=Mengekstrak Gambar
|
extractImages.header=Mengekstrak Gambar
|
||||||
extractImages.selectText=Pilih format gambar yang akan dikonversi
|
extractImages.selectText=Pilih format gambar yang akan dikonversi
|
||||||
extractImages.allowDuplicates=Simpan Gambar Duplikat
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Ekstrak
|
extractImages.submit=Ekstrak
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Ekstrak
|
|||||||
fileToPDF.title=Berkas ke PDF
|
fileToPDF.title=Berkas ke PDF
|
||||||
fileToPDF.header=Mengonversi berkas apa pun ke PDF
|
fileToPDF.header=Mengonversi berkas apa pun ke PDF
|
||||||
fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas.
|
fileToPDF.credit=Layanan ini menggunakan LibreOffice dan Unoconv untuk konversi berkas.
|
||||||
fileToPDF.supportedFileTypesInfo=Jenis File Dukungan
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice
|
fileToPDF.supportedFileTypes=Jenis berkas yang didukung harus mencakup yang di bawah ini, namun untuk daftar lengkap format yang didukung, silakan lihat dokumentasi LibreOffice
|
||||||
fileToPDF.submit=Konversi ke PDF
|
fileToPDF.submit=Konversi ke PDF
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Gabungkan
|
|||||||
merge.header=Gabungkan beberapa PDFs (2+)
|
merge.header=Gabungkan beberapa PDFs (2+)
|
||||||
merge.sortByName=Sortir berdasarkan nama
|
merge.sortByName=Sortir berdasarkan nama
|
||||||
merge.sortByDate=Sortir berdasrkan tanggal
|
merge.sortByDate=Sortir berdasrkan tanggal
|
||||||
merge.removeCertSign=Hapus tanda tangan digital dalam file yang dicampur?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Gabungkan
|
merge.submit=Gabungkan
|
||||||
|
|
||||||
|
|
||||||
@@ -928,24 +924,13 @@ pdfOrganiser.mode.7=Hapus Pertama
|
|||||||
pdfOrganiser.mode.8=Hapus Terakhir
|
pdfOrganiser.mode.8=Hapus Terakhir
|
||||||
pdfOrganiser.mode.9=Hapus Pertama dan Terakhir
|
pdfOrganiser.mode.9=Hapus Pertama dan Terakhir
|
||||||
pdfOrganiser.mode.10=Penggabungan Genap-Ganjil
|
pdfOrganiser.mode.10=Penggabungan Genap-Ganjil
|
||||||
pdfOrganiser.placeholder=(misalnya 1,3,2 atau 4-8,2,10-12 atau 2n-1)
|
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=Alat Multi PDF
|
multiTool.title=Alat Multi PDF
|
||||||
multiTool.header=Alat Multi PDF
|
multiTool.header=Alat Multi PDF
|
||||||
multiTool.uploadPrompts=Nama Berkas
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Lihat PDF
|
viewPdf.title=Lihat PDF
|
||||||
@@ -956,7 +941,7 @@ pageRemover.title=Penghapus Halaman
|
|||||||
pageRemover.header=Penghapus Halaman PDF
|
pageRemover.header=Penghapus Halaman PDF
|
||||||
pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) :
|
pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) :
|
||||||
pageRemover.submit=Hapus Halaman
|
pageRemover.submit=Hapus Halaman
|
||||||
pageRemover.placeholder=(misalnya 1,2,6 atau 1-10,15-30)
|
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
@@ -1041,13 +1026,13 @@ watermark.selectText.3=Ukuran Huruf:
|
|||||||
watermark.selectText.4=Rotasi (0-360):
|
watermark.selectText.4=Rotasi (0-360):
|
||||||
watermark.selectText.5=widthSpacer (Spasi diantara setiap watermark horisontal):
|
watermark.selectText.5=widthSpacer (Spasi diantara setiap watermark horisontal):
|
||||||
watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal):
|
watermark.selectText.6=heightSpacer (Spasi diantara setiap watermark vertikal):
|
||||||
watermark.selectText.7=Kejernihan (0% - 100%):
|
watermark.selectText.7=Opacity (0% - 100%):
|
||||||
watermark.selectText.8=Tipe Watermark:
|
watermark.selectText.8=Tipe Watermark:
|
||||||
watermark.selectText.9=Gambar Watermark:
|
watermark.selectText.9=Gambar Watermark:
|
||||||
watermark.selectText.10=Konversi PDF ke PDF-Image
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Tambahkan Watermark
|
watermark.submit=Tambahkan Watermark
|
||||||
watermark.type.1=Teks
|
watermark.type.1=Text
|
||||||
watermark.type.2=Gambar
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ bored=Stanco di aspettare?
|
|||||||
alphabet=Alfabeto
|
alphabet=Alfabeto
|
||||||
downloadPdf=Scarica PDF
|
downloadPdf=Scarica PDF
|
||||||
text=Testo
|
text=Testo
|
||||||
font=Fonte
|
font=Font
|
||||||
selectFillter=-- Seleziona --
|
selectFillter=-- Seleziona --
|
||||||
pageNum=Numero pagina
|
pageNum=Numero pagina
|
||||||
sizes.small=Piccolo
|
sizes.small=Piccolo
|
||||||
@@ -81,7 +81,6 @@ page=Pagina
|
|||||||
pages=Pagine
|
pages=Pagine
|
||||||
loading=Caricamento...
|
loading=Caricamento...
|
||||||
addToDoc=Aggiungi al documento
|
addToDoc=Aggiungi al documento
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Informativa sulla privacy
|
legal.privacy=Informativa sulla privacy
|
||||||
legal.terms=Termini e Condizioni
|
legal.terms=Termini e Condizioni
|
||||||
@@ -111,7 +110,7 @@ pipelineOptions.pipelineNamePrompt=Inserisci qui il nome della pipeline
|
|||||||
pipelineOptions.selectOperation=Seleziona operazione
|
pipelineOptions.selectOperation=Seleziona operazione
|
||||||
pipelineOptions.addOperationButton=Aggiungi operazione
|
pipelineOptions.addOperationButton=Aggiungi operazione
|
||||||
pipelineOptions.pipelineHeader=Pipeline:
|
pipelineOptions.pipelineHeader=Pipeline:
|
||||||
pipelineOptions.saveButton=Salva
|
pipelineOptions.saveButton=Download
|
||||||
pipelineOptions.validateButton=Convalidare
|
pipelineOptions.validateButton=Convalidare
|
||||||
|
|
||||||
########################
|
########################
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Lingue
|
|||||||
navbar.settings=Impostazioni
|
navbar.settings=Impostazioni
|
||||||
navbar.allTools=Strumenti
|
navbar.allTools=Strumenti
|
||||||
navbar.multiTool=Strumenti multipli
|
navbar.multiTool=Strumenti multipli
|
||||||
navbar.search=Cerca
|
|
||||||
navbar.sections.organize=Organizza
|
navbar.sections.organize=Organizza
|
||||||
navbar.sections.convertTo=Converti in PDF
|
navbar.sections.convertTo=Converti in PDF
|
||||||
navbar.sections.convertFrom=Converti da PDF
|
navbar.sections.convertFrom=Converti da PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Il file non deve essere nullo o vuoto
|
|||||||
database.failedImportFile=Importazione file non riuscita
|
database.failedImportFile=Importazione file non riuscita
|
||||||
|
|
||||||
session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova.
|
session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova.
|
||||||
session.refreshPage=Aggiorna pagina
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Mostra firma
|
|||||||
certSign.reason=Motivo
|
certSign.reason=Motivo
|
||||||
certSign.location=Posizione
|
certSign.location=Posizione
|
||||||
certSign.name=Nome
|
certSign.name=Nome
|
||||||
certSign.showLogo=Mostra Logo
|
|
||||||
certSign.submit=Firma PDF
|
certSign.submit=Firma PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(ad es. 1,3,2 o 4-8,2,10-12 o 2n-1)
|
|||||||
multiTool.title=Multifunzione PDF
|
multiTool.title=Multifunzione PDF
|
||||||
multiTool.header=Multifunzione PDF
|
multiTool.header=Multifunzione PDF
|
||||||
multiTool.uploadPrompts=Nome file
|
multiTool.uploadPrompts=Nome file
|
||||||
multiTool.selectAll=Seleziona tutto
|
|
||||||
multiTool.deselectAll=Deseleziona tutto
|
|
||||||
multiTool.selectPages=Seleziona pagina
|
|
||||||
multiTool.selectedPages=Seleziona pagine
|
|
||||||
multiTool.page=Pagina
|
|
||||||
multiTool.deleteSelected=Elimina selezionata
|
|
||||||
multiTool.downloadAll=Esporta
|
|
||||||
multiTool.downloadSelected=Esporta selezionata
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=Questa funzione è disponibile anche nella nostra <a href="{0}">pagina multi-strumento</a>. Scoprila per un'interfaccia utente pagina per pagina migliorata e funzionalità aggiuntive!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visualizza PDF
|
viewPdf.title=Visualizza PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=プライバシーポリシー
|
legal.privacy=プライバシーポリシー
|
||||||
legal.terms=利用規約
|
legal.terms=利用規約
|
||||||
@@ -142,7 +141,6 @@ navbar.language=言語
|
|||||||
navbar.settings=設定
|
navbar.settings=設定
|
||||||
navbar.allTools=ツール
|
navbar.allTools=ツール
|
||||||
navbar.multiTool=マルチツール
|
navbar.multiTool=マルチツール
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=整理
|
navbar.sections.organize=整理
|
||||||
navbar.sections.convertTo=PDFへ変換
|
navbar.sections.convertTo=PDFへ変換
|
||||||
navbar.sections.convertFrom=PDFから変換
|
navbar.sections.convertFrom=PDFから変換
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=ファイルは null または空であってはなり
|
|||||||
database.failedImportFile=ファイルのインポートに失敗
|
database.failedImportFile=ファイルのインポートに失敗
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=署名を表示
|
|||||||
certSign.reason=理由
|
certSign.reason=理由
|
||||||
certSign.location=場所
|
certSign.location=場所
|
||||||
certSign.name=名前
|
certSign.name=名前
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=PDFに署名
|
certSign.submit=PDFに署名
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(例:1,3,2または4-8,2,10-12または2n-1)
|
|||||||
multiTool.title=PDFマルチツール
|
multiTool.title=PDFマルチツール
|
||||||
multiTool.header=PDFマルチツール
|
multiTool.header=PDFマルチツール
|
||||||
multiTool.uploadPrompts=ファイル名
|
multiTool.uploadPrompts=ファイル名
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDFを表示
|
viewPdf.title=PDFを表示
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=폰트 크기
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=폰트 이름
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=PDF 파일 선택
|
pdfPrompt=PDF 파일 선택
|
||||||
multiPdfPrompt=여러 PDF 파일 선택
|
multiPdfPrompt=여러 PDF 파일 선택
|
||||||
multiPdfDropPrompt=사용할 모든 PDF 문서를 선택(또는 드래그 앤 드롭)합니다
|
multiPdfDropPrompt=사용할 모든 PDF 문서를 선택(또는 드래그 앤 드롭)합니다
|
||||||
@@ -47,7 +47,7 @@ green=녹색
|
|||||||
blue=파랑
|
blue=파랑
|
||||||
custom=관습...
|
custom=관습...
|
||||||
WorkInProgess=작업 진행 중, 작동하지 않거나 버그가 있을 수 있음, 문제가 있으면 보고하십시오!
|
WorkInProgess=작업 진행 중, 작동하지 않거나 버그가 있을 수 있음, 문제가 있으면 보고하십시오!
|
||||||
poweredBy=제공
|
poweredBy=Powered by
|
||||||
yes=예
|
yes=예
|
||||||
no=아니요
|
no=아니요
|
||||||
changedCredsMessage=계정 정보 변경 성공!
|
changedCredsMessage=계정 정보 변경 성공!
|
||||||
@@ -56,15 +56,15 @@ userNotFoundMessage=사용자를 찾을 수 없습니다.
|
|||||||
incorrectPasswordMessage=현재 비밀번호가 틀립니다.
|
incorrectPasswordMessage=현재 비밀번호가 틀립니다.
|
||||||
usernameExistsMessage=새 사용자명이 이미 존재합니다.
|
usernameExistsMessage=새 사용자명이 이미 존재합니다.
|
||||||
invalidUsernameMessage=잘못된 사용자 이름입니다. 사용자 이름에는 문자, 숫자 및 다음 특수 문자(@._+-)만 포함할 수 있거나 유효한 이메일 주소여야 합니다.
|
invalidUsernameMessage=잘못된 사용자 이름입니다. 사용자 이름에는 문자, 숫자 및 다음 특수 문자(@._+-)만 포함할 수 있거나 유효한 이메일 주소여야 합니다.
|
||||||
invalidPasswordMessage=비밀번호는 빈칸일 수 없습니다. 또한 시작이나 끝에 공백을 가질 수 없습니다.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=새 비밀번호와 새 비밀번호 확인이 일치하지 않습니다.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
|
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
|
||||||
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
|
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
|
||||||
downgradeCurrentUserMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다
|
downgradeCurrentUserMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다
|
||||||
disabledCurrentUserMessage=현재 사용자는 비활성화할 수 없습니다
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다. 따라서 현재 사용자는 표시되지 않습니다.
|
downgradeCurrentUserLongMessage=현재 사용자의 역할을 다운그레이드할 수 없습니다. 따라서 현재 사용자는 표시되지 않습니다.
|
||||||
userAlreadyExistsOAuthMessage=이미 OAuth2 사용자로 등록되어 있습니다.
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=이미 웹 사용자로 등록되어 있습니다.
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=오류
|
error=오류
|
||||||
oops=어머나!
|
oops=어머나!
|
||||||
help=도움말
|
help=도움말
|
||||||
@@ -75,19 +75,18 @@ visitGithub=GitHub 저장소 방문하기
|
|||||||
donate=기부하기
|
donate=기부하기
|
||||||
color=색상
|
color=색상
|
||||||
sponsor=스폰서
|
sponsor=스폰서
|
||||||
info=정보
|
info=Info
|
||||||
pro=프로
|
pro=Pro
|
||||||
page=페이지
|
page=Page
|
||||||
pages=페이지
|
pages=Pages
|
||||||
loading=로딩 중...
|
loading=Loading...
|
||||||
addToDoc=문서에 추가
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=개인 정보 정책
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=이용 약관
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=접근성
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=쿠키 정책
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=임프레스무
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -99,7 +98,7 @@ pipeline.defaultOption=관습
|
|||||||
pipeline.submitButton=전송
|
pipeline.submitButton=전송
|
||||||
pipeline.help=파이프라인 도움말
|
pipeline.help=파이프라인 도움말
|
||||||
pipeline.scanHelp=폴더 스캔 도움말
|
pipeline.scanHelp=폴더 스캔 도움말
|
||||||
pipeline.deletePrompt=프로젝트 파이프라인을 삭제하시겠습니까?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -117,46 +116,45 @@ pipelineOptions.validateButton=확인
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=프로페셔널 버전으로 업그레이드
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=이 기능은 프로 버전 사용자만 이용 가능합니다.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=스털링 PDF 프로버전은 YAML 구성 파일과 기타 SSO 기능을 지원합니다.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=스털링 PDF를 더 나은 서비스로 발전시키고 싶으신가요?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=스털링 PDF는 사용자 정보 및 파일 내용을 추적하지 않는 제품 개선을 위한 옵인 애널리틱스 기능을 제공합니다.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=애널리틱스 기능을 활성화해 주셔서 스<>털링-PDF가 성장하고 우리 사용자를 더 잘 이해할 수 있도록 도와주세요.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=애널리틱스 활성화
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=애널리틱스 비활성화
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=애널리틱스 설정은 config/settings.yml 파일에서 변경하실 수 있습니다.
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
#############
|
#############
|
||||||
navbar.favorite=즐겨찾기
|
navbar.favorite=Favorites
|
||||||
navbar.darkmode=다크 모드
|
navbar.darkmode=다크 모드
|
||||||
navbar.language=언어
|
navbar.language=Languages
|
||||||
navbar.settings=설정
|
navbar.settings=설정
|
||||||
navbar.allTools=도구
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.organize=조직
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertTo=PDF로 변환
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
navbar.sections.convertFrom=PDF에서 변환
|
navbar.sections.security=Sign & Security
|
||||||
navbar.sections.security=서명 & 보안
|
navbar.sections.advance=Advanced
|
||||||
navbar.sections.advance=고급
|
navbar.sections.edit=View & Edit
|
||||||
navbar.sections.edit=보기 & 편집
|
navbar.sections.popular=Popular
|
||||||
navbar.sections.popular=인기
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
#############
|
#############
|
||||||
settings.title=설정
|
settings.title=설정
|
||||||
settings.update=업데이트 가능
|
settings.update=업데이트 가능
|
||||||
settings.updateAvailable={0}는 현재 설치된 버전입니다. 새로운 버전 ({1})이 있습니다.
|
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available.
|
||||||
settings.appVersion=앱 버전:
|
settings.appVersion=앱 버전:
|
||||||
settings.downloadOption.title=다운로드 옵션 선택 (zip 파일이 아닌 단일 파일 다운로드 시):
|
settings.downloadOption.title=다운로드 옵션 선택 (zip 파일이 아닌 단일 파일 다운로드 시):
|
||||||
settings.downloadOption.1=현재 창에서 열기
|
settings.downloadOption.1=현재 창에서 열기
|
||||||
@@ -165,9 +163,9 @@ settings.downloadOption.3=다운로드
|
|||||||
settings.zipThreshold=다운로드한 파일 수가 초과된 경우 파일 압축하기
|
settings.zipThreshold=다운로드한 파일 수가 초과된 경우 파일 압축하기
|
||||||
settings.signOut=로그아웃
|
settings.signOut=로그아웃
|
||||||
settings.accountSettings=계정 설정
|
settings.accountSettings=계정 설정
|
||||||
settings.bored.help=알라딘 게임을 활성화합니다
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=입력 저장
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=사용한 입력을 다음 실행에 저장하기 위해 활성화
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=계정 정보 변경
|
changeCreds.title=계정 정보 변경
|
||||||
changeCreds.header=계정 정보 업데이트
|
changeCreds.header=계정 정보 업데이트
|
||||||
@@ -206,9 +204,9 @@ adminUserSettings.header=사용자 관리
|
|||||||
adminUserSettings.admin=관리자
|
adminUserSettings.admin=관리자
|
||||||
adminUserSettings.user=사용자
|
adminUserSettings.user=사용자
|
||||||
adminUserSettings.addUser=새 사용자 추가
|
adminUserSettings.addUser=새 사용자 추가
|
||||||
adminUserSettings.deleteUser=유저 삭제
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=이 유저를 삭제하시겠습니까?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=이 유저의 상태를 변경하시겠습니까?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=사용자 이름은 문자, 숫자, 특수 문자 @._+-만 포함할 수 있으며 유효한 이메일 주소여야 합니다.
|
adminUserSettings.usernameInfo=사용자 이름은 문자, 숫자, 특수 문자 @._+-만 포함할 수 있으며 유효한 이메일 주소여야 합니다.
|
||||||
adminUserSettings.roles=역할
|
adminUserSettings.roles=역할
|
||||||
adminUserSettings.role=역할
|
adminUserSettings.role=역할
|
||||||
@@ -221,34 +219,33 @@ adminUserSettings.internalApiUser=내부 API 사용자
|
|||||||
adminUserSettings.forceChange=다음 로그인 때 사용자명과 비밀번호를 변경하도록 강제
|
adminUserSettings.forceChange=다음 로그인 때 사용자명과 비밀번호를 변경하도록 강제
|
||||||
adminUserSettings.submit=사용자 저장
|
adminUserSettings.submit=사용자 저장
|
||||||
adminUserSettings.changeUserRole=사용자의 역할 변경
|
adminUserSettings.changeUserRole=사용자의 역할 변경
|
||||||
adminUserSettings.authenticated=인증됨
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=자신의 프로필 편집
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=활성화된 사용자
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=비활성화된 사용자
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=활성화된 사용자:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=비활성화된 사용자:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=총 사용자 수:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=최근 요청
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=데이터베이스 내보내기/임포트
|
database.title=Database Import/Export
|
||||||
database.header=데이터베이스 내보내기/임포트
|
database.header=Database Import/Export
|
||||||
database.fileName=파일 이름
|
database.fileName=File Name
|
||||||
database.creationDate=생성 날짜
|
database.creationDate=Creation Date
|
||||||
database.fileSize=파일 크기
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=백업 파일 삭제
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=백업 파일 가져오기
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=백업 파일 다운로드
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=데이터를 가져올 때 적절한 구조가 중요합니다. 자신이 무엇을 하는지 확실하지 않다면 전문가의 조언과 지원을 청하는 것이 좋습니다. 구조에 오류가 있으면 애플리케이션 기능 실패나 애플리케이션이 완전히 작동하지 못하게 되는 등의 문제를 초래할 수 있습니다.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=업로드 시 파일 이름은 중요하지 않습니다. 후에 backup_user_yyyyMMddHHmm.sql 형식으로 다시 지정되어 일관된 이름 규칙을 유지합니다.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=백업 가져오기
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=데이터베이스에 성공적으로 가져왔습니다
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=파일은 null이나 빈 상태로 될 수 없습니다
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=세션이 만료되었습니다. 페이지를 새로 고침하고 다시 시도해 주세요.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -259,7 +256,7 @@ home.searchBar=기능 검색...
|
|||||||
|
|
||||||
home.viewPdf.title=PDF 뷰어
|
home.viewPdf.title=PDF 뷰어
|
||||||
home.viewPdf.desc=PDF 문서을 보고 주석을 달거나, 텍스트 또는 이미지를 추가합니다.
|
home.viewPdf.desc=PDF 문서을 보고 주석을 달거나, 텍스트 또는 이미지를 추가합니다.
|
||||||
viewPdf.tags=보기, 읽기, 표시, 텍스트, 이미지
|
viewPdf.tags=view,read,annotate,text,image
|
||||||
|
|
||||||
home.multiTool.title=PDF 멀티 툴
|
home.multiTool.title=PDF 멀티 툴
|
||||||
home.multiTool.desc=PDF 문서의 페이지를 병합, 회전, 재배열, 제거합니다.
|
home.multiTool.desc=PDF 문서의 페이지를 병합, 회전, 재배열, 제거합니다.
|
||||||
@@ -267,96 +264,96 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side
|
|||||||
|
|
||||||
home.merge.title=병합
|
home.merge.title=병합
|
||||||
home.merge.desc=여러 개의 PDF 문서을 쉽게 하나로 합칩니다.
|
home.merge.desc=여러 개의 PDF 문서을 쉽게 하나로 합칩니다.
|
||||||
merge.tags=결합, 페이지 작업, 뒷단, 서버 측
|
merge.tags=merge,Page operations,Back end,server side
|
||||||
|
|
||||||
home.split.title=분할
|
home.split.title=분할
|
||||||
home.split.desc=하나의 PDF 문서을 여러 개의 PDF 문서로 분할합니다.
|
home.split.desc=하나의 PDF 문서을 여러 개의 PDF 문서로 분할합니다.
|
||||||
split.tags=페이지 작업, 분할, 멀티페이지, 자르기, 서버 측
|
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=서버 측
|
rotate.tags=server side
|
||||||
|
|
||||||
|
|
||||||
home.imageToPdf.title=이미지를 PDF로
|
home.imageToPdf.title=이미지를 PDF로
|
||||||
home.imageToPdf.desc=이미지(PNG, JPEG, GIF)를 PDF 문서로 변환합니다.
|
home.imageToPdf.desc=이미지(PNG, JPEG, GIF)를 PDF 문서로 변환합니다.
|
||||||
imageToPdf.tags=변환, 이미지, jpg, 사진, 사진
|
imageToPdf.tags=conversion,img,jpg,picture,photo
|
||||||
|
|
||||||
home.pdfToImage.title=PDF를 이미지로
|
home.pdfToImage.title=PDF를 이미지로
|
||||||
home.pdfToImage.desc=PDF 문서을 이미지(PNG, JPEG, GIF)로 변환합니다.
|
home.pdfToImage.desc=PDF 문서을 이미지(PNG, JPEG, GIF)로 변환합니다.
|
||||||
pdfToImage.tags=변환, 이미지, jpg, 사진, 사진
|
pdfToImage.tags=conversion,img,jpg,picture,photo
|
||||||
|
|
||||||
home.pdfOrganiser.title=정렬
|
home.pdfOrganiser.title=정렬
|
||||||
home.pdfOrganiser.desc=PDF 문서의 각 페이지를 원하는 순서대로 재배열하거나 제거합니다.
|
home.pdfOrganiser.desc=PDF 문서의 각 페이지를 원하는 순서대로 재배열하거나 제거합니다.
|
||||||
pdfOrganiser.tags=복사, 짝수 페이지, 홀수 페이지, 정렬, 이동
|
pdfOrganiser.tags=duplex,even,odd,sort,move
|
||||||
|
|
||||||
|
|
||||||
home.addImage.title=사진 추가
|
home.addImage.title=사진 추가
|
||||||
home.addImage.desc=PDF 문서의 설정된 위치에 이미지를 추가합니다. (개발 중)
|
home.addImage.desc=PDF 문서의 설정된 위치에 이미지를 추가합니다. (개발 중)
|
||||||
addImage.tags=이미지, jpg, 사진, 사진
|
addImage.tags=img,jpg,picture,photo
|
||||||
|
|
||||||
home.watermark.title=워터마크 추가
|
home.watermark.title=워터마크 추가
|
||||||
home.watermark.desc=PDF 문서에 사용자 지정 워터마크를 추가합니다.
|
home.watermark.desc=PDF 문서에 사용자 지정 워터마크를 추가합니다.
|
||||||
watermark.tags=텍스트, 반복, 라벨, 소유권, 상표, 이미지, jpg, 사진, 사진
|
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
||||||
|
|
||||||
home.permissions.title=권한 변경
|
home.permissions.title=권한 변경
|
||||||
home.permissions.desc=PDF 문서의 권한을 변경합니다.
|
home.permissions.desc=PDF 문서의 권한을 변경합니다.
|
||||||
permissions.tags=읽기, 쓰기, 편집, 인쇄
|
permissions.tags=read,write,edit,print
|
||||||
|
|
||||||
|
|
||||||
home.removePages.title=제거
|
home.removePages.title=제거
|
||||||
home.removePages.desc=PDF 문서에서 원치 않는 페이지를 제거합니다.
|
home.removePages.desc=PDF 문서에서 원치 않는 페이지를 제거합니다.
|
||||||
removePages.tags=페이지 제거, 삭제
|
removePages.tags=Remove pages,delete pages
|
||||||
|
|
||||||
home.addPassword.title=암호 추가
|
home.addPassword.title=암호 추가
|
||||||
home.addPassword.desc=PDF 문서를 비밀번호로 암호화합니다.
|
home.addPassword.desc=PDF 문서를 비밀번호로 암호화합니다.
|
||||||
addPassword.tags=보안, 안전
|
addPassword.tags=secure,security
|
||||||
|
|
||||||
home.removePassword.title=비밀번호 제거
|
home.removePassword.title=비밀번호 제거
|
||||||
home.removePassword.desc=PDF 문서에서 비밀번호를 제거합니다.
|
home.removePassword.desc=PDF 문서에서 비밀번호를 제거합니다.
|
||||||
removePassword.tags=보안, 복호화, 안전, 비밀번호 해제, 비밀번호 삭제
|
removePassword.tags=secure,Decrypt,security,unpassword,delete password
|
||||||
|
|
||||||
home.compressPdfs.title=압축
|
home.compressPdfs.title=압축
|
||||||
home.compressPdfs.desc=파일 크기를 줄이기 위해 PDF 문서를 압축합니다.
|
home.compressPdfs.desc=파일 크기를 줄이기 위해 PDF 문서를 압축합니다.
|
||||||
compressPdfs.tags=압축, 작게 만드는
|
compressPdfs.tags=squish,small,tiny
|
||||||
|
|
||||||
|
|
||||||
home.changeMetadata.title=메타데이터 변경
|
home.changeMetadata.title=메타데이터 변경
|
||||||
home.changeMetadata.desc=PDF 문서의 메타데이터를 수정/제거/추가합니다.
|
home.changeMetadata.desc=PDF 문서의 메타데이터를 수정/제거/추가합니다.
|
||||||
changeMetadata.tags=제목, 저자, 날짜, 생성 시간, 출판사, 제작자, 통계
|
changeMetadata.tags=Title,author,date,creation,time,publisher,producer,stats
|
||||||
|
|
||||||
home.fileToPDF.title=파일을 PDF로 변환
|
home.fileToPDF.title=파일을 PDF로 변환
|
||||||
home.fileToPDF.desc=거의 모든 파일을 PDF로 변환합니다(DOCX, PNG, XLS, PPT, TXT 등)
|
home.fileToPDF.desc=거의 모든 파일을 PDF로 변환합니다(DOCX, PNG, XLS, PPT, TXT 등)
|
||||||
fileToPDF.tags=변환, 포맷, 문서, 사진, 슬라이드, 텍스트, 변환, 오피스,-docs, word, excel, powerpoint
|
fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint
|
||||||
|
|
||||||
home.ocr.title=OCR / 깔끔하게 스캔
|
home.ocr.title=OCR / 깔끔하게 스캔
|
||||||
home.ocr.desc=깔끔하게 스캔한 뒤, PDF 내의 이미지에서 텍스트를 감지하여 텍스트로 다시 추가합니다.
|
home.ocr.desc=깔끔하게 스캔한 뒤, PDF 내의 이미지에서 텍스트를 감지하여 텍스트로 다시 추가합니다.
|
||||||
ocr.tags=인식, 텍스트, 이미지, 스캔, 읽기, 식별, 감지, 편집 가능한
|
ocr.tags=recognition,text,image,scan,read,identify,detection,editable
|
||||||
|
|
||||||
|
|
||||||
home.extractImages.title=이미지 추출
|
home.extractImages.title=이미지 추출
|
||||||
home.extractImages.desc=PDF에서 모든 이미지를 추출하여 zip으로 저장합니다.
|
home.extractImages.desc=PDF에서 모든 이미지를 추출하여 zip으로 저장합니다.
|
||||||
extractImages.tags=사진, 스크린샷 저장, 압축, 캡처, 잡아두기
|
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||||
|
|
||||||
home.pdfToPDFA.title=PDF를 PDF/A로 변환
|
home.pdfToPDFA.title=PDF를 PDF/A로 변환
|
||||||
home.pdfToPDFA.desc=장기 보관을 위해 PDF 문서를 PDF/A 문서로 변환합니다.
|
home.pdfToPDFA.desc=장기 보관을 위해 PDF 문서를 PDF/A 문서로 변환합니다.
|
||||||
pdfToPDFA.tags=보관, 장기 보관, 표준화, 변환, 기록 보존
|
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation
|
||||||
|
|
||||||
home.PDFToWord.title=PDF를 Word로
|
home.PDFToWord.title=PDF를 Word로
|
||||||
home.PDFToWord.desc=PDF 문서를 Word 형식으로 변환합니다. (DOC, DOCX, ODT)
|
home.PDFToWord.desc=PDF 문서를 Word 형식으로 변환합니다. (DOC, DOCX, ODT)
|
||||||
PDFToWord.tags=doc, docx, odt, word, 변환, 포맷, 변환, 오피스, microsoft, docfile
|
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile
|
||||||
|
|
||||||
home.PDFToPresentation.title=PDF를 프리젠테이션으로
|
home.PDFToPresentation.title=PDF를 프리젠테이션으로
|
||||||
home.PDFToPresentation.desc=PDF 문서를 프리젠테이션 형식으로 변환합니다. (PPT, PPTX, ODP)
|
home.PDFToPresentation.desc=PDF 문서를 프리젠테이션 형식으로 변환합니다. (PPT, PPTX, ODP)
|
||||||
PDFToPresentation.tags=슬라이드, 강의, office, microsoft
|
PDFToPresentation.tags=slides,show,office,microsoft
|
||||||
|
|
||||||
home.PDFToText.title=PDF to 텍스트/RTF
|
home.PDFToText.title=PDF to 텍스트/RTF
|
||||||
home.PDFToText.desc=PDF 문서를 텍스트 또는 RTF 형식으로 변환합니다.
|
home.PDFToText.desc=PDF 문서를 텍스트 또는 RTF 형식으로 변환합니다.
|
||||||
PDFToText.tags=가이득한 텍스트 형식, 풍부한 텍스트 형식, 풍부한 텍스트 포맷
|
PDFToText.tags=richformat,richtextformat,rich text format
|
||||||
|
|
||||||
home.PDFToHTML.title=PDF를 HTML로
|
home.PDFToHTML.title=PDF를 HTML로
|
||||||
home.PDFToHTML.desc=PDF 문서를 HTML 형식으로 변환합니다.
|
home.PDFToHTML.desc=PDF 문서를 HTML 형식으로 변환합니다.
|
||||||
PDFToHTML.tags=웹 콘텐츠, 브라우저 친화적
|
PDFToHTML.tags=web content,browser friendly
|
||||||
|
|
||||||
|
|
||||||
home.PDFToXML.title=PDF를 XML로 변환
|
home.PDFToXML.title=PDF를 XML로 변환
|
||||||
@@ -365,63 +362,63 @@ PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
|
|||||||
|
|
||||||
home.ScannerImageSplit.title=스캔한 사진 감지/분할
|
home.ScannerImageSplit.title=스캔한 사진 감지/분할
|
||||||
home.ScannerImageSplit.desc=스캔된 PDF 문서 내에서 여러 장의 사진을 분할합니다.
|
home.ScannerImageSplit.desc=스캔된 PDF 문서 내에서 여러 장의 사진을 분할합니다.
|
||||||
ScannerImageSplit.tags=분리, 자동 감지, 스캔, 다중 사진, 조직
|
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize
|
||||||
|
|
||||||
home.sign.title=서명
|
home.sign.title=서명
|
||||||
home.sign.desc=PDF 문서에 그림, 텍스트, 이미지로 서명을 추가합니다.
|
home.sign.desc=PDF 문서에 그림, 텍스트, 이미지로 서명을 추가합니다.
|
||||||
sign.tags=인증, 초기값, 손글씨 서명, 텍스트 서명, 이미지 서명
|
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature
|
||||||
|
|
||||||
home.flatten.title=평탄화
|
home.flatten.title=평탄화
|
||||||
home.flatten.desc=PDF 문서에서 모든 상호작용 요소와 양식을 제거합니다.
|
home.flatten.desc=PDF 문서에서 모든 상호작용 요소와 양식을 제거합니다.
|
||||||
flatten.tags=정적화, 비활성화, 비 상호작용, 절전 모드
|
flatten.tags=static,deactivate,non-interactive,streamline
|
||||||
|
|
||||||
home.repair.title=복구
|
home.repair.title=복구
|
||||||
home.repair.desc=손상된 PDF 문서의 복구를 시도합니다.
|
home.repair.desc=손상된 PDF 문서의 복구를 시도합니다.
|
||||||
repair.tags=수리, 복원, 수정, 회복
|
repair.tags=fix,restore,correction,recover
|
||||||
|
|
||||||
home.removeBlanks.title=빈 페이지 제거
|
home.removeBlanks.title=빈 페이지 제거
|
||||||
home.removeBlanks.desc=PDF 문서에서 빈 페이지를 감지하고 제거합니다.
|
home.removeBlanks.desc=PDF 문서에서 빈 페이지를 감지하고 제거합니다.
|
||||||
removeBlanks.tags=정돈, 단순화, 콘텐츠 외부 내용 제거, 조직
|
removeBlanks.tags=cleanup,streamline,non-content,organize
|
||||||
|
|
||||||
home.removeAnnotations.title=주석 제거
|
home.removeAnnotations.title=주석 제거
|
||||||
home.removeAnnotations.desc=PDF에서 모든 주석/주석을 제거합니다.
|
home.removeAnnotations.desc=PDF에서 모든 주석/주석을 제거합니다.
|
||||||
removeAnnotations.tags=코멘트, 강조 표시, 주석, 마크업, 삭제
|
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||||
|
|
||||||
home.compare.title=비교
|
home.compare.title=비교
|
||||||
home.compare.desc=2개의 PDF 문서를 비교하고 차이를 표시합니다.
|
home.compare.desc=2개의 PDF 문서를 비교하고 차이를 표시합니다.
|
||||||
compare.tags=분별, 대조, 변화, 분석
|
compare.tags=differentiate,contrast,changes,analysis
|
||||||
|
|
||||||
home.certSign.title=인증서로 서명
|
home.certSign.title=인증서로 서명
|
||||||
home.certSign.desc=PDF 문서에 인증서 또는 키로 서명합니다. (PEM/P12)
|
home.certSign.desc=PDF 문서에 인증서 또는 키로 서명합니다. (PEM/P12)
|
||||||
certSign.tags=인증, PEM, P12, 공식적, 암호화
|
certSign.tags=authenticate,PEM,P12,official,encrypt
|
||||||
|
|
||||||
home.removeCertSign.title=서명 제거
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=PDF에서 서명을 제거합니다.
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=인증, PEM, P12, 공식적, 복호화
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=다중 페이지 레이아웃
|
home.pageLayout.title=다중 페이지 레이아웃
|
||||||
home.pageLayout.desc=PDF 문서의 여러 페이지를 한 페이지로 합칩니다.
|
home.pageLayout.desc=PDF 문서의 여러 페이지를 한 페이지로 합칩니다.
|
||||||
pageLayout.tags=병합, 합성, 단일 뷰, 정리
|
pageLayout.tags=merge,composite,single-view,organize
|
||||||
|
|
||||||
home.scalePages.title=페이지 크기 및 배율 조정
|
home.scalePages.title=페이지 크기 및 배율 조정
|
||||||
home.scalePages.desc=페이지 및 그 페이지 내용의 크기와 배율을 조정합니다.
|
home.scalePages.desc=페이지 및 그 페이지 내용의 크기와 배율을 조정합니다.
|
||||||
scalePages.tags=크기 조정, 수정, 차원, 적응
|
scalePages.tags=resize,modify,dimension,adapt
|
||||||
|
|
||||||
home.pipeline.title=파이프라인 (고급 기능)
|
home.pipeline.title=파이프라인 (고급 기능)
|
||||||
home.pipeline.desc=파이프라인 스크립트를 사용해서 PDF 문서에 여러 동작을 수행합니다.
|
home.pipeline.desc=파이프라인 스크립트를 사용해서 PDF 문서에 여러 동작을 수행합니다.
|
||||||
pipeline.tags=자동화, 시퀀스, 스크립트, 배치 처리
|
pipeline.tags=automate,sequence,scripted,batch-process
|
||||||
|
|
||||||
home.add-page-numbers.title=페이지 번호 추가
|
home.add-page-numbers.title=페이지 번호 추가
|
||||||
home.add-page-numbers.desc=PDF 문서의 페이지마다, 설정한 위치에 페이지 번호를 삽입합니다.
|
home.add-page-numbers.desc=PDF 문서의 페이지마다, 설정한 위치에 페이지 번호를 삽입합니다.
|
||||||
add-page-numbers.tags=페이지 번호 추가, 레이블링, 정리, 인덱싱
|
add-page-numbers.tags=paginate,label,organize,index
|
||||||
|
|
||||||
home.auto-rename.title=자동 이름 변경
|
home.auto-rename.title=자동 이름 변경
|
||||||
home.auto-rename.desc=제목을 감지하여 자동으로 PDF 문서의 파일 이름을 변경합니다.
|
home.auto-rename.desc=제목을 감지하여 자동으로 PDF 문서의 파일 이름을 변경합니다.
|
||||||
auto-rename.tags=자동 탐지, 헤더 기반, 정리, 재레이블
|
auto-rename.tags=auto-detect,header-based,organize,relabel
|
||||||
|
|
||||||
home.adjust-contrast.title=색상/대비 조정
|
home.adjust-contrast.title=색상/대비 조정
|
||||||
home.adjust-contrast.desc=PDF 문서의 대비, 채도, 밝기를 조정합니다.
|
home.adjust-contrast.desc=PDF 문서의 대비, 채도, 밝기를 조정합니다.
|
||||||
adjust-contrast.tags=색상 보정, 조정, 수정, 향상
|
adjust-contrast.tags=color-correction,tune,modify,enhance
|
||||||
|
|
||||||
home.crop.title=PDF 잘라내기
|
home.crop.title=PDF 잘라내기
|
||||||
home.crop.desc=PDF 문서를 잘라내서 크기를 줄입니다. (텍스트가 그대로 유지됩니다!)
|
home.crop.desc=PDF 문서를 잘라내서 크기를 줄입니다. (텍스트가 그대로 유지됩니다!)
|
||||||
@@ -429,29 +426,29 @@ crop.tags=trim,shrink,edit,shape
|
|||||||
|
|
||||||
home.autoSplitPDF.title=자동 문서 나누기
|
home.autoSplitPDF.title=자동 문서 나누기
|
||||||
home.autoSplitPDF.desc=구분용 QR코드가 들어있는 페이지를 경계로 하여, 스캔된 PDF 문서를 자동으로 나눕니다.
|
home.autoSplitPDF.desc=구분용 QR코드가 들어있는 페이지를 경계로 하여, 스캔된 PDF 문서를 자동으로 나눕니다.
|
||||||
autoSplitPDF.tags=QR 코드 기반, 분리, 스캔 분할, 정리
|
autoSplitPDF.tags=QR-based,separate,scan-segment,organize
|
||||||
|
|
||||||
home.sanitizePdf.title=정제
|
home.sanitizePdf.title=정제
|
||||||
home.sanitizePdf.desc=PDF 문서에서 스크립트와 같은 요소들을 제거합니다.
|
home.sanitizePdf.desc=PDF 문서에서 스크립트와 같은 요소들을 제거합니다.
|
||||||
sanitizePdf.tags=클린징, 보안, 안전, 위협 제거
|
sanitizePdf.tags=clean,secure,safe,remove-threats
|
||||||
|
|
||||||
home.URLToPDF.title=URL/웹사이트를 PDF로
|
home.URLToPDF.title=URL/웹사이트를 PDF로
|
||||||
home.URLToPDF.desc=http(s) 웹사이트를 PDF 문서로 변환합니다.
|
home.URLToPDF.desc=http(s) 웹사이트를 PDF 문서로 변환합니다.
|
||||||
URLToPDF.tags=웹 캡처, 페이지 저장, 웹 문서 변환, 장기 보관
|
URLToPDF.tags=web-capture,save-page,web-to-doc,archive
|
||||||
|
|
||||||
home.HTMLToPDF.title=HTML에서 PDF로
|
home.HTMLToPDF.title=HTML에서 PDF로
|
||||||
home.HTMLToPDF.desc=HTML 파일, 또는 ZIP 파일을 PDF로 변환합니다.
|
home.HTMLToPDF.desc=HTML 파일, 또는 ZIP 파일을 PDF로 변환합니다.
|
||||||
HTMLToPDF.tags=마크업, 웹 내용 변환, 변환
|
HTMLToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.MarkdownToPDF.title=Markdown에서 PDF로
|
home.MarkdownToPDF.title=Markdown에서 PDF로
|
||||||
home.MarkdownToPDF.desc=마크다운 파일을 PDF 문서로 변환합니다.
|
home.MarkdownToPDF.desc=마크다운 파일을 PDF 문서로 변환합니다.
|
||||||
MarkdownToPDF.tags=마크업, 웹 내용 변환, 변환
|
MarkdownToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.getPdfInfo.title=PDF 정보 읽기
|
home.getPdfInfo.title=PDF 정보 읽기
|
||||||
home.getPdfInfo.desc=PDF 문서의 가능한 모든 정보를 읽습니다.
|
home.getPdfInfo.desc=PDF 문서의 가능한 모든 정보를 읽습니다.
|
||||||
getPdfInfo.tags=정보 제공, 데이터, 통계, 통계
|
getPdfInfo.tags=infomation,data,stats,statistics
|
||||||
|
|
||||||
|
|
||||||
home.extractPage.title=페이지 추출
|
home.extractPage.title=페이지 추출
|
||||||
@@ -470,29 +467,29 @@ showJS.tags=JS
|
|||||||
|
|
||||||
home.autoRedact.title=자동 검열
|
home.autoRedact.title=자동 검열
|
||||||
home.autoRedact.desc=PDF 문서에서 입력된 텍스트들을 자동으로 검열(모자이크)합니다.
|
home.autoRedact.desc=PDF 문서에서 입력된 텍스트들을 자동으로 검열(모자이크)합니다.
|
||||||
autoRedact.tags=노출 방지, 숨기기, 검은색 처리, 마커, 숨김
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF에서 CSV로
|
home.tableExtraxt.title=PDF에서 CSV로
|
||||||
home.tableExtraxt.desc=PDF에서 표를 추출하여 CSV로 변환
|
home.tableExtraxt.desc=PDF에서 표를 추출하여 CSV로 변환
|
||||||
tableExtraxt.tags=CSV, 테이블 추출, 추출, 변환
|
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=크기/개수로 자동 분할
|
home.autoSizeSplitPDF.title=크기/개수로 자동 분할
|
||||||
home.autoSizeSplitPDF.desc=단일 PDF를 크기, 페이지 수 또는 문서 수에 따라 여러 문서로 분할
|
home.autoSizeSplitPDF.desc=단일 PDF를 크기, 페이지 수 또는 문서 수에 따라 여러 문서로 분할
|
||||||
autoSizeSplitPDF.tags=pdf 분할, 문서 분할, 조직화
|
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=PDF 오버레이
|
home.overlay-pdfs.title=PDF 오버레이
|
||||||
home.overlay-pdfs.desc=PDF를 다른 PDF 위에 오버레이
|
home.overlay-pdfs.desc=PDF를 다른 PDF 위에 오버레이
|
||||||
overlay-pdfs.tags=오버레이
|
overlay-pdfs.tags=Overlay
|
||||||
|
|
||||||
home.split-by-sections.title=섹션별로 PDF 분할
|
home.split-by-sections.title=섹션별로 PDF 분할
|
||||||
home.split-by-sections.desc=PDF의 각 페이지를 더 작은 가로와 세로 구역으로 나눕니다
|
home.split-by-sections.desc=PDF의 각 페이지를 더 작은 가로와 세로 구역으로 나눕니다
|
||||||
split-by-sections.tags=섹션 분할, 나누기, 커스텀
|
split-by-sections.tags=Section Split, Divide, Customize
|
||||||
|
|
||||||
home.AddStampRequest.title=PDF에 스탬프 추가
|
home.AddStampRequest.title=PDF에 스탬프 추가
|
||||||
home.AddStampRequest.desc=설정된 위치에 텍스트 추가 또는 이미지 스탬프 추가
|
home.AddStampRequest.desc=설정된 위치에 텍스트 추가 또는 이미지 스탬프 추가
|
||||||
AddStampRequest.tags=주석 추가, 이미지 중앙 정렬, 워터마크, PDF 임베딩, 커스텀
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF를 책으로
|
home.PDFToBook.title=PDF를 책으로
|
||||||
@@ -503,25 +500,25 @@ home.BookToPDF.title=책을 PDF로
|
|||||||
home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환
|
home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=PDF에서 이미지 제거
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=PDF에서 이미지를 제거하여 파일 크기를 줄입니다.
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=이미지 제거, 페이지 작업, 서버 측 처리
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=챕터별로 PDF 분할
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=PDF를 여러 파일로 나눕니다. 각 장의 구조에 따라.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=분할, 챕터, 북마크, 조직화
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=색상 교체/반전 PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=PDF에서 텍스트와 배경 색상을 바꾸고 전체 PDF의 색상을 반전하여 파일 크기를 줄입니다.
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=색상 교체, 페이지 작업, 서버 측 처리
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=색상 교체 또는 반전 옵션
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=기본값(고 해밍도 색상)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=커스텀(커스텀 색상)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=전체 반전(모든 색상을 반전)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=High contrast color options
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=white text on black background
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Black text on white background
|
replace-color.selectText.7=Black text on white background
|
||||||
@@ -753,15 +750,14 @@ certSign.showSig=서명 보기
|
|||||||
certSign.reason=이유
|
certSign.reason=이유
|
||||||
certSign.location=위치
|
certSign.location=위치
|
||||||
certSign.name=이름
|
certSign.name=이름
|
||||||
certSign.showLogo=로고 표시
|
|
||||||
certSign.submit=PDF 서명
|
certSign.submit=PDF 서명
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=인증서 서명 제거
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=PDF에서 디지털 인증서를 제거합니다
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=PDF 파일 선택:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=서명 제거
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=제거하다
|
|||||||
#compare
|
#compare
|
||||||
compare.title=비교
|
compare.title=비교
|
||||||
compare.header=PDF 문서 비교
|
compare.header=PDF 문서 비교
|
||||||
compare.highlightColor.1=하이라이트 색상 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=하이라이트 색상 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=문서 1
|
compare.document.1=문서 1
|
||||||
compare.document.2=문서 2
|
compare.document.2=문서 2
|
||||||
compare.submit=비교
|
compare.submit=비교
|
||||||
compare.complex.message=제공된 한 개 이상의 문서가 큰 파일인 경우, 비교 정확도가 저하될 수 있습니다
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=제공된 한 개 이상의 문서가 처리할 수 없을 정도로 큽니다
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=선택한 PDF 중 하나 이상은 텍스트 내용이 없습니다. 비교를 위해 텍스트가 포함된 PDF를 선택하세요
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=책과 만화를 PDF로
|
BookToPDF.title=책과 만화를 PDF로
|
||||||
@@ -813,11 +809,11 @@ sign.draw=서명 그리기
|
|||||||
sign.text=텍스트 입력
|
sign.text=텍스트 입력
|
||||||
sign.clear=초기화
|
sign.clear=초기화
|
||||||
sign.add=추가
|
sign.add=추가
|
||||||
sign.saved=저장된 서명
|
sign.saved=Saved Signatures
|
||||||
sign.save=서명 저장
|
sign.save=Save Signature
|
||||||
sign.personalSigs=개인용 서명
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=공유용 서명
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=저장된 서명이 없습니다
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -829,7 +825,7 @@ repair.submit=복구
|
|||||||
#flatten
|
#flatten
|
||||||
flatten.title=평탄화
|
flatten.title=평탄화
|
||||||
flatten.header=PDF 문서의 레이어 평탄화
|
flatten.header=PDF 문서의 레이어 평탄화
|
||||||
flatten.flattenOnlyForms=양식만 압축
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=평탄화
|
flatten.submit=평탄화
|
||||||
|
|
||||||
|
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=최소 윤곽 영역:
|
|||||||
ScannerImageSplit.selectText.8=사진의 최소 윤곽선 영역 임계값을 설정합니다.
|
ScannerImageSplit.selectText.8=사진의 최소 윤곽선 영역 임계값을 설정합니다.
|
||||||
ScannerImageSplit.selectText.9=테두리 크기:
|
ScannerImageSplit.selectText.9=테두리 크기:
|
||||||
ScannerImageSplit.selectText.10=출력에서 흰색 테두리를 방지하기 위해 추가 및 제거되는 테두리의 크기를 설정합니다(기본값: 1).
|
ScannerImageSplit.selectText.10=출력에서 흰색 테두리를 방지하기 위해 추가 및 제거되는 테두리의 크기를 설정합니다(기본값: 1).
|
||||||
ScannerImageSplit.info=Python이 설치되지 않았습니다. 이 기능을 실행하기 위해 필요합니다
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,15 +867,15 @@ ocr.submit=인식
|
|||||||
extractImages.title=이미지 추출
|
extractImages.title=이미지 추출
|
||||||
extractImages.header=이미지 추출
|
extractImages.header=이미지 추출
|
||||||
extractImages.selectText=추출된 이미지를 변환할 이미지 형식을 선택합니다.
|
extractImages.selectText=추출된 이미지를 변환할 이미지 형식을 선택합니다.
|
||||||
extractImages.allowDuplicates=중복 이미지 저장 허용
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=추출
|
extractImages.submit=추출
|
||||||
|
|
||||||
|
|
||||||
#File to PDF
|
#File to PDF
|
||||||
fileToPDF.title=파일 to PDF
|
fileToPDF.title=File to PDF
|
||||||
fileToPDF.header=다양한 파일을 PDF로 변환
|
fileToPDF.header=다양한 파일을 PDF로 변환
|
||||||
fileToPDF.credit=이 서비스는 파일 변환에 LibreOffice와 Unoconv를 사용합니다.
|
fileToPDF.credit=이 서비스는 파일 변환에 LibreOffice와 Unoconv를 사용합니다.
|
||||||
fileToPDF.supportedFileTypesInfo=지원되는 파일 형식
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=지원되는 파일 형식은 아래와 같습니다. 지원되는 형식의 전체 업데이트 목록은 LibreOffice 설명서를 참조합니다.
|
fileToPDF.supportedFileTypes=지원되는 파일 형식은 아래와 같습니다. 지원되는 형식의 전체 업데이트 목록은 LibreOffice 설명서를 참조합니다.
|
||||||
fileToPDF.submit=PDF로 변환
|
fileToPDF.submit=PDF로 변환
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=병합
|
|||||||
merge.header=여러 개의 PDF 병합 (2개 이상)
|
merge.header=여러 개의 PDF 병합 (2개 이상)
|
||||||
merge.sortByName=이름순 정렬
|
merge.sortByName=이름순 정렬
|
||||||
merge.sortByDate=날짜순 정렬
|
merge.sortByDate=날짜순 정렬
|
||||||
merge.removeCertSign=병합 파일에서 디지털 서명을 제거하시겠습니까?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=병합
|
merge.submit=병합
|
||||||
|
|
||||||
|
|
||||||
@@ -927,25 +923,14 @@ pdfOrganiser.mode.6=홀수-짝수 분할
|
|||||||
pdfOrganiser.mode.7=첫 번째 항목 삭제
|
pdfOrganiser.mode.7=첫 번째 항목 삭제
|
||||||
pdfOrganiser.mode.8=마지막 항목 제거
|
pdfOrganiser.mode.8=마지막 항목 제거
|
||||||
pdfOrganiser.mode.9=첫 번째와 마지막 제거
|
pdfOrganiser.mode.9=첫 번째와 마지막 제거
|
||||||
pdfOrganiser.mode.10=홀 짝 번갈아가기 병합
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(예: 1,3,2 또는 4-8,2,10-12 또는 2n-1)
|
pdfOrganiser.placeholder=(예: 1,3,2 또는 4-8,2,10-12 또는 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=PDF 멀티툴
|
multiTool.title=PDF 멀티툴
|
||||||
multiTool.header=PDF 멀티툴
|
multiTool.header=PDF 멀티툴
|
||||||
multiTool.uploadPrompts=파일 이름
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF 뷰어
|
viewPdf.title=PDF 뷰어
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=컬러
|
|||||||
pdfToImage.grey=그레이스케일
|
pdfToImage.grey=그레이스케일
|
||||||
pdfToImage.blackwhite=흑백 (데이터 손실 가능성 있음!)
|
pdfToImage.blackwhite=흑백 (데이터 손실 가능성 있음!)
|
||||||
pdfToImage.submit=변환
|
pdfToImage.submit=변환
|
||||||
pdfToImage.info=Python이 설치되어 있지 않습니다. WebP 변환에 필요합니다.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,7 +1029,7 @@ watermark.selectText.6=세로 간격 (각 워터마크 사이의 세로 공간):
|
|||||||
watermark.selectText.7=투명도 (0% - 100%):
|
watermark.selectText.7=투명도 (0% - 100%):
|
||||||
watermark.selectText.8=워터마크 유형:
|
watermark.selectText.8=워터마크 유형:
|
||||||
watermark.selectText.9=워터마크 이미지:
|
watermark.selectText.9=워터마크 이미지:
|
||||||
watermark.selectText.10=PDF를 PDF-Image로 변환
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=워터마크 추가
|
watermark.submit=워터마크 추가
|
||||||
watermark.type.1=텍스트
|
watermark.type.1=텍스트
|
||||||
watermark.type.2=이미지
|
watermark.type.2=이미지
|
||||||
@@ -1100,8 +1085,8 @@ pdfToPDFA.header=PDF 문서를 PDF/A로 변환
|
|||||||
pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 ghostscript 문서를 사용합니다.
|
pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 ghostscript 문서를 사용합니다.
|
||||||
pdfToPDFA.submit=변환
|
pdfToPDFA.submit=변환
|
||||||
pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다.
|
pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다.
|
||||||
pdfToPDFA.outputFormat=출력 형식
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=이 PDF에는 디지털 서명이 포함되어 있습니다. 다음 단계에서 이 서명이 제거될 것입니다.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1187,11 +1172,11 @@ split-by-sections.merge=하나의 PDF로 병합
|
|||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=파일 인쇄
|
printFile.title=Print File
|
||||||
printFile.header=프린터로 파일 인쇄
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=인쇄할 파일 선택
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=프린터 이름 입력
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=인쇄
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
@@ -1203,15 +1188,15 @@ licenses.version=버전
|
|||||||
licenses.license=라이센스
|
licenses.license=라이센스
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=설문조사
|
survey.nav=Survey
|
||||||
survey.title=스테링-PDF 설문조사
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=스테링-PDF는 추적 기능이 없으므로 사용자 의견을 듣습니다. 스테링-PDF를 개선합니다!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=최근 설문조사를 진행한 이후로 스테링-PDF가 변경되었습니다! 자세한 내용은 여기의 블로그 포스트를 확인하시기 바랍니다:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=이러한 변경 사항으로 인해 수익화된 비즈니스 지원과 펀딩을 받게 되었습니다
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(다음 업데이트에서는 설문 조사 팝업이 무단으로 끄일 수 있으나 페이지 하단에서 사용 가능)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=설문조사 참여
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=이것은 다시 보지 않기
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - 문의 게시
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=이미지 제거
|
removeImage.title=Remove image
|
||||||
removeImage.header=이미지 제거
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=이미지 제거
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=제거
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=챕터별 PDF 분할
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=챕터별 PDF 분할
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=북마크 레벨
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=메타데이터 포함
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=중복 허용
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=이 도구는 챕터 구조를 기반으로 한 PDF 파일을 여러 개의 PDF로 분할합니다.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=북마크 레벨: 분할에 사용할 북마크 레벨을 선택하세요 (0은 상위 수준, 1은 하위 수준 등).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=메타데이터 포함: 체크하면 각 분할된 PDF에는 원본 PDF의 메타데이터가 포함됩니다.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=중복 허용: 중복 북마크가 있는 같은 페이지에 여러 번 분할 PDF를 생성합니다.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=PDF 분할
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Lettertypegrootte
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Lettertypenaam
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Selecteer PDF('s)
|
pdfPrompt=Selecteer PDF('s)
|
||||||
multiPdfPrompt=Selecteer PDF's (2+)
|
multiPdfPrompt=Selecteer PDF's (2+)
|
||||||
multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt
|
multiPdfDropPrompt=Selecteer (of sleep & zet neer) alle PDF's die je nodig hebt
|
||||||
@@ -25,13 +25,13 @@ noFavourites=Geen favorieten toegevoegd
|
|||||||
downloadComplete=Download klaar
|
downloadComplete=Download klaar
|
||||||
bored=Verveeld met wachten?
|
bored=Verveeld met wachten?
|
||||||
alphabet=Alfabet
|
alphabet=Alfabet
|
||||||
downloadPdf=PDF downloaden
|
downloadPdf=Download PDF
|
||||||
text=Tekst
|
text=Tekst
|
||||||
font=Lettertype
|
font=Lettertype
|
||||||
selectFillter=-- Selecteer --
|
selectFillter=-- Selecteer --
|
||||||
pageNum=Paginanummer
|
pageNum=Paginanummer
|
||||||
sizes.small=Klein
|
sizes.small=Klein
|
||||||
sizes.medium=Gemiddeld
|
sizes.medium=Medium
|
||||||
sizes.large=Groot
|
sizes.large=Groot
|
||||||
sizes.x-large=Extra groot
|
sizes.x-large=Extra groot
|
||||||
error.pdfPassword=Het PDF document is beveiligd met een wachtwoord en het wachtwoord is niet ingevoerd of is onjuist
|
error.pdfPassword=Het PDF document is beveiligd met een wachtwoord en het wachtwoord is niet ingevoerd of is onjuist
|
||||||
@@ -56,18 +56,18 @@ userNotFoundMessage=Gebruiker niet gevonden.
|
|||||||
incorrectPasswordMessage=Huidige wachtwoord is onjuist.
|
incorrectPasswordMessage=Huidige wachtwoord is onjuist.
|
||||||
usernameExistsMessage=Nieuwe gebruikersnaam bestaat al.
|
usernameExistsMessage=Nieuwe gebruikersnaam bestaat al.
|
||||||
invalidUsernameMessage=Ongeldige gebruikersnaam, gebruikersnaam kan alleen letters, nummers en de volgende speciale tekens @._+- bevatten of moet een geldig emailadres zijn.
|
invalidUsernameMessage=Ongeldige gebruikersnaam, gebruikersnaam kan alleen letters, nummers en de volgende speciale tekens @._+- bevatten of moet een geldig emailadres zijn.
|
||||||
invalidPasswordMessage=Het wachtwoord mag geen spaties ten beginne of einde bevatten en mag niet leeg zijn.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Nieuw wachtwoord en bevestig wachtwoord moeten overeenkomen.
|
confirmPasswordErrorMessage=Nieuw wachtwoord en bevestig wachtwoord moeten overeenkomen.
|
||||||
deleteCurrentUserMessage=Kan niet een momenteel ingelogde gebruiker verwijderen.
|
deleteCurrentUserMessage=Kan niet een momenteel ingelogde gebruiker verwijderen.
|
||||||
deleteUsernameExistsMessage=De gebruikersnaam bestaat niet en kan niet verwijderd worden.
|
deleteUsernameExistsMessage=De gebruikersnaam bestaat niet en kan niet verwijderd worden.
|
||||||
downgradeCurrentUserMessage=Kan de rol van de huidige gebruiker niet downgraden
|
downgradeCurrentUserMessage=Kan de rol van de huidige gebruiker niet downgraden
|
||||||
disabledCurrentUserMessage=De huidige gebruiker kan niet worden uitgeschakeld
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Kan de rol van de huidige gebruiker niet downgraden. Huidige gebruiker wordt dus niet weergegeven.
|
downgradeCurrentUserLongMessage=Kan de rol van de huidige gebruiker niet downgraden. Huidige gebruiker wordt dus niet weergegeven.
|
||||||
userAlreadyExistsOAuthMessage=De gebruiker bestaat al als een OAuth2 gebruiker.
|
userAlreadyExistsOAuthMessage=De gebruiker bestaat al als een OAuth2 gebruiker.
|
||||||
userAlreadyExistsWebMessage=De gebruiker bestaat al als een web gebruiker.
|
userAlreadyExistsWebMessage=De gebruiker bestaat al als een web gebruiker.
|
||||||
error=Fout
|
error=Error
|
||||||
oops=Oeps!
|
oops=Oeps!
|
||||||
help=Hulp
|
help=Help
|
||||||
goHomepage=Ga naar de startpagina
|
goHomepage=Ga naar de startpagina
|
||||||
joinDiscord=Word lid van onze Discord server
|
joinDiscord=Word lid van onze Discord server
|
||||||
seeDockerHub=Zie Docker Hub
|
seeDockerHub=Zie Docker Hub
|
||||||
@@ -75,19 +75,18 @@ visitGithub=Ga naar de Github Repository
|
|||||||
donate=Doneer
|
donate=Doneer
|
||||||
color=Kleur
|
color=Kleur
|
||||||
sponsor=Sponsor
|
sponsor=Sponsor
|
||||||
info=Informatie
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Pagina
|
page=Page
|
||||||
pages=Pagen
|
pages=Pages
|
||||||
loading=Laden...
|
loading=Loading...
|
||||||
addToDoc=Toevoegen aan document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacybeleid
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Voorwaarden van gebruik
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Toegankelijkheid
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Cookiesbeleid
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Imprint
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Talen
|
|||||||
navbar.settings=Instellingen
|
navbar.settings=Instellingen
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multitools
|
navbar.multiTool=Multitools
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizeren
|
navbar.sections.organize=Organizeren
|
||||||
navbar.sections.convertTo=Converteren naar PDF
|
navbar.sections.convertTo=Converteren naar PDF
|
||||||
navbar.sections.convertFrom=Converteren van PDF
|
navbar.sections.convertFrom=Converteren van PDF
|
||||||
@@ -228,27 +226,26 @@ adminUserSettings.disabledUser=disabled user
|
|||||||
adminUserSettings.activeUsers=Active Users:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Disabled Users:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Total Users:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Laatste aanvraag
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Database Importeer/Exporteer
|
database.title=Database Import/Export
|
||||||
database.header=Database Importeer/Exporteer
|
database.header=Database Import/Export
|
||||||
database.fileName=Bestandsnaam
|
database.fileName=File Name
|
||||||
database.creationDate=Creatiedatum
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Bestandsgrootte
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Backupbestand verwijderen
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Backupbestand importeren
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Backupbestand downloaden
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Bij het importeren van gegevens is het cruciaal om de juiste structuur te zorgen voor. Als je niet zeker bent van wat je doet, raadpleeg dan advies en ondersteuning bij een professionele. Een fout in de structuur kan leiden tot toepassingsfouten, waarmee wellicht zelfs de volledige uitvoerbaarheid van de toepassing belemmerd wordt.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=De bestandsnaam maakt geen verschil bij het uploaden. Hij zal later worden herbewoond om de indeling backup_user_yyyyMMddHHmm.sql te volgen, waardoor een consistente bestandsnaamconventie waarborgd wordt.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Backup importeren
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Importeer naar database succesvol
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Bestand mag niet null of leeg zijn
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Je sessie is verlopen. Voer de pagina opnieuw in en probeer het opnieuw.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -470,7 +467,7 @@ showJS.tags=JS
|
|||||||
|
|
||||||
home.autoRedact.title=Automatisch censureren
|
home.autoRedact.title=Automatisch censureren
|
||||||
home.autoRedact.desc=Automatisch censureren (onherkenbaar maken) van tekst in een PDF op basis van ingevoerde tekst
|
home.autoRedact.desc=Automatisch censureren (onherkenbaar maken) van tekst in een PDF op basis van ingevoerde tekst
|
||||||
autoRedact.tags=Verzwakken, Verbergen, Uitroepen, Gekleurd, Verborgen
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF naar CSV
|
home.tableExtraxt.title=PDF naar CSV
|
||||||
home.tableExtraxt.desc=Haalt tabellen uit een PDF en converteert ze naar CSV
|
home.tableExtraxt.desc=Haalt tabellen uit een PDF en converteert ze naar CSV
|
||||||
@@ -503,33 +500,33 @@ home.BookToPDF.title=Boek naar PDF
|
|||||||
home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre
|
home.BookToPDF.desc=Converteert boek-/stripformaat naar PDF met gebruik van Calibre
|
||||||
BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle
|
BookToPDF.tags=Boek,Strip,Comic,Calibre,Converteren,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Afbeelding verwijderen
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Afbeeldingen uit PDF verwijderen om het bestandsgrootte te verminderen
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Afbeelding verwijderen, Paginabewerkingen, Achterkant, Serverkant
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=PDF op hoofdstukken splitsen
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Splits een PDF op basis van zijn hoofdstukstructuur in meerdere bestanden.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=splitsen, hoofdstukken, bookmarks, organiseren
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Kleur-instellingen voor PDF's
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Vervang de kleur van tekst en achtergrond in een PDF en omverkeer de volledige kleur van het document om bestandsgrootte te verkleinen.
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Kleur vervangen, pagina-acties, achterkant, serverzijde
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Vervang of invertere kleure opties
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Standaard (hoog contrast kleuren)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Aangepast (aangepaste kleuren)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Volledig inverteren (alle kleuren omverkeren)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Opties voor hoog contrast
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=wit tekst op een zwart grondvlak
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=zwarte tekst op wit grondvlak
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=gele tekst op een zwart grondvlak
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=groene tekst op een zwart grondvlak
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Kies de tekstkleur
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Kies het achtergrondkleur
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Vervang
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=Je account is geblokkeerd.
|
|||||||
login.signinTitle=Gelieve in te loggen
|
login.signinTitle=Gelieve in te loggen
|
||||||
login.ssoSignIn=Inloggen via Single Sign-on
|
login.ssoSignIn=Inloggen via Single Sign-on
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 Automatisch aanmaken gebruiker uitgeschakeld
|
login.oauth2AutoCreateDisabled=OAUTH2 Automatisch aanmaken gebruiker uitgeschakeld
|
||||||
login.oauth2AdminBlockedUser=Registratie of inloggen van niet-registreerde gebruikers is helaas momenteel geblokkeerd. Neem contact op met de beheerder.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Autorisatieverzoek niet gevonden
|
login.oauth2RequestNotFound=Autorisatieverzoek niet gevonden
|
||||||
login.oauth2InvalidUserInfoResponse=Ongeldige reactie op gebruikersinfo
|
login.oauth2InvalidUserInfoResponse=Ongeldige reactie op gebruikersinfo
|
||||||
login.oauth2invalidRequest=Ongeldig verzoek
|
login.oauth2invalidRequest=Ongeldig verzoek
|
||||||
login.oauth2AccessDenied=Toegang geweigerd
|
login.oauth2AccessDenied=Toegang geweigerd
|
||||||
login.oauth2InvalidTokenResponse=Ongeldige tokenreactie
|
login.oauth2InvalidTokenResponse=Ongeldige tokenreactie
|
||||||
login.oauth2InvalidIdToken=Ongeldige ID token
|
login.oauth2InvalidIdToken=Ongeldige ID token
|
||||||
login.userIsDisabled=De gebruiker is gedesactiveerd, inloggen is momenteel geblokkeerd voor deze gebruikersnaam. Neem contact op met de beheerder.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=U zit reeds ingelogd bij
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=apparaten. U moet u a.u.b. uitloggen van de apparaten en opnieuw proberen.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=U heeft te veel actieve sessies
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Automatisch censureren
|
autoRedact.title=Automatisch censureren
|
||||||
@@ -576,7 +573,7 @@ autoRedact.submitButton=Indienen
|
|||||||
#showJS
|
#showJS
|
||||||
showJS.title=Toon Javascript
|
showJS.title=Toon Javascript
|
||||||
showJS.header=Toon Javascript
|
showJS.header=Toon Javascript
|
||||||
showJS.downloadJS=Javascript downloaden
|
showJS.downloadJS=Download Javascript
|
||||||
showJS.submit=Toon
|
showJS.submit=Toon
|
||||||
|
|
||||||
|
|
||||||
@@ -590,14 +587,14 @@ pdfToSinglePage.submit=Converteren naar enkele pagina
|
|||||||
pageExtracter.title=Pagina's extraheren
|
pageExtracter.title=Pagina's extraheren
|
||||||
pageExtracter.header=Pagina's extraheren
|
pageExtracter.header=Pagina's extraheren
|
||||||
pageExtracter.submit=Extraheren
|
pageExtracter.submit=Extraheren
|
||||||
pageExtracter.placeholder=(bijv. 1,2,8 of 4,7,12-16 of 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
getPdfInfo.title=Informatie over PDF ophalen
|
getPdfInfo.title=Informatie over PDF ophalen
|
||||||
getPdfInfo.header=Informatie over PDF ophalen
|
getPdfInfo.header=Informatie over PDF ophalen
|
||||||
getPdfInfo.submit=Haal informatie op
|
getPdfInfo.submit=Haal informatie op
|
||||||
getPdfInfo.downloadJson=JSON downloaden
|
getPdfInfo.downloadJson=Download JSON
|
||||||
|
|
||||||
|
|
||||||
#markdown-to-pdf
|
#markdown-to-pdf
|
||||||
@@ -633,7 +630,7 @@ HTMLToPDF.printBackground=De achtergrond van websites weergeven.
|
|||||||
HTMLToPDF.defaultHeader=Standaard koptekst weergeven (naam en paginanummer)
|
HTMLToPDF.defaultHeader=Standaard koptekst weergeven (naam en paginanummer)
|
||||||
HTMLToPDF.cssMediaType=Wijzig het CSS-mediatype van de pagina.
|
HTMLToPDF.cssMediaType=Wijzig het CSS-mediatype van de pagina.
|
||||||
HTMLToPDF.none=Geen
|
HTMLToPDF.none=Geen
|
||||||
HTMLToPDF.print=Printen
|
HTMLToPDF.print=Print
|
||||||
HTMLToPDF.screen=Scherm
|
HTMLToPDF.screen=Scherm
|
||||||
|
|
||||||
|
|
||||||
@@ -690,7 +687,7 @@ auto-rename.submit=Automatisch hernoemen
|
|||||||
#adjustContrast
|
#adjustContrast
|
||||||
adjustContrast.title=Contrast aanpassen
|
adjustContrast.title=Contrast aanpassen
|
||||||
adjustContrast.header=Contrast aanpassen
|
adjustContrast.header=Contrast aanpassen
|
||||||
adjustContrast.contrast=Kehrbrechting:
|
adjustContrast.contrast=Contrast:
|
||||||
adjustContrast.brightness=Helderheid:
|
adjustContrast.brightness=Helderheid:
|
||||||
adjustContrast.saturation=Verzadiging:
|
adjustContrast.saturation=Verzadiging:
|
||||||
adjustContrast.download=Downloaden
|
adjustContrast.download=Downloaden
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Indienen
|
|||||||
scalePages.title=Pagina-schaal aanpassen
|
scalePages.title=Pagina-schaal aanpassen
|
||||||
scalePages.header=Pagina-schaal aanpassen
|
scalePages.header=Pagina-schaal aanpassen
|
||||||
scalePages.pageSize=Grootte van een pagina van het document.
|
scalePages.pageSize=Grootte van een pagina van het document.
|
||||||
scalePages.keepPageSize=Oorspronkelijke grootte behouden
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Zoomniveau (uitsnede) van een pagina.
|
scalePages.scaleFactor=Zoomniveau (uitsnede) van een pagina.
|
||||||
scalePages.submit=Indienen
|
scalePages.submit=Indienen
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Toon handtekening
|
|||||||
certSign.reason=Reden
|
certSign.reason=Reden
|
||||||
certSign.location=Locatie
|
certSign.location=Locatie
|
||||||
certSign.name=Naam
|
certSign.name=Naam
|
||||||
certSign.showLogo=Logotype tonen
|
|
||||||
certSign.submit=PDF ondertekenen
|
certSign.submit=PDF ondertekenen
|
||||||
|
|
||||||
|
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Verwijderen
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Vergelijken
|
compare.title=Vergelijken
|
||||||
compare.header=PDF's vergelijken
|
compare.header=PDF's vergelijken
|
||||||
compare.highlightColor.1=Hervormingskleur 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Hervormingskleur 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Document 1
|
compare.document.1=Document 1
|
||||||
compare.document.2=Document 2
|
compare.document.2=Document 2
|
||||||
compare.submit=Vergelijken
|
compare.submit=Vergelijken
|
||||||
compare.complex.message=Eén of beide van de bijgewerkte documenten zijn grote bestanden, het vergelijken kan mogelijk minder nauwkeurig zijn.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Eén of beiden van de bijgewerkte documenten zijn te groot om verwerkt te worden.
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Een of beide geselecteerde PDF-bestanden bevatten geen tekstinhoud. Kies a.u.b. PDF-bestanden met tekst voor vergelijking.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Boeken en strips naar PDF
|
BookToPDF.title=Boeken en strips naar PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Handtekening tekenen
|
|||||||
sign.text=Tekstinvoer
|
sign.text=Tekstinvoer
|
||||||
sign.clear=Wissen
|
sign.clear=Wissen
|
||||||
sign.add=Toevoegen
|
sign.add=Toevoegen
|
||||||
sign.saved=Gesleutelde handtekeningen opgeslagen
|
sign.saved=Saved Signatures
|
||||||
sign.save=Opslaan Signatuur
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Persoonlijke Signatuuren
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Gedeelde Signatuuren
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Geen opgeslagen signatuuren gevonden
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Minimum contour oppervlakte:
|
|||||||
ScannerImageSplit.selectText.8=Stelt de minimale contour oppervlakte drempel in voor een foto
|
ScannerImageSplit.selectText.8=Stelt de minimale contour oppervlakte drempel in voor een foto
|
||||||
ScannerImageSplit.selectText.9=Randgrootte:
|
ScannerImageSplit.selectText.9=Randgrootte:
|
||||||
ScannerImageSplit.selectText.10=Stelt de grootte van de toegevoegde en verwijderde rand in om witte randen in de uitvoer te voorkomen (standaard: 1).
|
ScannerImageSplit.selectText.10=Stelt de grootte van de toegevoegde en verwijderde rand in om witte randen in de uitvoer te voorkomen (standaard: 1).
|
||||||
ScannerImageSplit.info=Python is niet geïnstalleerd. Het wordt vereist om te worden uitgevoerd.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Verwerk PDF met OCR
|
|||||||
extractImages.title=Afbeeldingen extraheren
|
extractImages.title=Afbeeldingen extraheren
|
||||||
extractImages.header=Afbeeldingen extraheren
|
extractImages.header=Afbeeldingen extraheren
|
||||||
extractImages.selectText=Selecteer het beeldformaat voor geëxtraheerde afbeeldingen
|
extractImages.selectText=Selecteer het beeldformaat voor geëxtraheerde afbeeldingen
|
||||||
extractImages.allowDuplicates=Dubbele afbeeldingen opslaan
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Extraheer
|
extractImages.submit=Extraheer
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Extraheer
|
|||||||
fileToPDF.title=Bestand naar PDF
|
fileToPDF.title=Bestand naar PDF
|
||||||
fileToPDF.header=Zet elk bestand om naar PDF
|
fileToPDF.header=Zet elk bestand om naar PDF
|
||||||
fileToPDF.credit=Deze service gebruikt LibreOffice en Unoconv voor bestandsconversie.
|
fileToPDF.credit=Deze service gebruikt LibreOffice en Unoconv voor bestandsconversie.
|
||||||
fileToPDF.supportedFileTypesInfo=Gestandaardiseerde Bestandstypen
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=Ondersteunde bestandstypen zijn hieronder opgenomen, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie
|
fileToPDF.supportedFileTypes=Ondersteunde bestandstypen zijn hieronder opgenomen, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie
|
||||||
fileToPDF.submit=Omzetten naar PDF
|
fileToPDF.submit=Omzetten naar PDF
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(bijv. 1,3,2 of 4-8,2,10-12 of 2n-1)
|
|||||||
multiTool.title=PDF Multitool
|
multiTool.title=PDF Multitool
|
||||||
multiTool.header=PDF Multitool
|
multiTool.header=PDF Multitool
|
||||||
multiTool.uploadPrompts=Bestandsnaam
|
multiTool.uploadPrompts=Bestandsnaam
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF bekijken
|
viewPdf.title=PDF bekijken
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Kleur
|
|||||||
pdfToImage.grey=Grijstinten
|
pdfToImage.grey=Grijstinten
|
||||||
pdfToImage.blackwhite=Zwart en wit (kan data verliezen!)
|
pdfToImage.blackwhite=Zwart en wit (kan data verliezen!)
|
||||||
pdfToImage.submit=Omzetten
|
pdfToImage.submit=Omzetten
|
||||||
pdfToImage.info=Python is niet geïnstalleerd. Vereist voor WebP-conversie.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,10 +1029,10 @@ watermark.selectText.6=hoogteSpacer (Ruimte tussen elk watermerk verticaal):
|
|||||||
watermark.selectText.7=Transparantie (0% - 100%):
|
watermark.selectText.7=Transparantie (0% - 100%):
|
||||||
watermark.selectText.8=Type watermerk:
|
watermark.selectText.8=Type watermerk:
|
||||||
watermark.selectText.9=Watermerk afbeelding:
|
watermark.selectText.9=Watermerk afbeelding:
|
||||||
watermark.selectText.10=PDF omzetten naar PDF-Afbeelding
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Watermerk toevoegen
|
watermark.submit=Watermerk toevoegen
|
||||||
watermark.type.1=Tekst
|
watermark.type.1=Text
|
||||||
watermark.type.2=Afbeelding
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
@@ -1100,7 +1085,7 @@ pdfToPDFA.header=PDF naar PDF/A
|
|||||||
pdfToPDFA.credit=Deze service gebruikt ghostscript voor PDF/A-conversie
|
pdfToPDFA.credit=Deze service gebruikt ghostscript voor PDF/A-conversie
|
||||||
pdfToPDFA.submit=Converteren
|
pdfToPDFA.submit=Converteren
|
||||||
pdfToPDFA.tip=Werkt momenteel niet voor meerdere inputs tegelijkertijd.
|
pdfToPDFA.tip=Werkt momenteel niet voor meerdere inputs tegelijkertijd.
|
||||||
pdfToPDFA.outputFormat=Uitvoerindeling
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=Dit PDF bestand bevat een digitale handtekening. Deze wordt in de volgende stap verwijderd.
|
pdfToPDFA.pdfWithDigitalSignature=Dit PDF bestand bevat een digitale handtekening. Deze wordt in de volgende stap verwijderd.
|
||||||
|
|
||||||
|
|
||||||
@@ -1191,7 +1176,7 @@ printFile.title=Print bestand
|
|||||||
printFile.header=Print bestand naar printer
|
printFile.header=Print bestand naar printer
|
||||||
printFile.selectText.1=Selecteer bestand om te printen
|
printFile.selectText.1=Selecteer bestand om te printen
|
||||||
printFile.selectText.2=Voer printernaam in
|
printFile.selectText.2=Voer printernaam in
|
||||||
printFile.submit=Druk af
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=Licentie
|
|||||||
survey.nav=Enquête
|
survey.nav=Enquête
|
||||||
survey.title=Stirling-PDF Enquête
|
survey.title=Stirling-PDF Enquête
|
||||||
survey.description=Stirling-PDF heeft geen tracking, dus we willen van onze gebruikers horen om Stirling-PDF te verbeteren.
|
survey.description=Stirling-PDF heeft geen tracking, dus we willen van onze gebruikers horen om Stirling-PDF te verbeteren.
|
||||||
survey.changes=Stirling-PDF is sinds de laatste enquête veranderd! Zie hier onze blogpost voor meer informatie:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Met deze veranderingen krijgen we betaalde bedrijfsondersteuning en financiering
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Overweeg alstublieft om onze enquête in te vullen!
|
survey.please=Overweeg alstublieft om onze enquête in te vullen!
|
||||||
survey.disabled=(Enquête popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.)
|
survey.disabled=(Enquête popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.)
|
||||||
survey.button=Vul enquête in.
|
survey.button=Vul enquête in.
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - Maak een support post
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Afbeelding verwijderen
|
removeImage.title=Remove image
|
||||||
removeImage.header=Afbeelding verwijderen
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Afbeelding verwijderen
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Verwijder afbeelding
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=PDF splits op hoofdstukken
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=PDF splitsen per hoofdstuk
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Boekmarkeer niveau
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Metadata inclusief
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Dubbele items toestaan
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Dit hulpmiddel splits een PDF-bestand op in meerdere PDF's gebaseerd op zijn hoofdstukstructuur.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Boekmarkeer niveau: Kies het boekmarkeer niveau om te gebruiken voor delen (0 voor topniveau, 1 voor tweedelvou, etc.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Metadata inclusief: Als gecijfeld, de originele PDF's metadata wordt ingevoegd in elk gesplitst PDF-bestand.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Dubbele items toestaan: Als gecijfeld, zorgen multiple boekmarkeersymboolen op dezelfde pagina voor het maken van aparte PDF-bestanden.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=PDF splitsen
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Språk
|
|||||||
navbar.settings=Innstillinger
|
navbar.settings=Innstillinger
|
||||||
navbar.allTools=Verktøy
|
navbar.allTools=Verktøy
|
||||||
navbar.multiTool=Multi Verktøy
|
navbar.multiTool=Multi Verktøy
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organisere
|
navbar.sections.organize=Organisere
|
||||||
navbar.sections.convertTo=Konverter til PDF
|
navbar.sections.convertTo=Konverter til PDF
|
||||||
navbar.sections.convertFrom=Konverter fra PDF
|
navbar.sections.convertFrom=Konverter fra PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Fil må ikke være tom eller null
|
|||||||
database.failedImportFile=Import av fil mislyktes
|
database.failedImportFile=Import av fil mislyktes
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Vis signatur
|
|||||||
certSign.reason=Årsak
|
certSign.reason=Årsak
|
||||||
certSign.location=Sted
|
certSign.location=Sted
|
||||||
certSign.name=Navn
|
certSign.name=Navn
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Signer PDF
|
certSign.submit=Signer PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(f.eks. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
|
|||||||
multiTool.title=PDF-multiverktøy
|
multiTool.title=PDF-multiverktøy
|
||||||
multiTool.header=PDF-multiverktøy
|
multiTool.header=PDF-multiverktøy
|
||||||
multiTool.uploadPrompts=Filnavn
|
multiTool.uploadPrompts=Filnavn
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Vis PDF
|
viewPdf.title=Vis PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Strona
|
|||||||
pages=Strony
|
pages=Strony
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Polityka Prywatności
|
legal.privacy=Polityka Prywatności
|
||||||
legal.terms=Zasady i Postanowienia
|
legal.terms=Zasady i Postanowienia
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Języki
|
|||||||
navbar.settings=Ustawienia
|
navbar.settings=Ustawienia
|
||||||
navbar.allTools=Narzędzia
|
navbar.allTools=Narzędzia
|
||||||
navbar.multiTool=Narzędzie Wielofunkcyjne
|
navbar.multiTool=Narzędzie Wielofunkcyjne
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizuj
|
navbar.sections.organize=Organizuj
|
||||||
navbar.sections.convertTo=Przetwórz na PDF
|
navbar.sections.convertTo=Przetwórz na PDF
|
||||||
navbar.sections.convertFrom=Przetwórz z PDF
|
navbar.sections.convertFrom=Przetwórz z PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Plik nie może być pusty
|
|||||||
database.failedImportFile=Nie udało się zaimportować pliku
|
database.failedImportFile=Nie udało się zaimportować pliku
|
||||||
|
|
||||||
session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie.
|
session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Wyświetl podpis
|
|||||||
certSign.reason=Organizacja
|
certSign.reason=Organizacja
|
||||||
certSign.location=Lokalizacja
|
certSign.location=Lokalizacja
|
||||||
certSign.name=Nazwa
|
certSign.name=Nazwa
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Podpisz PDF
|
certSign.submit=Podpisz PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(przykład 1,3,2 lub 4-8,2,10-12 lub 2n-1)
|
|||||||
multiTool.title=Narzędzie Wielofunkcyjne PDF
|
multiTool.title=Narzędzie Wielofunkcyjne PDF
|
||||||
multiTool.header=Narzędzie Wielofunkcyjne PDF
|
multiTool.header=Narzędzie Wielofunkcyjne PDF
|
||||||
multiTool.uploadPrompts=Nazwa pliku
|
multiTool.uploadPrompts=Nazwa pliku
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Podejrzyj PDF
|
viewPdf.title=Podejrzyj PDF
|
||||||
|
|||||||
@@ -76,12 +76,11 @@ donate=Doar
|
|||||||
color=Cor
|
color=Cor
|
||||||
sponsor=Patrocinador
|
sponsor=Patrocinador
|
||||||
info=Informações
|
info=Informações
|
||||||
pro=Profissional
|
pro=Pro
|
||||||
page=Página
|
page=Página
|
||||||
pages=Páginas
|
pages=Páginas
|
||||||
loading=Carregando...
|
loading=Loading...
|
||||||
addToDoc=Adicionar ao Documento
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Política de Privacidade
|
legal.privacy=Política de Privacidade
|
||||||
legal.terms=Termos e Condições
|
legal.terms=Termos e Condições
|
||||||
@@ -142,14 +141,13 @@ navbar.language=Idiomas
|
|||||||
navbar.settings=Configurações
|
navbar.settings=Configurações
|
||||||
navbar.allTools=Ferramentas
|
navbar.allTools=Ferramentas
|
||||||
navbar.multiTool=Multiferramentas
|
navbar.multiTool=Multiferramentas
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizar
|
navbar.sections.organize=Organizar
|
||||||
navbar.sections.convertTo=Converter para PDF
|
navbar.sections.convertTo=Converter para PDF
|
||||||
navbar.sections.convertFrom=Converter de PDF
|
navbar.sections.convertFrom=Converter de PDF
|
||||||
navbar.sections.security=Assinatura & Segurança
|
navbar.sections.security=Assinatura & Segurança
|
||||||
navbar.sections.advance=Avançado
|
navbar.sections.advance=Avançado
|
||||||
navbar.sections.edit=Visualizar & editar
|
navbar.sections.edit=Visualizar & editar
|
||||||
navbar.sections.popular=Populares
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=O arquivo não pode estar nulo ou vazio
|
|||||||
database.failedImportFile=Falha ao importar arquivo
|
database.failedImportFile=Falha ao importar arquivo
|
||||||
|
|
||||||
session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente.
|
session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Mostrar Assinatura
|
|||||||
certSign.reason=Razão
|
certSign.reason=Razão
|
||||||
certSign.location=Localização
|
certSign.location=Localização
|
||||||
certSign.name=Nome
|
certSign.name=Nome
|
||||||
certSign.showLogo=Mostrar Logotipo
|
|
||||||
certSign.submit=Assinar PDF
|
certSign.submit=Assinar PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Cor de destaque 2:
|
|||||||
compare.document.1=Documento 1
|
compare.document.1=Documento 1
|
||||||
compare.document.2=Documento 2
|
compare.document.2=Documento 2
|
||||||
compare.submit=Comparar
|
compare.submit=Comparar
|
||||||
compare.complex.message=Um ou ambos os documentos fornecidos são arquivos grandes, a precisão da comparação pode ser reduzida
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Um ou ambos os documentos fornecidos são muito grandes para processar
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Um ou ambos os PDFs selecionados não possuem conteúdo de texto. Por favor, escolha PDFs com texto para comparação.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Livros e Quadrinhos para PDF
|
BookToPDF.title=Livros e Quadrinhos para PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Desenhar Assinatura
|
|||||||
sign.text=Inserir texto
|
sign.text=Inserir texto
|
||||||
sign.clear=Limpar
|
sign.clear=Limpar
|
||||||
sign.add=Adicionar
|
sign.add=Adicionar
|
||||||
sign.saved=Assinaturas Salvas
|
sign.saved=Saved Signatures
|
||||||
sign.save=Salvar Assinatura
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Assinaturas Pessoais
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Assinaturas Compartilhadas
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Nenhuma assinatura salva encontrada
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(por exemplo 1,3,2 ou 4-8,2,10-12 ou 2n-1)
|
|||||||
multiTool.title=Multiferramenta de PDF
|
multiTool.title=Multiferramenta de PDF
|
||||||
multiTool.header=Multiferramenta de PDF
|
multiTool.header=Multiferramenta de PDF
|
||||||
multiTool.uploadPrompts=Nome do arquivo
|
multiTool.uploadPrompts=Nome do arquivo
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visualizar PDF
|
viewPdf.title=Visualizar PDF
|
||||||
@@ -1088,7 +1073,7 @@ changeMetadata.keywords=Palavras-chave:
|
|||||||
changeMetadata.modDate=Data de modificação (aaaa/MM/dd HH:mm:ss):
|
changeMetadata.modDate=Data de modificação (aaaa/MM/dd HH:mm:ss):
|
||||||
changeMetadata.producer=Produtor:
|
changeMetadata.producer=Produtor:
|
||||||
changeMetadata.subject=Assunto:
|
changeMetadata.subject=Assunto:
|
||||||
changeMetadata.trapped=Atrapado:
|
changeMetadata.trapped=Trapped:
|
||||||
changeMetadata.selectText.4=Outros metadados:
|
changeMetadata.selectText.4=Outros metadados:
|
||||||
changeMetadata.selectText.5=Adicionar entrada de metadados personalizada
|
changeMetadata.selectText.5=Adicionar entrada de metadados personalizada
|
||||||
changeMetadata.submit=Alterar
|
changeMetadata.submit=Alterar
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Tamanho da Fonte
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Nome da Fonte
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Selecione PDF(s)
|
pdfPrompt=Selecione PDF(s)
|
||||||
multiPdfPrompt=Selecione PDFs (2+)
|
multiPdfPrompt=Selecione PDFs (2+)
|
||||||
multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários
|
multiPdfDropPrompt=Selecione (ou arraste e solte) todos os PDFs necessários
|
||||||
@@ -18,11 +18,11 @@ true=Verdadeiro
|
|||||||
false=Falso
|
false=Falso
|
||||||
unknown=Desconhecido
|
unknown=Desconhecido
|
||||||
save=Salvar
|
save=Salvar
|
||||||
saveToBrowser=Guardar no Navegador
|
saveToBrowser=Save to Browser
|
||||||
close=Fechar
|
close=Fechar
|
||||||
filesSelected=Ficheiros Selecionados
|
filesSelected=Ficheiros Selecionados
|
||||||
noFavourites=Nenhum favorito adicionado
|
noFavourites=Nenhum favorito adicionado
|
||||||
downloadComplete=Download Completo
|
downloadComplete=Download Complete
|
||||||
bored=Entediado esperando?
|
bored=Entediado esperando?
|
||||||
alphabet=Alfabeto
|
alphabet=Alfabeto
|
||||||
downloadPdf=Descarregar PDF
|
downloadPdf=Descarregar PDF
|
||||||
@@ -55,39 +55,38 @@ notAuthenticatedMessage=Utilizador não autenticado.
|
|||||||
userNotFoundMessage=Utilizador inexistente.
|
userNotFoundMessage=Utilizador inexistente.
|
||||||
incorrectPasswordMessage=Senha incorreta.
|
incorrectPasswordMessage=Senha incorreta.
|
||||||
usernameExistsMessage=Esse utilizador já existe.
|
usernameExistsMessage=Esse utilizador já existe.
|
||||||
invalidUsernameMessage=Nome de utilizador inválido, o nome de utilizador pode conter apenas letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido.
|
invalidUsernameMessage=Invalid username, username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
invalidPasswordMessage=A senha não pode estar vazia e não deve ter espaços no início ou final.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Nova Senha e Confirmação de Nova Senha devem corresponder.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Não pode apagar o utilizador atualmente logado.
|
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||||
deleteUsernameExistsMessage=O nome de utilizador não existe e não pode ser apagado.
|
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||||
downgradeCurrentUserMessage=Não é possível fazer downgrade da função do utilizador atual
|
downgradeCurrentUserMessage=Não é possível fazer downgrade da função do utilizador atual
|
||||||
disabledCurrentUserMessage=O utilizador actual não pode ser desactivado
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Não é possível fazer downgrade da função do utilizador atual. Portanto, o utilizador atual não será mostrado.
|
downgradeCurrentUserLongMessage=Não é possível fazer downgrade da função do utilizador atual. Portanto, o utilizador atual não será mostrado.
|
||||||
userAlreadyExistsOAuthMessage=O utilizador já existe como um utilizador OAuth2.
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=O utilizador já existe como um utilizador da web.
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=Erro
|
error=Error
|
||||||
oops=Oops!
|
oops=Oops!
|
||||||
help=Ajuda
|
help=Help
|
||||||
goHomepage=Ir para a Página Inicial
|
goHomepage=Go to Homepage
|
||||||
joinDiscord=Junte-se ao nosso servidor Discord
|
joinDiscord=Join our Discord server
|
||||||
seeDockerHub=Ver o Docker Hub
|
seeDockerHub=See Docker Hub
|
||||||
visitGithub=Visitar Repositório do Github
|
visitGithub=Visit Github Repository
|
||||||
donate=Doar
|
donate=Donate
|
||||||
color=Cor
|
color=Color
|
||||||
sponsor=Patrocinar
|
sponsor=Sponsor
|
||||||
info=Informação
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Página
|
page=Page
|
||||||
pages=Páginas
|
pages=Pages
|
||||||
loading=A carregar...
|
loading=Loading...
|
||||||
addToDoc=Adicionar ao Documento
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Política de Privacidade
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Termos e Condições
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Acessibilidade
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Política de Cookies
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Impressão
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -98,8 +97,8 @@ pipeline.configureButton=Configurar
|
|||||||
pipeline.defaultOption=Personalizar
|
pipeline.defaultOption=Personalizar
|
||||||
pipeline.submitButton=Submeter
|
pipeline.submitButton=Submeter
|
||||||
pipeline.help=Pipeline Help
|
pipeline.help=Pipeline Help
|
||||||
pipeline.scanHelp=Ajuda ao Escaneamento de Pastas
|
pipeline.scanHelp=Folder Scanning Help
|
||||||
pipeline.deletePrompt=Tem a certeza que quer eliminar o pipeline?
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -117,46 +116,45 @@ pipelineOptions.validateButton=Validar
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Atualizar para Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Esta funcionalidade está disponível apenas para os utilizadores Pro.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro suporta ficheiros de configuração YAML e outras funcionalidades SSO.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Procuras mais funcionalidades de gestão de utilizadores? Verifica Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Queres tornar o Stirling PDF melhor?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=O Stirling PDF tem análises de entrada voluntária para nos ajudar a melhorar o produto. Não registamos qualquer informação pessoal ou conteúdo dos ficheiros.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Considera ativar as análises para nos auxiliar no crescimento do Stirling-PDF e na compreensão dos nossos utilizadores melhor.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Ativar analítico
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Desativar analítico
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Podes mudar as configurações de análises no ficheiro config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
#############
|
#############
|
||||||
navbar.favorite=Favoritos
|
navbar.favorite=Favorites
|
||||||
navbar.darkmode=Modo Escuro
|
navbar.darkmode=Modo Escuro
|
||||||
navbar.language=Idiomas
|
navbar.language=Languages
|
||||||
navbar.settings=Configurações
|
navbar.settings=Configurações
|
||||||
navbar.allTools=Ferramentas
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.organize=Organizar
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertTo=Converter para PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
navbar.sections.convertFrom=Converter de PDF
|
navbar.sections.security=Sign & Security
|
||||||
navbar.sections.security=Assinar & Segurança
|
navbar.sections.advance=Advanced
|
||||||
navbar.sections.advance=Avançado
|
navbar.sections.edit=View & Edit
|
||||||
navbar.sections.edit=Visualizar & Editar
|
navbar.sections.popular=Popular
|
||||||
navbar.sections.popular=Populares
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
#############
|
#############
|
||||||
settings.title=Configurações
|
settings.title=Configurações
|
||||||
settings.update=Atualização disponível
|
settings.update=Atualização disponível
|
||||||
settings.updateAvailable={0} é a versão atual instalada. Uma nova versão ({1}) está disponível.
|
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available.
|
||||||
settings.appVersion=Versão da aplicação:
|
settings.appVersion=Versão da aplicação:
|
||||||
settings.downloadOption.title=Escolha a opção de download (para downloads não compactados de ficheiro único):
|
settings.downloadOption.title=Escolha a opção de download (para downloads não compactados de ficheiro único):
|
||||||
settings.downloadOption.1=Abrir na mesma janela
|
settings.downloadOption.1=Abrir na mesma janela
|
||||||
@@ -165,13 +163,13 @@ settings.downloadOption.3=⇬ Fazer download do ficheiro
|
|||||||
settings.zipThreshold=Compactar ficheiros quando o número de ficheiros baixados exceder
|
settings.zipThreshold=Compactar ficheiros quando o número de ficheiros baixados exceder
|
||||||
settings.signOut=Terminar Sessão
|
settings.signOut=Terminar Sessão
|
||||||
settings.accountSettings=Configuração de Conta
|
settings.accountSettings=Configuração de Conta
|
||||||
settings.bored.help=Ativa o jogo da páscoa
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=Guardar entradas do formulário
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=Ativar para armazenar entradas anteriores do formulário para futuras sessões
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=Alterar senha
|
changeCreds.title=Alterar senha
|
||||||
changeCreds.header=Alterar dados da sua conta
|
changeCreds.header=Alterar dados da sua conta
|
||||||
changeCreds.changePassword=Está a usar as credenciais de login predefinidas. Por favor, introduza uma nova senha
|
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||||
changeCreds.newUsername=Novo Utilizador
|
changeCreds.newUsername=Novo Utilizador
|
||||||
changeCreds.oldPassword=Senha Atual
|
changeCreds.oldPassword=Senha Atual
|
||||||
changeCreds.newPassword=Nova Senha
|
changeCreds.newPassword=Nova Senha
|
||||||
@@ -180,75 +178,74 @@ changeCreds.submit=Submeter Alterações
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
account.title=Definições da Conta
|
account.title=Account Settings
|
||||||
account.accountSettings=Definições da Conta
|
account.accountSettings=Account Settings
|
||||||
account.adminSettings=Definições de Administrador - Visualizar e Adicionar Utilizadores
|
account.adminSettings=Admin Settings - View and Add Users
|
||||||
account.userControlSettings=Definições de Controlo do Utilizador
|
account.userControlSettings=User Control Settings
|
||||||
account.changeUsername=Alterar Nome de Utilizador
|
account.changeUsername=Change Username
|
||||||
account.newUsername=Novo Nome de Utilizador
|
account.newUsername=New Username
|
||||||
account.password=Confirmação da Senha
|
account.password=Confirmation Password
|
||||||
account.oldPassword=Antiga senha
|
account.oldPassword=Old password
|
||||||
account.newPassword=Nova senha
|
account.newPassword=New Password
|
||||||
account.changePassword=Alterar a Senha
|
account.changePassword=Change Password
|
||||||
account.confirmNewPassword=Confirmar Nova Senha
|
account.confirmNewPassword=Confirm New Password
|
||||||
account.signOut=Sair do Sistema
|
account.signOut=Sign Out
|
||||||
account.yourApiKey=Sua Chave API
|
account.yourApiKey=Your API Key
|
||||||
account.syncTitle=sincronizar definições do navegador com a conta
|
account.syncTitle=Sync browser settings with Account
|
||||||
account.settingsCompare=Comparação das Definições:
|
account.settingsCompare=Settings Comparison:
|
||||||
account.property=Propriedade
|
account.property=Property
|
||||||
account.webBrowserSettings=Configurações do Navegador Web
|
account.webBrowserSettings=Web Browser Setting
|
||||||
account.syncToBrowser=Sincronizar Conta -> Navegador
|
account.syncToBrowser=Sync Account -> Browser
|
||||||
account.syncToAccount=Sincronizar Conta <- Navegador
|
account.syncToAccount=Sync Account <- Browser
|
||||||
|
|
||||||
|
|
||||||
adminUserSettings.title=Definições de Controlo do Utilizador
|
adminUserSettings.title=User Control Settings
|
||||||
adminUserSettings.header=Definições de Controlo do Utilizador (Admin)
|
adminUserSettings.header=Admin User Control Settings
|
||||||
adminUserSettings.admin=Administrador
|
adminUserSettings.admin=Admin
|
||||||
adminUserSettings.user=Utilizador
|
adminUserSettings.user=User
|
||||||
adminUserSettings.addUser=Adicionar Novo Utilizador
|
adminUserSettings.addUser=Add New User
|
||||||
adminUserSettings.deleteUser=Apagar Utilizador
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=Deverá o utilizador ser apagado?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Deverá a situação do utilizador ser alterada (desativar/ativar)?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=O nome de utilizador só pode conter letras, números e os seguintes caracteres especiais @._+- ou deve ser um endereço de email válido.
|
adminUserSettings.usernameInfo=Username can only contain letters, numbers and the following special characters @._+- or must be a valid email address.
|
||||||
adminUserSettings.roles=Papeis
|
adminUserSettings.roles=Roles
|
||||||
adminUserSettings.role=Papel
|
adminUserSettings.role=Role
|
||||||
adminUserSettings.actions=Ações
|
adminUserSettings.actions=Actions
|
||||||
adminUserSettings.apiUser=Utilizador API Limitado
|
adminUserSettings.apiUser=Limited API User
|
||||||
adminUserSettings.extraApiUser=Utilizador ADicional API Limitado
|
adminUserSettings.extraApiUser=Additional Limited API User
|
||||||
adminUserSettings.webOnlyUser=Utilizador Apenas Web
|
adminUserSettings.webOnlyUser=Web Only User
|
||||||
adminUserSettings.demoUser=Utilizador Demo (Sem Configurações Personalizadas)
|
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||||
adminUserSettings.internalApiUser=Utilizador API Interno
|
adminUserSettings.internalApiUser=Internal API User
|
||||||
adminUserSettings.forceChange=Forçar utilizador a mudar a senha ao fazer login
|
adminUserSettings.forceChange=Force user to change password on login
|
||||||
adminUserSettings.submit=Guardar Utilizador
|
adminUserSettings.submit=Save User
|
||||||
adminUserSettings.changeUserRole=Alterar usuário
|
adminUserSettings.changeUserRole=Alterar usuário
|
||||||
adminUserSettings.authenticated=Autenticado
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=Editar perfil próprio
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=utilizador habilitado
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=utilizador desabilitado
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Utilizadores Activos:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Utilizadores Desactivados:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Total de Utilizadores:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Última Requisição
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Importação/Exportação de Base de Dados
|
database.title=Database Import/Export
|
||||||
database.header=Importação/Exportação de Base de Dados
|
database.header=Database Import/Export
|
||||||
database.fileName=Nome do Ficheiro
|
database.fileName=File Name
|
||||||
database.creationDate=Data de Criação
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Tamanho do Ficheiro
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Apagar Ficheiro de Backup
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Importar Ficheiro de Backup
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Baixar Ficheiro de Backup
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=Ao importar dados, é crucial assegurar a estrutura correta. Se não estiver seguro do que está a fazer, busque conselhos e apoio de um profissional. Um erro na estrutura pode causar mal funcionamento da aplicação, até mesmo o impossibilitar de executá-la.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=O nome do ficheiro não importa ao carregar. Será renomeado posteriormente para seguir o formato backup_user_yyyyMMddHHmm.sql, garantindo uma convenção de nomenclatura consistente.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Importar Backup
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Importação no banco de dados concluída com sucesso
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=O ficheiro não pode ser nulo ou vazio
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=A sessão expirou. Por favor, recarregue a página e tente novamente.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -385,7 +382,7 @@ removeBlanks.tags=limpeza,otimização,sem-conteúdo,organizar
|
|||||||
|
|
||||||
home.removeAnnotations.title=Removee Notas
|
home.removeAnnotations.title=Removee Notas
|
||||||
home.removeAnnotations.desc=Remove todas as notas ou comentário de um PDF.
|
home.removeAnnotations.desc=Remove todas as notas ou comentário de um PDF.
|
||||||
removeAnnotations.tags=comentários,destaque,notas,marcação,remover
|
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||||
|
|
||||||
home.compare.title=Comparar
|
home.compare.title=Comparar
|
||||||
home.compare.desc=Comparar e mostrar as diferenças entre 2 documentos PDF
|
home.compare.desc=Comparar e mostrar as diferenças entre 2 documentos PDF
|
||||||
@@ -395,9 +392,9 @@ home.certSign.title=Assinar com Certificado
|
|||||||
home.certSign.desc=Assinar um PDF com um Certificado/Chave (PEM/P12)
|
home.certSign.desc=Assinar um PDF com um Certificado/Chave (PEM/P12)
|
||||||
certSign.tags=autenticar,PEM,P12,oficial,criptografar
|
certSign.tags=autenticar,PEM,P12,oficial,criptografar
|
||||||
|
|
||||||
home.removeCertSign.title=Remover Assinatura Certificado
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Remova a assinatura do certificado do PDF
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=autenticar,PEM,P12,oficial,desencriptar
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Layout de Múltiplas Páginas
|
home.pageLayout.title=Layout de Múltiplas Páginas
|
||||||
home.pageLayout.desc=Juntar várias páginas de um documento PDF em uma única página
|
home.pageLayout.desc=Juntar várias páginas de um documento PDF em uma única página
|
||||||
@@ -470,7 +467,7 @@ showJS.tags=JavaScript
|
|||||||
|
|
||||||
home.autoRedact.title=Edição automática
|
home.autoRedact.title=Edição automática
|
||||||
home.autoRedact.desc=Edição automática (marca a preto) baseada numa expressão indicada de um PDF.
|
home.autoRedact.desc=Edição automática (marca a preto) baseada numa expressão indicada de um PDF.
|
||||||
autoRedact.tags=Esconder,censurar,marcador,tampado,máscara,oculto
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF para CSV
|
home.tableExtraxt.title=PDF para CSV
|
||||||
home.tableExtraxt.desc=Extrai tabelas de um PDF convertendo em um CSV
|
home.tableExtraxt.desc=Extrai tabelas de um PDF convertendo em um CSV
|
||||||
@@ -495,41 +492,41 @@ home.AddStampRequest.desc=Adicionar um carimbo de texto ou imagem
|
|||||||
AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca d'água, PDF, Embebido, Personalizado
|
AddStampRequest.tags=Carimbo, Adicionar imagem, imagem central, Marca d'água, PDF, Embebido, Personalizado
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF para Livro
|
home.PDFToBook.title=PDF to Book
|
||||||
home.PDFToBook.desc=Converte PDF em formatos de livro/comic utilizando o Calibre
|
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.BookToPDF.title=Livro para PDF
|
home.BookToPDF.title=Book to PDF
|
||||||
home.BookToPDF.desc=Converte formatos de livros/comics em PDF utilizando o Calibre
|
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Remover imagem
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Remova imagem do PDF para reduzir o tamanho do ficheiro
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Remover Imagem,operações de página,lado de servidor
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Dividir PDF por Capítulos
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Divida um PDF em vários arquivos com base na estrutura dos capítulos.
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=dividir,capítulos,marcadores,organizar
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Substituir-Inverter Cor do PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Substituir cor pelo texto e fundo em PDF e inverter toda a cor do PDF para reduzir o tamanho do ficheiro
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Substituição de Cor, Operações de Página, Back End, lado do servidor
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Opções de Substituição ou Inversão de Cor
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Padrão (Cor de contraste alto padrão)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Personalizado ( cores personalizadas)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Inversão Total (inverter todas as cores)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Opções de cor de contraste alto
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Texto branco sobre fundo preto
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Texto preto sobre fundo branco
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Texto amarelo sobre fundo preto
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Texto verde sobre fundo preto
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Escolher cor do texto
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Escolher cor de fundo
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Substituir
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=A sua conta foi bloqueada.
|
|||||||
login.signinTitle=Introduza os seus dados de acesso
|
login.signinTitle=Introduza os seus dados de acesso
|
||||||
login.ssoSignIn=Iniciar sessão através de início de sessão único
|
login.ssoSignIn=Iniciar sessão através de início de sessão único
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 Criação Automática de Utilizador Desativada
|
login.oauth2AutoCreateDisabled=OAUTH2 Criação Automática de Utilizador Desativada
|
||||||
login.oauth2AdminBlockedUser=A registo ou login de utilizadores não-registados está atualmente bloqueado. Por favor, contacte o administrador.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Solicitação de autorização não encontrada
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=Resposta de informações do utilizador inválida
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=Requisito inválido
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=Acesso negado
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=Resposta de token inválida
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=Token de identificação inválido
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=O utilizador foi desativado, o login está atualmente bloqueado com esta conta. Por favor, contacte o administrador.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Já está logado em
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=dispositivos. Por favor, faça logout nos dispositivos e tente novamente.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=Tem sessões ativas demais
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Edição Automática
|
autoRedact.title=Edição Automática
|
||||||
@@ -590,7 +587,7 @@ pdfToSinglePage.submit=Converter para Página Única
|
|||||||
pageExtracter.title=Extrair Páginas
|
pageExtracter.title=Extrair Páginas
|
||||||
pageExtracter.header=Extrair Páginas
|
pageExtracter.header=Extrair Páginas
|
||||||
pageExtracter.submit=Extrair
|
pageExtracter.submit=Extrair
|
||||||
pageExtracter.placeholder=(ex: 1,2,8 ou 4,7,12-16 ou 2n-1)
|
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#getPdfInfo
|
#getPdfInfo
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Enviar
|
|||||||
scalePages.title=Ajustar Tamanho/Escala da Página
|
scalePages.title=Ajustar Tamanho/Escala da Página
|
||||||
scalePages.header=Ajustar Tamanho/Escala da Página
|
scalePages.header=Ajustar Tamanho/Escala da Página
|
||||||
scalePages.pageSize=Tamanho de uma página do documento.
|
scalePages.pageSize=Tamanho de uma página do documento.
|
||||||
scalePages.keepPageSize=Tamanho original
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Fator de zoom (corte) de uma página.
|
scalePages.scaleFactor=Fator de zoom (corte) de uma página.
|
||||||
scalePages.submit=Enviar
|
scalePages.submit=Enviar
|
||||||
|
|
||||||
@@ -746,22 +743,21 @@ certSign.jksNote=Nota: Se o seu tipo de certificado não estiver listado abaixo,
|
|||||||
certSign.selectKey=Selecione o seu ficheiro de chave privada (formato PKCS#8, pode ser .pem ou .der):
|
certSign.selectKey=Selecione o seu ficheiro de chave privada (formato PKCS#8, pode ser .pem ou .der):
|
||||||
certSign.selectCert=Selecione o seu ficheiro de certificado (formato X.509, pode ser .pem ou .der):
|
certSign.selectCert=Selecione o seu ficheiro de certificado (formato X.509, pode ser .pem ou .der):
|
||||||
certSign.selectP12=Selecione o seu ficheiro de armazenamento de chave PKCS#12 (.p12 ou .pfx) (opcional, se fornecido, deve conter a sua chave privada e certificado):
|
certSign.selectP12=Selecione o seu ficheiro de armazenamento de chave PKCS#12 (.p12 ou .pfx) (opcional, se fornecido, deve conter a sua chave privada e certificado):
|
||||||
certSign.selectJKS=Selecione o seu Arquivo de Java Keystore (.jks ou .keystore):
|
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||||
certSign.certType=Tipo de Certificado
|
certSign.certType=Tipo de Certificado
|
||||||
certSign.password=Digite a senha do seu armazenamento de chave ou chave privada (se aplicável):
|
certSign.password=Digite a senha do seu armazenamento de chave ou chave privada (se aplicável):
|
||||||
certSign.showSig=Mostrar Assinatura
|
certSign.showSig=Mostrar Assinatura
|
||||||
certSign.reason=Razão
|
certSign.reason=Razão
|
||||||
certSign.location=Localização
|
certSign.location=Localização
|
||||||
certSign.name=Nome
|
certSign.name=Nome
|
||||||
certSign.showLogo=Mostrar Logotipo
|
|
||||||
certSign.submit=Assinar PDF
|
certSign.submit=Assinar PDF
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Remover Assinatura Digital
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=Remova a assinatura digital do PDF
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=Selecione um ficheiro PDF:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Remover Assinatura
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,27 +779,27 @@ removeAnnotations.submit=Remover
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Comparar
|
compare.title=Comparar
|
||||||
compare.header=Comparar PDFs
|
compare.header=Comparar PDFs
|
||||||
compare.highlightColor.1=Cor de Destaque 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Cor de Destaque 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Documento 1
|
compare.document.1=Documento 1
|
||||||
compare.document.2=Documento 2
|
compare.document.2=Documento 2
|
||||||
compare.submit=Comparar
|
compare.submit=Comparar
|
||||||
compare.complex.message=Um ou ambos os documentos fornecidos são arquivos grandes, a precisão da comparação pode ser reduzida
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Um ou ambos os documentos fornecidos são muito grandes para processar
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Um ou ambos os PDFs seleccionados não têm conteúdo textual. Por favor, seleccione PDFs com texto para comparação.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Livros e Quadrinhos para PDF
|
BookToPDF.title=Books and Comics to PDF
|
||||||
BookToPDF.header=Livro para PDF
|
BookToPDF.header=Book to PDF
|
||||||
BookToPDF.credit=Utiliza Calibre
|
BookToPDF.credit=Uses Calibre
|
||||||
BookToPDF.submit=Converter
|
BookToPDF.submit=Convert
|
||||||
|
|
||||||
#PDFToBook
|
#PDFToBook
|
||||||
PDFToBook.title=PDF para Livro
|
PDFToBook.title=PDF to Book
|
||||||
PDFToBook.header=PDF para Livro
|
PDFToBook.header=PDF to Book
|
||||||
PDFToBook.selectText.1=Formatação
|
PDFToBook.selectText.1=Format
|
||||||
PDFToBook.credit=Utiliza Calibre
|
PDFToBook.credit=Uses Calibre
|
||||||
PDFToBook.submit=Converter
|
PDFToBook.submit=Convert
|
||||||
|
|
||||||
#sign
|
#sign
|
||||||
sign.title=Assinar
|
sign.title=Assinar
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Desenhar Assinatura
|
|||||||
sign.text=Inserir Texto
|
sign.text=Inserir Texto
|
||||||
sign.clear=Limpar
|
sign.clear=Limpar
|
||||||
sign.add=Adicionar
|
sign.add=Adicionar
|
||||||
sign.saved=Assinaturas Guardadas
|
sign.saved=Saved Signatures
|
||||||
sign.save=Guardar Assinatura
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Assinaturas Pessoais
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Assinaturas Compartilhadas
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Nenhuma assinatura guardada encontrada
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -829,7 +825,7 @@ repair.submit=Reparar
|
|||||||
#flatten
|
#flatten
|
||||||
flatten.title=Achatar
|
flatten.title=Achatar
|
||||||
flatten.header=Achatar PDFs
|
flatten.header=Achatar PDFs
|
||||||
flatten.flattenOnlyForms=Apenas formularios aplanados
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=Achatar
|
flatten.submit=Achatar
|
||||||
|
|
||||||
|
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Área mínima de contorno:
|
|||||||
ScannerImageSplit.selectText.8=Define o limite mínimo da área de contorno para uma foto
|
ScannerImageSplit.selectText.8=Define o limite mínimo da área de contorno para uma foto
|
||||||
ScannerImageSplit.selectText.9=Tamanho do contorno:
|
ScannerImageSplit.selectText.9=Tamanho do contorno:
|
||||||
ScannerImageSplit.selectText.10=Define o tamanho do contorno adicionado e removido para evitar contornos brancos na saída (padrão: 1).
|
ScannerImageSplit.selectText.10=Define o tamanho do contorno adicionado e removido para evitar contornos brancos na saída (padrão: 1).
|
||||||
ScannerImageSplit.info=O Python não está instalado. É necessário para execução.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Processar PDF com OCR
|
|||||||
extractImages.title=Extrair Imagens
|
extractImages.title=Extrair Imagens
|
||||||
extractImages.header=Extrair Imagens
|
extractImages.header=Extrair Imagens
|
||||||
extractImages.selectText=Selecione o formato de imagem para converter as imagens extraídas
|
extractImages.selectText=Selecione o formato de imagem para converter as imagens extraídas
|
||||||
extractImages.allowDuplicates=Guardar imagens duplicadas
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Extrair
|
extractImages.submit=Extrair
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Extrair
|
|||||||
fileToPDF.title=Ficheiro para PDF
|
fileToPDF.title=Ficheiro para PDF
|
||||||
fileToPDF.header=Converter Qualquer ficheiro para PDF
|
fileToPDF.header=Converter Qualquer ficheiro para PDF
|
||||||
fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros.
|
fileToPDF.credit=Este serviço usa o LibreOffice e o Unoconv para conversão de ficheiros.
|
||||||
fileToPDF.supportedFileTypesInfo=Tipos de ficheiros suportados
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice.
|
fileToPDF.supportedFileTypes=Os tipos de ficheiro suportados devem incluir os listados abaixo. No entanto, para obter uma lista atualizada completa dos formatos suportados, consulte a documentação do LibreOffice.
|
||||||
fileToPDF.submit=Converter para PDF
|
fileToPDF.submit=Converter para PDF
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Juntar
|
|||||||
merge.header=Juntar Vários PDFs (2+)
|
merge.header=Juntar Vários PDFs (2+)
|
||||||
merge.sortByName=Ordenar por nome
|
merge.sortByName=Ordenar por nome
|
||||||
merge.sortByDate=Ordenar por data
|
merge.sortByDate=Ordenar por data
|
||||||
merge.removeCertSign=Remover assinatura digital no ficheiro combinado?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Juntar
|
merge.submit=Juntar
|
||||||
|
|
||||||
|
|
||||||
@@ -917,46 +913,35 @@ merge.submit=Juntar
|
|||||||
pdfOrganiser.title=Organizador de Páginas
|
pdfOrganiser.title=Organizador de Páginas
|
||||||
pdfOrganiser.header=Organizador de Páginas PDF
|
pdfOrganiser.header=Organizador de Páginas PDF
|
||||||
pdfOrganiser.submit=Reorganizar Páginas
|
pdfOrganiser.submit=Reorganizar Páginas
|
||||||
pdfOrganiser.mode=Modo
|
pdfOrganiser.mode=Mode
|
||||||
pdfOrganiser.mode.1=Ordenação Personalizada de Páginas
|
pdfOrganiser.mode.1=Custom Page Order
|
||||||
pdfOrganiser.mode.2=Ordem Inversa
|
pdfOrganiser.mode.2=Reverse Order
|
||||||
pdfOrganiser.mode.3=Ordenação Duplex
|
pdfOrganiser.mode.3=Duplex Sort
|
||||||
pdfOrganiser.mode.4=Ordernação em Panfleto
|
pdfOrganiser.mode.4=Booklet Sort
|
||||||
pdfOrganiser.mode.5=Ordenação em Panfleto com Costura de Lateral
|
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||||
pdfOrganiser.mode.6=Divisão Ímpar-Par
|
pdfOrganiser.mode.6=Odd-Even Split
|
||||||
pdfOrganiser.mode.7=Remover Primeira Página
|
pdfOrganiser.mode.7=Remove First
|
||||||
pdfOrganiser.mode.8=Remover última Página
|
pdfOrganiser.mode.8=Remove Last
|
||||||
pdfOrganiser.mode.9=Remover Primeira e Última Página
|
pdfOrganiser.mode.9=Remove First and Last
|
||||||
pdfOrganiser.mode.10=Mergulho Ímpar-Par
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(ex: 1,3,2 ou 4-8,2,10-12 ou 2n-1)
|
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=Multiferramenta de PDF
|
multiTool.title=Multiferramenta de PDF
|
||||||
multiTool.header=Multiferramenta de PDF
|
multiTool.header=Multiferramenta de PDF
|
||||||
multiTool.uploadPrompts=Nome do Arquivo
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visualizar PDF
|
viewPdf.title=View PDF
|
||||||
viewPdf.header=Visualizar PDF
|
viewPdf.header=View PDF
|
||||||
|
|
||||||
#pageRemover
|
#pageRemover
|
||||||
pageRemover.title=Remover Página
|
pageRemover.title=Remover Página
|
||||||
pageRemover.header=Remover Páginas do PDF
|
pageRemover.header=Remover Páginas do PDF
|
||||||
pageRemover.pagesToDelete=Páginas a serem excluídas (insira uma lista separada por vírgulas de números de página):
|
pageRemover.pagesToDelete=Páginas a serem excluídas (insira uma lista separada por vírgulas de números de página):
|
||||||
pageRemover.submit=Excluir Páginas
|
pageRemover.submit=Excluir Páginas
|
||||||
pageRemover.placeholder=(ex: 1,2,6 ou 1-10,15-30)
|
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||||
|
|
||||||
|
|
||||||
#rotate
|
#rotate
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Colorida
|
|||||||
pdfToImage.grey=Escala de Cinza
|
pdfToImage.grey=Escala de Cinza
|
||||||
pdfToImage.blackwhite=Preto e Branco (pode resultar em perda de dados!)
|
pdfToImage.blackwhite=Preto e Branco (pode resultar em perda de dados!)
|
||||||
pdfToImage.submit=Converter
|
pdfToImage.submit=Converter
|
||||||
pdfToImage.info=O Python não está instalado. Necessário para a conversão de WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,10 +1029,10 @@ watermark.selectText.6=Espaçamento Vertical (heightSpacer)
|
|||||||
watermark.selectText.7=Opacidade (0% - 100%)
|
watermark.selectText.7=Opacidade (0% - 100%)
|
||||||
watermark.selectText.8=Tipo de Marca d'Água
|
watermark.selectText.8=Tipo de Marca d'Água
|
||||||
watermark.selectText.9=Imagem da Marca d'Água
|
watermark.selectText.9=Imagem da Marca d'Água
|
||||||
watermark.selectText.10=Converter PDF em Imagem
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Adicionar Marca d'Água
|
watermark.submit=Adicionar Marca d'Água
|
||||||
watermark.type.1=Texto
|
watermark.type.1=Text
|
||||||
watermark.type.2=Imagem
|
watermark.type.2=Image
|
||||||
|
|
||||||
|
|
||||||
#Change permissions
|
#Change permissions
|
||||||
@@ -1088,7 +1073,7 @@ changeMetadata.keywords=Palavras-chave:
|
|||||||
changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss):
|
changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss):
|
||||||
changeMetadata.producer=Produtor:
|
changeMetadata.producer=Produtor:
|
||||||
changeMetadata.subject=Assunto:
|
changeMetadata.subject=Assunto:
|
||||||
changeMetadata.trapped=Encalhado:
|
changeMetadata.trapped=Trapped:
|
||||||
changeMetadata.selectText.4=Outros Metadados
|
changeMetadata.selectText.4=Outros Metadados
|
||||||
changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados
|
changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados
|
||||||
changeMetadata.submit=Mudar
|
changeMetadata.submit=Mudar
|
||||||
@@ -1099,9 +1084,9 @@ pdfToPDFA.title=PDF para PDF/A
|
|||||||
pdfToPDFA.header=PDF para PDF/A
|
pdfToPDFA.header=PDF para PDF/A
|
||||||
pdfToPDFA.credit=Este serviço usa ghostscript para Conversão de PDF/A
|
pdfToPDFA.credit=Este serviço usa ghostscript para Conversão de PDF/A
|
||||||
pdfToPDFA.submit=Converter
|
pdfToPDFA.submit=Converter
|
||||||
pdfToPDFA.tip=Actualmente não funciona para múltiplos inputs de uma só vez
|
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||||
pdfToPDFA.outputFormat=Formato de saída
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=O PDF contém um selo digital. Isto será removido no próximo passo.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1183,15 +1168,15 @@ split-by-sections.vertical.label=Divisões Verticais
|
|||||||
split-by-sections.horizontal.placeholder=Introduza o número de divisões horizontais
|
split-by-sections.horizontal.placeholder=Introduza o número de divisões horizontais
|
||||||
split-by-sections.vertical.placeholder=Introduza o número de divisões verticais
|
split-by-sections.vertical.placeholder=Introduza o número de divisões verticais
|
||||||
split-by-sections.submit=Dividir PDF
|
split-by-sections.submit=Dividir PDF
|
||||||
split-by-sections.merge=Fundir em Um único PDF
|
split-by-sections.merge=Merge Into One PDF
|
||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=Imprimir Ficheiro
|
printFile.title=Print File
|
||||||
printFile.header=Imprimir ficheiro na impressora
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=Selecione o ficheiro a imprimir
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=Introduza o nome da impressora
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=Imprimir
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
@@ -1203,45 +1188,45 @@ licenses.version=Versão
|
|||||||
licenses.license=Licença
|
licenses.license=Licença
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Inquérito
|
survey.nav=Survey
|
||||||
survey.title=Inquérito ao Stirling-PDF
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=O Stirling-PDF não tem rastreio, por isso queremos ouvir os nossos utilizadores para melhorar o Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=O Stirling-PDF mudou desde a última avaliação! Para mais informações, verifique o nosso post no blog aqui:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=Com estas mudanças estamos a obter suporte comercial pago e financiamento
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(A caixa de inquérito será desativada nas próximas actualizações mas estará disponível na parte inferior da página)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Levar o Inquérito
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Não mostrar novamente
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
error.sorry=Desculpe pelo inconveniente!
|
error.sorry=Sorry for the issue!
|
||||||
error.needHelp=Precisa de ajuda / Encontrou um problema?
|
error.needHelp=Need help / Found an issue?
|
||||||
error.contactTip=Se ainda estiver a ter problemas, não hesite em entrar em contacto connosco para obter ajuda. Pode submeter um ticket na nossa página do GitHub ou contactar-nos através do Discord:
|
error.contactTip=If you're still having trouble, don't hesitate to reach out to us for help. You can submit a ticket on our GitHub page or contact us through Discord:
|
||||||
error.404.head=404 - Página Não Encontrada | Oops, tropeçámos no código!
|
error.404.head=404 - Page Not Found | Oops, we tripped in the code!
|
||||||
error.404.1=Não podemos parecer encontrar a página que está a procurar.
|
error.404.1=We can't seem to find the page you're looking for.
|
||||||
error.404.2=Ocorreu um erro
|
error.404.2=Something went wrong
|
||||||
error.github=Submeta um ticket na GitHub
|
error.github=Submit a ticket on GitHub
|
||||||
error.showStack=Mostrar Stack Trace
|
error.showStack=Show Stack Trace
|
||||||
error.copyStack=Copiar Stack Trace
|
error.copyStack=Copy Stack Trace
|
||||||
error.githubSubmit=GitHub - Submeter um Ticket
|
error.githubSubmit=GitHub - Submit a ticket
|
||||||
error.discordSubmit=Discord - Submeter um Post de Suporte
|
error.discordSubmit=Discord - Submit Support post
|
||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Remover imagem
|
removeImage.title=Remove image
|
||||||
removeImage.header=Remover imagem
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Remover imagem
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Remover imagem
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Dividir o PDF por Capítulos
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Dividir o PDF por Capítulos
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Nível de Anotações
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Incluir Metadados
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Permitir Duplicações
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Esta ferramenta divide um ficheiro PDF em vários PDFs com base na estrutura dos seus capítulos.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Nível de Anotações: Escolha o nível das anotações a usar para a divisão (0 para topo, 1 para segundo nível, etc.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Inclua Metadados: Se marcado, os metadados originais do PDF serão incluídos em cada PDF dividido.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Permitir Duplicatas: Se marcado, permite a criação de vários bookmarks na mesma página para criar separadamente vários PDFs.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Dividir o PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Limbi
|
|||||||
navbar.settings=Setări
|
navbar.settings=Setări
|
||||||
navbar.allTools=Instrumente
|
navbar.allTools=Instrumente
|
||||||
navbar.multiTool=Instrumente Multiple
|
navbar.multiTool=Instrumente Multiple
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organizează
|
navbar.sections.organize=Organizează
|
||||||
navbar.sections.convertTo=Convertește în PDF
|
navbar.sections.convertTo=Convertește în PDF
|
||||||
navbar.sections.convertFrom=Convertește din PDF
|
navbar.sections.convertFrom=Convertește din PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Fișierul nu trebuie să fie nul sau gol
|
|||||||
database.failedImportFile=Importul Fișierului a Eșuat
|
database.failedImportFile=Importul Fișierului a Eșuat
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Afișează semnătura
|
|||||||
certSign.reason=Motivul
|
certSign.reason=Motivul
|
||||||
certSign.location=Locația
|
certSign.location=Locația
|
||||||
certSign.name=Numele
|
certSign.name=Numele
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Semnează PDF
|
certSign.submit=Semnează PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(ex. 1,3,2 sau 4-8,2,10-12 sau 2n-1)
|
|||||||
multiTool.title=Instrument PDF multiplu
|
multiTool.title=Instrument PDF multiplu
|
||||||
multiTool.header=Instrument PDF multiplu
|
multiTool.header=Instrument PDF multiplu
|
||||||
multiTool.uploadPrompts=Nume Fișier
|
multiTool.uploadPrompts=Nume Fișier
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Vizualizează PDF
|
viewPdf.title=Vizualizează PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=Размер шрифта
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=Название шрифта
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=Выберите PDF(ы)
|
pdfPrompt=Выберите PDF(ы)
|
||||||
multiPdfPrompt=Выберите PDFы (2+)
|
multiPdfPrompt=Выберите PDFы (2+)
|
||||||
multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDFы
|
multiPdfDropPrompt=Выберите (или перетащите) все необходимые PDFы
|
||||||
@@ -47,7 +47,7 @@ green=Зеленый
|
|||||||
blue=Синий
|
blue=Синий
|
||||||
custom=Обычай...
|
custom=Обычай...
|
||||||
WorkInProgess=Работа продолжается, может не работать или глючить, пожалуйста, сообщайте о любых проблемах!
|
WorkInProgess=Работа продолжается, может не работать или глючить, пожалуйста, сообщайте о любых проблемах!
|
||||||
poweredBy=Поддерживается...
|
poweredBy=Powered by
|
||||||
yes=Да
|
yes=Да
|
||||||
no=Нет
|
no=Нет
|
||||||
changedCredsMessage=Учетные данные изменены!
|
changedCredsMessage=Учетные данные изменены!
|
||||||
@@ -56,15 +56,15 @@ userNotFoundMessage=Пользователь не найден.
|
|||||||
incorrectPasswordMessage=Текущий пароль неверен.
|
incorrectPasswordMessage=Текущий пароль неверен.
|
||||||
usernameExistsMessage=Новое имя пользователя уже существует.
|
usernameExistsMessage=Новое имя пользователя уже существует.
|
||||||
invalidUsernameMessage=Неверное имя пользователя. Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
|
invalidUsernameMessage=Неверное имя пользователя. Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
|
||||||
invalidPasswordMessage=Пароль не должен быть пустым и не должен содержать пробелов в начале или конце.
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=Новый пароль и подтверждение нового пароля должны совпадать.
|
confirmPasswordErrorMessage=New Password and Confirm New Password must match.
|
||||||
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
|
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
|
||||||
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
|
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
|
||||||
downgradeCurrentUserMessage=Невозможно понизить роль текущего пользователя
|
downgradeCurrentUserMessage=Невозможно понизить роль текущего пользователя
|
||||||
disabledCurrentUserMessage=Текущий пользователь не может быть отключен
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться.
|
downgradeCurrentUserLongMessage=Невозможно понизить роль текущего пользователя. Следовательно, текущий пользователь не будет отображаться.
|
||||||
userAlreadyExistsOAuthMessage=Пользователь уже существует как OAuth2 пользователь.
|
userAlreadyExistsOAuthMessage=The user already exists as an OAuth2 user.
|
||||||
userAlreadyExistsWebMessage=Пользователь уже существует как веб-пользователь.
|
userAlreadyExistsWebMessage=The user already exists as an web user.
|
||||||
error=Ошибка
|
error=Ошибка
|
||||||
oops=Ой!
|
oops=Ой!
|
||||||
help=Помощь
|
help=Помощь
|
||||||
@@ -75,19 +75,18 @@ visitGithub=Посетить репозиторий на GitHub
|
|||||||
donate=Пожертвовать
|
donate=Пожертвовать
|
||||||
color=Цвет
|
color=Цвет
|
||||||
sponsor=Спонсор
|
sponsor=Спонсор
|
||||||
info=Информация
|
info=Info
|
||||||
pro=Про
|
pro=Pro
|
||||||
page=Страница
|
page=Page
|
||||||
pages=Страницы
|
pages=Pages
|
||||||
loading=Загрузка...
|
loading=Loading...
|
||||||
addToDoc=Добавить в документ
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Политика конфиденциальности
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Условия использования
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Доступность
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Политика кукисов
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Организация
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -99,7 +98,7 @@ pipeline.defaultOption=Пользовательский
|
|||||||
pipeline.submitButton=Отправить
|
pipeline.submitButton=Отправить
|
||||||
pipeline.help=Справка по конвейерной обработке
|
pipeline.help=Справка по конвейерной обработке
|
||||||
pipeline.scanHelp=Справка по сканированию папок
|
pipeline.scanHelp=Справка по сканированию папок
|
||||||
pipeline.deletePrompt=Вы уверены, что хотите удалить пайплайн
|
pipeline.deletePrompt=Are you sure you want to delete pipeline
|
||||||
|
|
||||||
######################
|
######################
|
||||||
# Pipeline Options #
|
# Pipeline Options #
|
||||||
@@ -117,46 +116,45 @@ pipelineOptions.validateButton=Проверить
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=Переход к Pro
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=Этот функционал доступен только пользователям Pro.
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro поддерживает файлы конфигурации YAML и другие функции единой системы аутентификации (SSO).
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Ищете больше возможностей управления пользователями? Проверьте Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Хотите улучшить Stirling PDF?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF использует опциональные данные аналитики для улучшения продукта. Мы не отслеживаем никакую личную информацию или содержимое файлов.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Пожалуйста, рассмотрите возможность включения аналитики, чтобы помочь Stirling-PDF расти и дать нам возможность лучше понять наших пользователей.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Включить аналитику
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Отключить аналитику
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Вы можете изменить настройки аналитики в файле config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
#############
|
#############
|
||||||
navbar.favorite=Избранное
|
navbar.favorite=Favorites
|
||||||
navbar.darkmode=Темный режим
|
navbar.darkmode=Темный режим
|
||||||
navbar.language=Языки
|
navbar.language=Languages
|
||||||
navbar.settings=Настройки
|
navbar.settings=Настройки
|
||||||
navbar.allTools=Конвейеры
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.organize=Организация
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertTo=Перевести в PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
navbar.sections.convertFrom=Перевести из PDF
|
navbar.sections.security=Sign & Security
|
||||||
navbar.sections.security=Подписи и Безопасность
|
navbar.sections.advance=Advanced
|
||||||
navbar.sections.advance=Продвинутые
|
navbar.sections.edit=View & Edit
|
||||||
navbar.sections.edit=Просмотр и Редактирование
|
navbar.sections.popular=Popular
|
||||||
navbar.sections.popular=Популярное
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
#############
|
#############
|
||||||
settings.title=Настройки
|
settings.title=Настройки
|
||||||
settings.update=Доступно обновление
|
settings.update=Доступно обновление
|
||||||
settings.updateAvailable={0} - текущая установленная версия. Доступна новая версия ({1}).
|
settings.updateAvailable={0} is the current installed version. A new version ({1}) is available.
|
||||||
settings.appVersion=Версия приложения:
|
settings.appVersion=Версия приложения:
|
||||||
settings.downloadOption.title=Выберите вариант загрузки (для загрузки одного файла без zip):
|
settings.downloadOption.title=Выберите вариант загрузки (для загрузки одного файла без zip):
|
||||||
settings.downloadOption.1=Открыть в том же окне
|
settings.downloadOption.1=Открыть в том же окне
|
||||||
@@ -165,9 +163,9 @@ settings.downloadOption.3=Загрузить файл
|
|||||||
settings.zipThreshold=Zip-файлы, когда количество загруженных файлов превышает
|
settings.zipThreshold=Zip-файлы, когда количество загруженных файлов превышает
|
||||||
settings.signOut=Выйти
|
settings.signOut=Выйти
|
||||||
settings.accountSettings=Настройки аккаунта
|
settings.accountSettings=Настройки аккаунта
|
||||||
settings.bored.help=Включает игру на яйцо
|
settings.bored.help=Enables easter egg game
|
||||||
settings.cacheInputs.name=Сохранение введенных данных формы
|
settings.cacheInputs.name=Save form inputs
|
||||||
settings.cacheInputs.help=Включить для хранения ранее использованных значений для будущих запусков
|
settings.cacheInputs.help=Enable to store previously used inputs for future runs
|
||||||
|
|
||||||
changeCreds.title=Изменить учетные данные
|
changeCreds.title=Изменить учетные данные
|
||||||
changeCreds.header=Обновите данные вашей учетной записи
|
changeCreds.header=Обновите данные вашей учетной записи
|
||||||
@@ -206,9 +204,9 @@ adminUserSettings.header=Настройки контроля пользоват
|
|||||||
adminUserSettings.admin=Администратор
|
adminUserSettings.admin=Администратор
|
||||||
adminUserSettings.user=Пользователь
|
adminUserSettings.user=Пользователь
|
||||||
adminUserSettings.addUser=Добавить нового пользователя
|
adminUserSettings.addUser=Добавить нового пользователя
|
||||||
adminUserSettings.deleteUser=Удалить пользователя
|
adminUserSettings.deleteUser=Delete User
|
||||||
adminUserSettings.confirmDeleteUser=Должен быть удален этот пользователь?
|
adminUserSettings.confirmDeleteUser=Should the user be deleted?
|
||||||
adminUserSettings.confirmChangeUserStatus=Должен быть отключен/включен этот пользователь?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
|
adminUserSettings.usernameInfo=Имя пользователя может содержать только буквы, цифры и следующие специальные символы @._+- или должно быть действительным адресом электронной почты.
|
||||||
adminUserSettings.roles=Роли
|
adminUserSettings.roles=Роли
|
||||||
adminUserSettings.role=Роль
|
adminUserSettings.role=Роль
|
||||||
@@ -221,34 +219,33 @@ adminUserSettings.internalApiUser=Внутренний пользователь
|
|||||||
adminUserSettings.forceChange=Просить пользователя изменить пароль при входе в систему
|
adminUserSettings.forceChange=Просить пользователя изменить пароль при входе в систему
|
||||||
adminUserSettings.submit=Сохранить пользователя
|
adminUserSettings.submit=Сохранить пользователя
|
||||||
adminUserSettings.changeUserRole=Изменить роль пользователя
|
adminUserSettings.changeUserRole=Изменить роль пользователя
|
||||||
adminUserSettings.authenticated=Авторизованный
|
adminUserSettings.authenticated=Authenticated
|
||||||
adminUserSettings.editOwnProfil=Изменить свой профиль
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=активный пользователь
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=отключенный пользователь
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=Активные пользователи:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=Отключенные пользователи:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=Общее количество пользователей:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=Последний запрос
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=Импорт/экспорт базы данных
|
database.title=Database Import/Export
|
||||||
database.header=Импорт/экспорт базы данных
|
database.header=Database Import/Export
|
||||||
database.fileName=Название файла
|
database.fileName=File Name
|
||||||
database.creationDate=Дата создания
|
database.creationDate=Creation Date
|
||||||
database.fileSize=Размер файла
|
database.fileSize=File Size
|
||||||
database.deleteBackupFile=Удалить резервную копию файла
|
database.deleteBackupFile=Delete Backup File
|
||||||
database.importBackupFile=Импортировать резервную копию файла
|
database.importBackupFile=Import Backup File
|
||||||
database.downloadBackupFile=Скачать резервную копию файла
|
database.downloadBackupFile=Download Backup File
|
||||||
database.info_1=При импорте данных важно убедиться в правильной структуре. Если вы не уверены, что делаете, обратитесь за профессиональной помощью и поддержкой. Ошибка в структуре может привести к сбоям приложений, вплоть до полного их отказа от работы.
|
database.info_1=When importing data, it is crucial to ensure the correct structure. If you are unsure of what you are doing, seek advice and support from a professional. An error in the structure can cause application malfunctions, up to and including the complete inability to run the application.
|
||||||
database.info_2=Имя файла не имеет значения при загрузке. Оно будет переименовано позже в формат backup_user_yyyyMMddHHmm.sql для обеспечения единообразия названий.
|
database.info_2=The file name does not matter when uploading. It will be renamed afterward to follow the format backup_user_yyyyMMddHHmm.sql, ensuring a consistent naming convention.
|
||||||
database.submit=Импортировать резервную копию
|
database.submit=Import Backup
|
||||||
database.importIntoDatabaseSuccessed=Импорт в базу данных выполнен успешно
|
database.importIntoDatabaseSuccessed=Import into database successed
|
||||||
database.fileNotFound=File not Found
|
database.fileNotFound=File not Found
|
||||||
database.fileNullOrEmpty=Файл не должен быть пустым или NULL
|
database.fileNullOrEmpty=File must not be null or empty
|
||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Ваша сессия истекла. Пожалуйста, обновите страницу и попробуйте снова.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -259,7 +256,7 @@ home.searchBar=Поиск функций...
|
|||||||
|
|
||||||
home.viewPdf.title=Просмотр PDF
|
home.viewPdf.title=Просмотр PDF
|
||||||
home.viewPdf.desc=Просмотр, аннотация, добавление текста или изображений
|
home.viewPdf.desc=Просмотр, аннотация, добавление текста или изображений
|
||||||
viewPdf.tags=просмотр, чтение, аннотирование, текст, изображение
|
viewPdf.tags=view,read,annotate,text,image
|
||||||
|
|
||||||
home.multiTool.title=Мультиинструмент PDF
|
home.multiTool.title=Мультиинструмент PDF
|
||||||
home.multiTool.desc=Объединение, поворот, изменение порядка и удаление страниц
|
home.multiTool.desc=Объединение, поворот, изменение порядка и удаление страниц
|
||||||
@@ -267,15 +264,15 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side
|
|||||||
|
|
||||||
home.merge.title=Объединить
|
home.merge.title=Объединить
|
||||||
home.merge.desc=Легко объединяйте несколько PDF-файлов в один.
|
home.merge.desc=Легко объединяйте несколько PDF-файлов в один.
|
||||||
merge.tags=слияние, операции со страницами, backend, серверная сторона
|
merge.tags=merge,Page operations,Back end,server side
|
||||||
|
|
||||||
home.split.title=Разделить
|
home.split.title=Разделить
|
||||||
home.split.desc=Разделить PDF-файлы на несколько документов
|
home.split.desc=Разделить PDF-файлы на несколько документов
|
||||||
split.tags=операции со страницами, разделение, многостраничный, вырезание, серверная сторона
|
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=серверная сторона
|
rotate.tags=server side
|
||||||
|
|
||||||
|
|
||||||
home.imageToPdf.title=Изображение в PDF
|
home.imageToPdf.title=Изображение в PDF
|
||||||
@@ -288,7 +285,7 @@ pdfToImage.tags=conversion,img,jpg,picture,photo
|
|||||||
|
|
||||||
home.pdfOrganiser.title=Реорганизация
|
home.pdfOrganiser.title=Реорганизация
|
||||||
home.pdfOrganiser.desc=Удалить/переставить страницы в любом порядке
|
home.pdfOrganiser.desc=Удалить/переставить страницы в любом порядке
|
||||||
pdfOrganiser.tags=дуплексный режим, чётные страницы, нечётные страницы, сортировка, перемещение
|
pdfOrganiser.tags=duplex,even,odd,sort,move
|
||||||
|
|
||||||
|
|
||||||
home.addImage.title=Добавить изображение
|
home.addImage.title=Добавить изображение
|
||||||
@@ -297,33 +294,33 @@ addImage.tags=img,jpg,picture,photo
|
|||||||
|
|
||||||
home.watermark.title=Добавить водяной знак
|
home.watermark.title=Добавить водяной знак
|
||||||
home.watermark.desc=Добавьте собственный водяной знак в документ PDF.
|
home.watermark.desc=Добавьте собственный водяной знак в документ PDF.
|
||||||
watermark.tags=текст, повторяющийся, метка, собственное право, товарный знак, img, jpg, picture, фото
|
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
||||||
|
|
||||||
home.permissions.title=Изменить разрешения
|
home.permissions.title=Изменить разрешения
|
||||||
home.permissions.desc=Измените разрешения вашего PDF-документа
|
home.permissions.desc=Измените разрешения вашего PDF-документа
|
||||||
permissions.tags=просмотр, запись, редактирование, печать
|
permissions.tags=read,write,edit,print
|
||||||
|
|
||||||
|
|
||||||
home.removePages.title=Удаление
|
home.removePages.title=Удаление
|
||||||
home.removePages.desc=Удалите ненужные страницы из документа PDF.
|
home.removePages.desc=Удалите ненужные страницы из документа PDF.
|
||||||
removePages.tags=Удалить страницы,удаление страниц
|
removePages.tags=Remove pages,delete pages
|
||||||
|
|
||||||
home.addPassword.title=Добавить пароль
|
home.addPassword.title=Добавить пароль
|
||||||
home.addPassword.desc=Зашифруйте PDF-документ паролем.
|
home.addPassword.desc=Зашифруйте PDF-документ паролем.
|
||||||
addPassword.tags=безопасность,защита
|
addPassword.tags=secure,security
|
||||||
|
|
||||||
home.removePassword.title=Удалить пароль
|
home.removePassword.title=Удалить пароль
|
||||||
home.removePassword.desc=Снимите защиту паролем с вашего PDF-документа.
|
home.removePassword.desc=Снимите защиту паролем с вашего PDF-документа.
|
||||||
removePassword.tags=безопасность,дешифровать,удаление пароля
|
removePassword.tags=secure,Decrypt,security,unpassword,delete password
|
||||||
|
|
||||||
home.compressPdfs.title=Сжать
|
home.compressPdfs.title=Сжать
|
||||||
home.compressPdfs.desc=Сжимайте PDF-файлы, чтобы уменьшить их размер.
|
home.compressPdfs.desc=Сжимайте PDF-файлы, чтобы уменьшить их размер.
|
||||||
compressPdfs.tags=сжатие,компрессия,узкое
|
compressPdfs.tags=squish,small,tiny
|
||||||
|
|
||||||
|
|
||||||
home.changeMetadata.title=Изменить метаданные
|
home.changeMetadata.title=Изменить метаданные
|
||||||
home.changeMetadata.desc=Изменить/удалить/добавить метаданные из документа PDF
|
home.changeMetadata.desc=Изменить/удалить/добавить метаданные из документа PDF
|
||||||
changeMetadata.tags=заголовок,автор,дата,время создания,время,издатель,производитель,статистика
|
changeMetadata.tags=Title,author,date,creation,time,publisher,producer,stats
|
||||||
|
|
||||||
home.fileToPDF.title=Конвертировать файл в PDF
|
home.fileToPDF.title=Конвертировать файл в PDF
|
||||||
home.fileToPDF.desc=Конвертируйте практически любой файл в PDF (DOCX, PNG, XLS, PPT, TXT и другие)
|
home.fileToPDF.desc=Конвертируйте практически любой файл в PDF (DOCX, PNG, XLS, PPT, TXT и другие)
|
||||||
@@ -331,12 +328,12 @@ fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,offi
|
|||||||
|
|
||||||
home.ocr.title=OCR / Очистка сканирования
|
home.ocr.title=OCR / Очистка сканирования
|
||||||
home.ocr.desc=Очистка сканирования и обнаружение текста на изображениях в PDF-файле и повторно добавляет его как текст.
|
home.ocr.desc=Очистка сканирования и обнаружение текста на изображениях в PDF-файле и повторно добавляет его как текст.
|
||||||
ocr.tags=распознавание,текст,изображение,сканирование,читаемость,идентификация, detektsiya,редактируемое
|
ocr.tags=recognition,text,image,scan,read,identify,detection,editable
|
||||||
|
|
||||||
|
|
||||||
home.extractImages.title=Извлечь изображения
|
home.extractImages.title=Извлечь изображения
|
||||||
home.extractImages.desc=Извлекает все изображения из PDF и сохраняет их в zip
|
home.extractImages.desc=Извлекает все изображения из PDF и сохраняет их в zip
|
||||||
extractImages.tags=картинка,фото,сохранение,архивация,zip,захват,вытаскивание
|
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||||
|
|
||||||
home.pdfToPDFA.title=PDF в PDF/A
|
home.pdfToPDFA.title=PDF в PDF/A
|
||||||
home.pdfToPDFA.desc=Преобразование PDF в PDF/A для длительного хранения
|
home.pdfToPDFA.desc=Преобразование PDF в PDF/A для длительного хранения
|
||||||
@@ -361,55 +358,55 @@ PDFToHTML.tags=web content,browser friendly
|
|||||||
|
|
||||||
home.PDFToXML.title=PDF в XML
|
home.PDFToXML.title=PDF в XML
|
||||||
home.PDFToXML.desc=Преобразование PDF в формат XML
|
home.PDFToXML.desc=Преобразование PDF в формат XML
|
||||||
PDFToXML.tags=extraksi data,структурированный контент,interop,преобразование,конвертация
|
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
|
||||||
|
|
||||||
home.ScannerImageSplit.title=Обнаружение/разделение отсканированных фотографий
|
home.ScannerImageSplit.title=Обнаружение/разделение отсканированных фотографий
|
||||||
home.ScannerImageSplit.desc=Разделяет несколько фотографий из фото/PDF
|
home.ScannerImageSplit.desc=Разделяет несколько фотографий из фото/PDF
|
||||||
ScannerImageSplit.tags=разделение,автоматическое обнаружение,сканы,многофотографии,организация
|
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize
|
||||||
|
|
||||||
home.sign.title=Подпись
|
home.sign.title=Подпись
|
||||||
home.sign.desc=Добавляет подпись в PDF с помощью рисунка, текста или изображения
|
home.sign.desc=Добавляет подпись в PDF с помощью рисунка, текста или изображения
|
||||||
sign.tags=авторизация,широкополье,подпись,текстовая подпись,изображенная подпись
|
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature
|
||||||
|
|
||||||
home.flatten.title=Сглаживание
|
home.flatten.title=Сглаживание
|
||||||
home.flatten.desc=Удалить все интерактивные элементы и формы из PDF
|
home.flatten.desc=Удалить все интерактивные элементы и формы из PDF
|
||||||
flatten.tags=статичная,деактивировать,непривязанное к интерактиву,простота
|
flatten.tags=static,deactivate,non-interactive,streamline
|
||||||
|
|
||||||
home.repair.title=Ремонт
|
home.repair.title=Ремонт
|
||||||
home.repair.desc=Пытается восстановить поврежденный/сломанный PDF
|
home.repair.desc=Пытается восстановить поврежденный/сломанный PDF
|
||||||
repair.tags=исправление,восстановление,корректировка,восстановление
|
repair.tags=fix,restore,correction,recover
|
||||||
|
|
||||||
home.removeBlanks.title=Удалить пустые страницы
|
home.removeBlanks.title=Удалить пустые страницы
|
||||||
home.removeBlanks.desc=Обнаруживает и удаляет пустые страницы из документа
|
home.removeBlanks.desc=Обнаруживает и удаляет пустые страницы из документа
|
||||||
removeBlanks.tags=очистка,простота,без содержания,организация
|
removeBlanks.tags=cleanup,streamline,non-content,organize
|
||||||
|
|
||||||
home.removeAnnotations.title=Удалить аннотации
|
home.removeAnnotations.title=Remove Annotations
|
||||||
home.removeAnnotations.desc=Удаляет все комментарии/аннотации из PDF
|
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||||
removeAnnotations.tags=комментарии, выделение, заметки, обозначения, удаление
|
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||||
|
|
||||||
home.compare.title=Сравнение
|
home.compare.title=Сравнение
|
||||||
home.compare.desc=Сравнивает и показывает различия между двумя PDF-документами
|
home.compare.desc=Сравнивает и показывает различия между двумя PDF-документами
|
||||||
compare.tags=дифференцировать, контрастировать, изменения, анализ
|
compare.tags=differentiate,contrast,changes,analysis
|
||||||
|
|
||||||
home.certSign.title=Подписать сертификатом
|
home.certSign.title=Подписать сертификатом
|
||||||
home.certSign.desc=Подписать PDF сертификатом/ключом (PEM/P12)
|
home.certSign.desc=Подписать PDF сертификатом/ключом (PEM/P12)
|
||||||
certSign.tags=авторизация, PEM, P12, официальное, шифрование
|
certSign.tags=authenticate,PEM,P12,official,encrypt
|
||||||
|
|
||||||
home.removeCertSign.title=Remove Certificate Sign
|
home.removeCertSign.title=Remove Certificate Sign
|
||||||
home.removeCertSign.desc=Удаляет цифровую подпись из PDF
|
home.removeCertSign.desc=Remove certificate signature from PDF
|
||||||
removeCertSign.tags=авторизация, PEM, P12, официальное, дешифрование
|
removeCertSign.tags=authenticate,PEM,P12,official,decrypt
|
||||||
|
|
||||||
home.pageLayout.title=Объединить страницы
|
home.pageLayout.title=Объединить страницы
|
||||||
home.pageLayout.desc=Объединение нескольких страниц документа PDF в одну страницу
|
home.pageLayout.desc=Объединение нескольких страниц документа PDF в одну страницу
|
||||||
pageLayout.tags=слияние, составление, просмотр, организация
|
pageLayout.tags=merge,composite,single-view,organize
|
||||||
|
|
||||||
home.scalePages.title=Изменить размер/масштаб страницы
|
home.scalePages.title=Изменить размер/масштаб страницы
|
||||||
home.scalePages.desc=Изменить размер/масштаб страницы и/или ее содержимого.
|
home.scalePages.desc=Изменить размер/масштаб страницы и/или ее содержимого.
|
||||||
scalePages.tags=изменение размера, редактирование, размеры, адаптация
|
scalePages.tags=resize,modify,dimension,adapt
|
||||||
|
|
||||||
home.pipeline.title=Конвейер (расширенный)
|
home.pipeline.title=Конвейер (расширенный)
|
||||||
home.pipeline.desc=Выполняйте несколько действий с PDF-файлами, определяя конвейерные сценарии.
|
home.pipeline.desc=Выполняйте несколько действий с PDF-файлами, определяя конвейерные сценарии.
|
||||||
pipeline.tags=автоматизация, последовательность, скриптовый процесс, линейный обработчик
|
pipeline.tags=automate,sequence,scripted,batch-process
|
||||||
|
|
||||||
home.add-page-numbers.title=Добавить номера страниц
|
home.add-page-numbers.title=Добавить номера страниц
|
||||||
home.add-page-numbers.desc=Добавляйте номера страниц по всему документу в заданном месте
|
home.add-page-numbers.desc=Добавляйте номера страниц по всему документу в заданном месте
|
||||||
@@ -417,51 +414,51 @@ add-page-numbers.tags=paginate,label,organize,index
|
|||||||
|
|
||||||
home.auto-rename.title=Автоматическое переименование PDF-файла
|
home.auto-rename.title=Автоматическое переименование PDF-файла
|
||||||
home.auto-rename.desc=Автоматическое переименование файла PDF на основе его обнаруженного заголовка
|
home.auto-rename.desc=Автоматическое переименование файла PDF на основе его обнаруженного заголовка
|
||||||
auto-rename.tags=автоматическое определение, основанные на заголовках, организация, переименование
|
auto-rename.tags=auto-detect,header-based,organize,relabel
|
||||||
|
|
||||||
home.adjust-contrast.title=Настройка цветов/контрастности
|
home.adjust-contrast.title=Настройка цветов/контрастности
|
||||||
home.adjust-contrast.desc=Настройка контрастность, насыщенность и яркость PDF-файла
|
home.adjust-contrast.desc=Настройка контрастность, насыщенность и яркость PDF-файла
|
||||||
adjust-contrast.tags=коррекция цвета, настройка, редактирование, улучшение
|
adjust-contrast.tags=color-correction,tune,modify,enhance
|
||||||
|
|
||||||
home.crop.title=Обрезать PDF-файл
|
home.crop.title=Обрезать PDF-файл
|
||||||
home.crop.desc=Обрезать PDF-файл, чтобы уменьшить его размер (текст сохраняется!)
|
home.crop.desc=Обрезать PDF-файл, чтобы уменьшить его размер (текст сохраняется!)
|
||||||
crop.tags=обрезать, сократить, редактировать, форму
|
crop.tags=trim,shrink,edit,shape
|
||||||
|
|
||||||
home.autoSplitPDF.title=Автоматическое разделение страниц
|
home.autoSplitPDF.title=Автоматическое разделение страниц
|
||||||
home.autoSplitPDF.desc=Автоматическое разделение отсканированного PDF-файла с помощью физического разделителя отсканированных страниц QR-кода
|
home.autoSplitPDF.desc=Автоматическое разделение отсканированного PDF-файла с помощью физического разделителя отсканированных страниц QR-кода
|
||||||
autoSplitPDF.tags=QR-коды, разделение, сканирование, обработка
|
autoSplitPDF.tags=QR-based,separate,scan-segment,organize
|
||||||
|
|
||||||
home.sanitizePdf.title=Дезинфицировать
|
home.sanitizePdf.title=Дезинфицировать
|
||||||
home.sanitizePdf.desc=Удаление скриптов и других элементов из PDF-файлов
|
home.sanitizePdf.desc=Удаление скриптов и других элементов из PDF-файлов
|
||||||
sanitizePdf.tags=очистка, безопасность, безопасный, удаление угроз
|
sanitizePdf.tags=clean,secure,safe,remove-threats
|
||||||
|
|
||||||
home.URLToPDF.title=URL/сайт в PDF
|
home.URLToPDF.title=URL/сайт в PDF
|
||||||
home.URLToPDF.desc=Конвертирует любой http(s)URL в PDF
|
home.URLToPDF.desc=Конвертирует любой http(s)URL в PDF
|
||||||
URLToPDF.tags=веб-съёмка, сохранение страницы, веб к документу, архивация
|
URLToPDF.tags=web-capture,save-page,web-to-doc,archive
|
||||||
|
|
||||||
home.HTMLToPDF.title=HTML в PDF
|
home.HTMLToPDF.title=HTML в PDF
|
||||||
home.HTMLToPDF.desc=Конвертирует любой HTML-файл или zip-файл в PDF.
|
home.HTMLToPDF.desc=Конвертирует любой HTML-файл или zip-файл в PDF.
|
||||||
HTMLToPDF.tags=макетирование, веб-контент, трансформация, конвертация
|
HTMLToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.MarkdownToPDF.title=Markdown в PDF
|
home.MarkdownToPDF.title=Markdown в PDF
|
||||||
home.MarkdownToPDF.desc=Конвертирует любой файл Markdown в PDF
|
home.MarkdownToPDF.desc=Конвертирует любой файл Markdown в PDF
|
||||||
MarkdownToPDF.tags=макетирование, веб-контент, трансформация, конвертация
|
MarkdownToPDF.tags=markup,web-content,transformation,convert
|
||||||
|
|
||||||
|
|
||||||
home.getPdfInfo.title=Получите ВСЮ информацию в формате PDF
|
home.getPdfInfo.title=Получите ВСЮ информацию в формате PDF
|
||||||
home.getPdfInfo.desc=Собирает любую возможную информацию в PDF-файлах.
|
home.getPdfInfo.desc=Собирает любую возможную информацию в PDF-файлах.
|
||||||
getPdfInfo.tags=информация, данные, статистика, статистика
|
getPdfInfo.tags=infomation,data,stats,statistics
|
||||||
|
|
||||||
|
|
||||||
home.extractPage.title=Извлечь страницу(ы)
|
home.extractPage.title=Извлечь страницу(ы)
|
||||||
home.extractPage.desc=Извлекает выбранные страницы из PDF
|
home.extractPage.desc=Извлекает выбранные страницы из PDF
|
||||||
extractPage.tags=вытащить
|
extractPage.tags=extract
|
||||||
|
|
||||||
|
|
||||||
home.PdfToSinglePage.title=PDF в одну большую страницу
|
home.PdfToSinglePage.title=PDF в одну большую страницу
|
||||||
home.PdfToSinglePage.desc=Объединяет все страницы PDF в одну большую страницу.
|
home.PdfToSinglePage.desc=Объединяет все страницы PDF в одну большую страницу.
|
||||||
PdfToSinglePage.tags=одна страница
|
PdfToSinglePage.tags=single page
|
||||||
|
|
||||||
|
|
||||||
home.showJS.title=Показать Javascript
|
home.showJS.title=Показать Javascript
|
||||||
@@ -470,29 +467,29 @@ showJS.tags=JS
|
|||||||
|
|
||||||
home.autoRedact.title=Автоматическое редактирование
|
home.autoRedact.title=Автоматическое редактирование
|
||||||
home.autoRedact.desc=Автоматическое затемнение (чернение) текста в PDF на основе входного текста
|
home.autoRedact.desc=Автоматическое затемнение (чернение) текста в PDF на основе входного текста
|
||||||
autoRedact.tags=Скрыть, Закрыть, закрасить, блокировать, маркер, скрыто
|
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||||
|
|
||||||
home.tableExtraxt.title=PDF в CSV
|
home.tableExtraxt.title=PDF в CSV
|
||||||
home.tableExtraxt.desc=Извлекает таблицы из PDF и преобразует их в CSV
|
home.tableExtraxt.desc=Извлекает таблицы из PDF и преобразует их в CSV
|
||||||
tableExtraxt.tags=CSV, извлечение таблицы, вытащить, конвертировать
|
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||||
|
|
||||||
|
|
||||||
home.autoSizeSplitPDF.title=Автоматическое разделение по размеру/количеству
|
home.autoSizeSplitPDF.title=Автоматическое разделение по размеру/количеству
|
||||||
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
|
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
|
||||||
autoSizeSplitPDF.tags=pdf, разделение, документ, организация
|
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||||
|
|
||||||
|
|
||||||
home.overlay-pdfs.title=Наложение PDF
|
home.overlay-pdfs.title=Наложение PDF
|
||||||
home.overlay-pdfs.desc=Наложение одного PDF поверх другого PDF
|
home.overlay-pdfs.desc=Наложение одного PDF поверх другого PDF
|
||||||
overlay-pdfs.tags=Перекрытие
|
overlay-pdfs.tags=Overlay
|
||||||
|
|
||||||
home.split-by-sections.title=Разделение PDF по секциям
|
home.split-by-sections.title=Разделение PDF по секциям
|
||||||
home.split-by-sections.desc=Разделение каждой страницы PDF на более мелкие горизонтальные и вертикальные секции
|
home.split-by-sections.desc=Разделение каждой страницы PDF на более мелкие горизонтальные и вертикальные секции
|
||||||
split-by-sections.tags=Разделение на разделы, Разделить, Настроить
|
split-by-sections.tags=Section Split, Divide, Customize
|
||||||
|
|
||||||
home.AddStampRequest.title=Добавить печать на PDF
|
home.AddStampRequest.title=Добавить печать на PDF
|
||||||
home.AddStampRequest.desc=Добавление текстовой или изображенческой печати в заданные места
|
home.AddStampRequest.desc=Добавление текстовой или изображенческой печати в заданные места
|
||||||
AddStampRequest.tags=Штамп, добавить изображение, центрировать изображение, Водяной знак, PDF, вставить, Настроить
|
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||||
|
|
||||||
|
|
||||||
home.PDFToBook.title=PDF в книгу/комикс
|
home.PDFToBook.title=PDF в книгу/комикс
|
||||||
@@ -503,33 +500,33 @@ home.BookToPDF.title=Книга в PDF
|
|||||||
home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre
|
home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre
|
||||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=Удалить изображение
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=Удалите изображение из PDF для сокращения размера файла
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Удалить изображение, операции со страницами, Back end, серверная сторона
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
home.splitPdfByChapters.title=Разделить PDF по разделам
|
home.splitPdfByChapters.title=Split PDF by Chapters
|
||||||
home.splitPdfByChapters.desc=Разделите PDF на несколько файлов на основе структуры его разделов
|
home.splitPdfByChapters.desc=Split a PDF into multiple files based on its chapter structure.
|
||||||
splitPdfByChapters.tags=разделение, разделы, закладки, организация
|
splitPdfByChapters.tags=split,chapters,bookmarks,organize
|
||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Заменить-Обратное изменение цвета PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Замените цвет текста и фона в PDF и инвертируйте весь цвет PDF для сокращения размера файла
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Заменить цвет, операции со страницами, Back end, серверная сторона
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Опции замены или обратного изменения цвета
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=По умолчанию (высокий контрастный цвет)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Пользовательский выбор (персонализированные цвета)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Цветная инверсия (инвертировать все цвета)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Высококонтрастные цвета
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=белый текст на черном фоне
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=черный текст на белом фоне
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=желтый текст на черном фоне
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=зеленый текст на черном фоне
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Выбрать цвет текста
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Выбрать цвет фона
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Заменить
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -548,17 +545,17 @@ login.locked=Ваша учетная запись заблокирована.
|
|||||||
login.signinTitle=Пожалуйста, войдите
|
login.signinTitle=Пожалуйста, войдите
|
||||||
login.ssoSignIn=Вход через единый вход
|
login.ssoSignIn=Вход через единый вход
|
||||||
login.oauth2AutoCreateDisabled=OAUTH2 Автоматическое создание пользователя отключено
|
login.oauth2AutoCreateDisabled=OAUTH2 Автоматическое создание пользователя отключено
|
||||||
login.oauth2AdminBlockedUser=Регистрация или вход нерегистрированных пользователей временно заблокированы. Пожалуйста, обратитесь к администратору.
|
login.oauth2AdminBlockedUser=Registration or logging in of non-registered users is currently blocked. Please contact the administrator.
|
||||||
login.oauth2RequestNotFound=Запрос на авторизацию не найден
|
login.oauth2RequestNotFound=Authorization request not found
|
||||||
login.oauth2InvalidUserInfoResponse=Недействительный ответ с информацией о пользователе
|
login.oauth2InvalidUserInfoResponse=Invalid User Info Response
|
||||||
login.oauth2invalidRequest=Неверный запрос
|
login.oauth2invalidRequest=Invalid Request
|
||||||
login.oauth2AccessDenied=Доступ запрещен
|
login.oauth2AccessDenied=Access Denied
|
||||||
login.oauth2InvalidTokenResponse=Недействительный ответ токена
|
login.oauth2InvalidTokenResponse=Invalid Token Response
|
||||||
login.oauth2InvalidIdToken=Недействительный идентификационный токен
|
login.oauth2InvalidIdToken=Invalid Id Token
|
||||||
login.userIsDisabled=Пользователь деактивирован, вход с данным именем пользователя заблокирован. Пожалуйста, обратитесь к администратору.
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=Вы уже вошли в
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=устройства. Выполните выход из устройств и попробуйте снова.
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=У вас слишком много активных сессий
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=Автоматическое редактирование
|
autoRedact.title=Автоматическое редактирование
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=Отправить
|
|||||||
scalePages.title=Отрегулировать масштаб страницы
|
scalePages.title=Отрегулировать масштаб страницы
|
||||||
scalePages.header=Отрегулировать масштаб страницы
|
scalePages.header=Отрегулировать масштаб страницы
|
||||||
scalePages.pageSize=Размер страницы документа.
|
scalePages.pageSize=Размер страницы документа.
|
||||||
scalePages.keepPageSize=Исходный размер
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=Уровень масштабирования (обрезки) страницы.
|
scalePages.scaleFactor=Уровень масштабирования (обрезки) страницы.
|
||||||
scalePages.submit=Отправить
|
scalePages.submit=Отправить
|
||||||
|
|
||||||
@@ -753,15 +750,14 @@ certSign.showSig=Показать подпись
|
|||||||
certSign.reason=Причина
|
certSign.reason=Причина
|
||||||
certSign.location=Местоположение
|
certSign.location=Местоположение
|
||||||
certSign.name=Имя
|
certSign.name=Имя
|
||||||
certSign.showLogo=Показать логотип
|
|
||||||
certSign.submit=Подписать PDF
|
certSign.submit=Подписать PDF
|
||||||
|
|
||||||
|
|
||||||
#removeCertSign
|
#removeCertSign
|
||||||
removeCertSign.title=Удалить цифровую подпись сертификата
|
removeCertSign.title=Remove Certificate Signature
|
||||||
removeCertSign.header=Удалите цифровой сертификат из PDF
|
removeCertSign.header=Remove the digital certificate from the PDF
|
||||||
removeCertSign.selectPDF=Выберите файл PDF:
|
removeCertSign.selectPDF=Select a PDF file:
|
||||||
removeCertSign.submit=Удалить подпись
|
removeCertSign.submit=Remove Signature
|
||||||
|
|
||||||
|
|
||||||
#removeBlanks
|
#removeBlanks
|
||||||
@@ -783,14 +779,14 @@ removeAnnotations.submit=Удалить
|
|||||||
#compare
|
#compare
|
||||||
compare.title=Сравнение
|
compare.title=Сравнение
|
||||||
compare.header=Сравнение PDFы
|
compare.header=Сравнение PDFы
|
||||||
compare.highlightColor.1=Цвет подсветки 1:
|
compare.highlightColor.1=Highlight Color 1:
|
||||||
compare.highlightColor.2=Цвет подсветки 2:
|
compare.highlightColor.2=Highlight Color 2:
|
||||||
compare.document.1=Документ 1
|
compare.document.1=Документ 1
|
||||||
compare.document.2=Документ 2
|
compare.document.2=Документ 2
|
||||||
compare.submit=Сравнить
|
compare.submit=Сравнить
|
||||||
compare.complex.message=Один или оба предоставленных документа являются большими файлами, что может снизить точность сравнения
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=Один или оба предоставленных документа слишком большие для обработки
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=Выбранные PDF файлы не содержат текстовую информацию. Пожалуйста, выберите PDF файлы с текстом для сравнения.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Книги и комиксы в PDF
|
BookToPDF.title=Книги и комиксы в PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Нарисовать подпись
|
|||||||
sign.text=Ввод текста
|
sign.text=Ввод текста
|
||||||
sign.clear=Очистить
|
sign.clear=Очистить
|
||||||
sign.add=Добавить
|
sign.add=Добавить
|
||||||
sign.saved=Сохраненные подписи
|
sign.saved=Saved Signatures
|
||||||
sign.save=Сохранить подпись
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Личные подписи
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Общие подписи
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Найдено ни одной сохраненной подписи
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -829,7 +825,7 @@ repair.submit=Ремонт
|
|||||||
#flatten
|
#flatten
|
||||||
flatten.title=Сглаживание
|
flatten.title=Сглаживание
|
||||||
flatten.header=Сглаживание PDF ов
|
flatten.header=Сглаживание PDF ов
|
||||||
flatten.flattenOnlyForms=Плоское представление только форм
|
flatten.flattenOnlyForms=Flatten only forms
|
||||||
flatten.submit=Сгладить
|
flatten.submit=Сгладить
|
||||||
|
|
||||||
|
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=Минимальная площадь конту
|
|||||||
ScannerImageSplit.selectText.8=Устанавливает минимальный порог области контура для фотографии
|
ScannerImageSplit.selectText.8=Устанавливает минимальный порог области контура для фотографии
|
||||||
ScannerImageSplit.selectText.9=Размер границы:
|
ScannerImageSplit.selectText.9=Размер границы:
|
||||||
ScannerImageSplit.selectText.10=Устанавливает размер добавляемой и удаляемой границы, чтобы предотвратить появление белых границ на выходе (по умолчанию: 1).
|
ScannerImageSplit.selectText.10=Устанавливает размер добавляемой и удаляемой границы, чтобы предотвратить появление белых границ на выходе (по умолчанию: 1).
|
||||||
ScannerImageSplit.info=Установка Python необходима для выполнения.
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=Обработка PDF с OCR
|
|||||||
extractImages.title=Извлечь изображения
|
extractImages.title=Извлечь изображения
|
||||||
extractImages.header=Извлечь изображения
|
extractImages.header=Извлечь изображения
|
||||||
extractImages.selectText=Выберите формат изображения для преобразования извлеченных изображений в
|
extractImages.selectText=Выберите формат изображения для преобразования извлеченных изображений в
|
||||||
extractImages.allowDuplicates=Сохранить дублирующиеся изображения
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=Извлечь
|
extractImages.submit=Извлечь
|
||||||
|
|
||||||
|
|
||||||
@@ -879,7 +875,7 @@ extractImages.submit=Извлечь
|
|||||||
fileToPDF.title=Файл в PDF
|
fileToPDF.title=Файл в PDF
|
||||||
fileToPDF.header=Конвертировать любой файл в PDF
|
fileToPDF.header=Конвертировать любой файл в PDF
|
||||||
fileToPDF.credit=Этот сервис использует LibreOffice и Unoconv для преобразования файлов.
|
fileToPDF.credit=Этот сервис использует LibreOffice и Unoconv для преобразования файлов.
|
||||||
fileToPDF.supportedFileTypesInfo=Поддерживаемые файловые типы
|
fileToPDF.supportedFileTypesInfo=Supported File types
|
||||||
fileToPDF.supportedFileTypes=Поддерживаемые типы файлов должны включать приведенные ниже, однако полный обновленный список поддерживаемых форматов см. в документации LibreOffice.
|
fileToPDF.supportedFileTypes=Поддерживаемые типы файлов должны включать приведенные ниже, однако полный обновленный список поддерживаемых форматов см. в документации LibreOffice.
|
||||||
fileToPDF.submit=Преобразовать в PDF
|
fileToPDF.submit=Преобразовать в PDF
|
||||||
|
|
||||||
@@ -909,7 +905,7 @@ merge.title=Объединить
|
|||||||
merge.header=Объединение нескольких PDF-файлов (2+)
|
merge.header=Объединение нескольких PDF-файлов (2+)
|
||||||
merge.sortByName=Сортировка по имени
|
merge.sortByName=Сортировка по имени
|
||||||
merge.sortByDate=Сортировка по дате
|
merge.sortByDate=Сортировка по дате
|
||||||
merge.removeCertSign=Удалить цифровую подпись в объединенном файле?
|
merge.removeCertSign=Remove digital signature in the merged file?
|
||||||
merge.submit=Объединить
|
merge.submit=Объединить
|
||||||
|
|
||||||
|
|
||||||
@@ -927,25 +923,14 @@ pdfOrganiser.mode.6=Разделение на чётные и нечётные
|
|||||||
pdfOrganiser.mode.7=Удалить первую
|
pdfOrganiser.mode.7=Удалить первую
|
||||||
pdfOrganiser.mode.8=Удалить последнюю
|
pdfOrganiser.mode.8=Удалить последнюю
|
||||||
pdfOrganiser.mode.9=Удалить первую и последнюю
|
pdfOrganiser.mode.9=Удалить первую и последнюю
|
||||||
pdfOrganiser.mode.10=Нечетное-четное объединение
|
pdfOrganiser.mode.10=Odd-Even Merge
|
||||||
pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1)
|
pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1)
|
||||||
|
|
||||||
|
|
||||||
#multiTool
|
#multiTool
|
||||||
multiTool.title=Мультиинструмент PDF
|
multiTool.title=Мультиинструмент PDF
|
||||||
multiTool.header=Мультиинструмент PDF
|
multiTool.header=Мультиинструмент PDF
|
||||||
multiTool.uploadPrompts=Имя файла
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Просмотреть PDF
|
viewPdf.title=Просмотреть PDF
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=Цвет
|
|||||||
pdfToImage.grey=Оттенки серого
|
pdfToImage.grey=Оттенки серого
|
||||||
pdfToImage.blackwhite=Черно-белый (может потерять данные!)
|
pdfToImage.blackwhite=Черно-белый (может потерять данные!)
|
||||||
pdfToImage.submit=Конвертировать
|
pdfToImage.submit=Конвертировать
|
||||||
pdfToImage.info=Питон не установлен. Необходим для конвертации в WebP.
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1044,7 +1029,7 @@ watermark.selectText.6=heightSpacer (пробел между каждым вод
|
|||||||
watermark.selectText.7=Непрозрачность (0% - 100%):
|
watermark.selectText.7=Непрозрачность (0% - 100%):
|
||||||
watermark.selectText.8=Тип водяного знака:
|
watermark.selectText.8=Тип водяного знака:
|
||||||
watermark.selectText.9=Изображение водяного знака:
|
watermark.selectText.9=Изображение водяного знака:
|
||||||
watermark.selectText.10=Конвертировать PDF в PDF-изображение
|
watermark.selectText.10=Convert PDF to PDF-Image
|
||||||
watermark.submit=Добавить водяной знак
|
watermark.submit=Добавить водяной знак
|
||||||
watermark.type.1=Текст
|
watermark.type.1=Текст
|
||||||
watermark.type.2=Изображение
|
watermark.type.2=Изображение
|
||||||
@@ -1088,7 +1073,7 @@ changeMetadata.keywords=Ключевые слова:
|
|||||||
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
|
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
|
||||||
changeMetadata.producer=Изготовитель:
|
changeMetadata.producer=Изготовитель:
|
||||||
changeMetadata.subject=Тема:
|
changeMetadata.subject=Тема:
|
||||||
changeMetadata.trapped=Закреплено:
|
changeMetadata.trapped=Trapped:
|
||||||
changeMetadata.selectText.4=Другие метаданные:
|
changeMetadata.selectText.4=Другие метаданные:
|
||||||
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
|
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
|
||||||
changeMetadata.submit=Изменить
|
changeMetadata.submit=Изменить
|
||||||
@@ -1099,9 +1084,9 @@ pdfToPDFA.title=PDF в PDF/A
|
|||||||
pdfToPDFA.header=PDF в PDF/A
|
pdfToPDFA.header=PDF в PDF/A
|
||||||
pdfToPDFA.credit=Этот сервис использует ghostscript для преобразования PDF/A
|
pdfToPDFA.credit=Этот сервис использует ghostscript для преобразования PDF/A
|
||||||
pdfToPDFA.submit=Конвертировать
|
pdfToPDFA.submit=Конвертировать
|
||||||
pdfToPDFA.tip=В настоящее время не поддерживается при нескольких входных данных одновременно
|
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||||
pdfToPDFA.outputFormat=Формат вывода
|
pdfToPDFA.outputFormat=Output format
|
||||||
pdfToPDFA.pdfWithDigitalSignature=Этот PDF содержит цифровую подпись. Она будет удалена в следующем шаге.
|
pdfToPDFA.pdfWithDigitalSignature=The PDF contains a digital signature. This will be removed in the next step.
|
||||||
|
|
||||||
|
|
||||||
#PDFToWord
|
#PDFToWord
|
||||||
@@ -1187,11 +1172,11 @@ split-by-sections.merge=Объединить в один PDF
|
|||||||
|
|
||||||
|
|
||||||
#printFile
|
#printFile
|
||||||
printFile.title=Печать файла
|
printFile.title=Print File
|
||||||
printFile.header=Печать файла на принтер
|
printFile.header=Print File to Printer
|
||||||
printFile.selectText.1=Выберите файл для печати
|
printFile.selectText.1=Select File to Print
|
||||||
printFile.selectText.2=Введите имя принтера
|
printFile.selectText.2=Enter Printer Name
|
||||||
printFile.submit=Печать
|
printFile.submit=Print
|
||||||
|
|
||||||
|
|
||||||
#licenses
|
#licenses
|
||||||
@@ -1203,15 +1188,15 @@ licenses.version=Версия
|
|||||||
licenses.license=Лицензия
|
licenses.license=Лицензия
|
||||||
|
|
||||||
#survey
|
#survey
|
||||||
survey.nav=Опрос
|
survey.nav=Survey
|
||||||
survey.title=Опрос Stirling-PDF
|
survey.title=Stirling-PDF Survey
|
||||||
survey.description=Stirling-PDF не имеет трекинга, поэтому мы хотим услышать от пользователей для улучшения Stirling-PDF!
|
survey.description=Stirling-PDF has no tracking so we want to hear from our users to improve Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF изменился с прошлого опроса! Чтобы узнать больше, пожалуйста, проверьте наш пост на блоге здесь:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=С этими изменениями мы получили коммерческую поддержку и финансирование
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Please consider taking our survey!
|
survey.please=Please consider taking our survey!
|
||||||
survey.disabled=(Попап опроса будет отключен в следующих обновлениях, но останется доступен внизу страницы)
|
survey.disabled=(Survey popup will be disabled in following updates but available at foot of page)
|
||||||
survey.button=Пройти опрос
|
survey.button=Take Survey
|
||||||
survey.dontShowAgain=Не показывать снова
|
survey.dontShowAgain=Don't show again
|
||||||
|
|
||||||
|
|
||||||
#error
|
#error
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - Отправить запрос в поддерж
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=Удалить изображение
|
removeImage.title=Remove image
|
||||||
removeImage.header=Удалить изображение
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=Удалить изображение
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=Удалить
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=Разделить PDF по главам
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=Разделить PDF по главам
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=Уровень закладки
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=Включить метаданные
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=Позволять дубликаты
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=Этот инструмент разбивает файл PDF на несколько PDF-файлов на основе структуры его глав.
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=Уровень закладки: выберите уровень закладок, который следует использовать для разделения (0 — самый верхний уровень, 1 — второй уровень и т. д.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Включить метаданные: если эта опция отмечена, метаданные исходного PDF будут включены в каждый разбитый PDF.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Позволять дубликаты: если эта опция отмечена, на одной странице могут быть созданы несколько PDF из-за нескольких одинаковых закладок.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Разделить PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Languages
|
|||||||
navbar.settings=Nastavenia
|
navbar.settings=Nastavenia
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organize
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.convertTo=Convert to PDF
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertFrom=Convert from PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Zobraziť podpis
|
|||||||
certSign.reason=Dôvod
|
certSign.reason=Dôvod
|
||||||
certSign.location=Miesto
|
certSign.location=Miesto
|
||||||
certSign.name=Meno
|
certSign.name=Meno
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Podpísať PDF
|
certSign.submit=Podpísať PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(napr. 1,3,2 alebo 4-8,2,10-12 alebo 2n-1)
|
|||||||
multiTool.title=PDF Multi Nástroj
|
multiTool.title=PDF Multi Nástroj
|
||||||
multiTool.header=PDF Multi Nástroj
|
multiTool.header=PDF Multi Nástroj
|
||||||
multiTool.uploadPrompts=File Name
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Zobraziť PDF
|
viewPdf.title=Zobraziť PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Languages
|
|||||||
navbar.settings=Podešavanja
|
navbar.settings=Podešavanja
|
||||||
navbar.allTools=Tools
|
navbar.allTools=Tools
|
||||||
navbar.multiTool=Multi Tools
|
navbar.multiTool=Multi Tools
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organize
|
navbar.sections.organize=Organize
|
||||||
navbar.sections.convertTo=Convert to PDF
|
navbar.sections.convertTo=Convert to PDF
|
||||||
navbar.sections.convertFrom=Convert from PDF
|
navbar.sections.convertFrom=Convert from PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Prikaži potpis
|
|||||||
certSign.reason=Razlog
|
certSign.reason=Razlog
|
||||||
certSign.location=Lokacija
|
certSign.location=Lokacija
|
||||||
certSign.name=Ime
|
certSign.name=Ime
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Potpiši PDF
|
certSign.submit=Potpiši PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
|||||||
multiTool.title=PDF Multi Alatka
|
multiTool.title=PDF Multi Alatka
|
||||||
multiTool.header=PDF Multi Alatka
|
multiTool.header=PDF Multi Alatka
|
||||||
multiTool.uploadPrompts=File Name
|
multiTool.uploadPrompts=File Name
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Prikaz
|
viewPdf.title=Prikaz
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ font=Teckensnitt
|
|||||||
selectFillter=-- Välj --
|
selectFillter=-- Välj --
|
||||||
pageNum=Sidnummer
|
pageNum=Sidnummer
|
||||||
sizes.small=Liten
|
sizes.small=Liten
|
||||||
sizes.medium=Mellanvärd
|
sizes.medium=Medium
|
||||||
sizes.large=Stor
|
sizes.large=Stor
|
||||||
sizes.x-large=Extra stor
|
sizes.x-large=Extra stor
|
||||||
error.pdfPassword=PDF-dokumentet är lösenordsskyddat och antingen har lösenordet inte angetts eller är felaktigt
|
error.pdfPassword=PDF-dokumentet är lösenordsskyddat och antingen har lösenordet inte angetts eller är felaktigt
|
||||||
@@ -74,20 +74,19 @@ seeDockerHub=Se Docker Hub
|
|||||||
visitGithub=Besök GitHub-repositoriet
|
visitGithub=Besök GitHub-repositoriet
|
||||||
donate=Donera
|
donate=Donera
|
||||||
color=Färg
|
color=Färg
|
||||||
sponsor=Sponsör
|
sponsor=Sponsor
|
||||||
info=Info
|
info=Info
|
||||||
pro=Pro
|
pro=Pro
|
||||||
page=Sidan
|
page=Page
|
||||||
pages=Sidor
|
pages=Pages
|
||||||
loading=Laddar...
|
loading=Loading...
|
||||||
addToDoc=Lägg till i dokument
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Dataprotektionspolicy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Villkor och betingelser
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=Gängeshållbarhet
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=Cockiropfer
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=Riksdagens utskott för teknikfrihet
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -127,11 +126,11 @@ enterpriseEdition.ssoAdvert=Söker du fler funktioner för användarhantering? S
|
|||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=Vill du göra Stirling PDF bättre?
|
analytics.title=Vill du göra Stirling PDF bättre?
|
||||||
analytics.paragraph1=Stirling PDF har inaktiverad analys för att hjälpa oss förbättra produkten. Vi spårar ingen personlig information eller filinnehåll.
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=Var god aktivera analyser för att hjälpa Stirling-PDF att växa och tillåta oss att förstå våra användare bättre.
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=Aktivera analys
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=Avaktivera analys
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=Du kan ändra analysinställningarna i config/settings.yml-filen
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Språk
|
|||||||
navbar.settings=Inställningar
|
navbar.settings=Inställningar
|
||||||
navbar.allTools=Verktyg
|
navbar.allTools=Verktyg
|
||||||
navbar.multiTool=Multiverktyg
|
navbar.multiTool=Multiverktyg
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Organisera
|
navbar.sections.organize=Organisera
|
||||||
navbar.sections.convertTo=Konvertera till PDF
|
navbar.sections.convertTo=Konvertera till PDF
|
||||||
navbar.sections.convertFrom=Konvertera från PDF
|
navbar.sections.convertFrom=Konvertera från PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Filen får inte vara null eller tom
|
|||||||
database.failedImportFile=Misslyckades med att importera fil
|
database.failedImportFile=Misslyckades med att importera fil
|
||||||
|
|
||||||
session.expired=Din session har löpt ut. Uppdatera sidan och försök igen.
|
session.expired=Din session har löpt ut. Uppdatera sidan och försök igen.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -514,22 +511,22 @@ splitPdfByChapters.tags=dela,kapitel,bokmärken,organisera
|
|||||||
|
|
||||||
#replace-invert-color
|
#replace-invert-color
|
||||||
replace-color.title=Replace-Invert-Color
|
replace-color.title=Replace-Invert-Color
|
||||||
replace-color.header=Ersätt-Invertera färg på PDF
|
replace-color.header=Replace-Invert Color PDF
|
||||||
home.replaceColorPdf.title=Replace and Invert Color
|
home.replaceColorPdf.title=Replace and Invert Color
|
||||||
home.replaceColorPdf.desc=Ersätt färg för text och bakgrund i PDF och invertera hela färgen på PDF för att minska filstorlek
|
home.replaceColorPdf.desc=Replace color for text and background in PDF and invert full color of pdf to reduce file size
|
||||||
replaceColorPdf.tags=Ersätt Färg, Sidåtgärder, Bakomliggande, Serversid
|
replaceColorPdf.tags=Replace Color,Page operations,Back end,server side
|
||||||
replace-color.selectText.1=Ersätt eller Invertera färgalternativ
|
replace-color.selectText.1=Replace or Invert color Options
|
||||||
replace-color.selectText.2=Standard (standard höghastighetsfärg)
|
replace-color.selectText.2=Default(Default high contrast colors)
|
||||||
replace-color.selectText.3=Anpassad (anpassade färger)
|
replace-color.selectText.3=Custom(Customized colors)
|
||||||
replace-color.selectText.4=Full-Invertera (invertera alla färger)
|
replace-color.selectText.4=Full-Invert(Invert all colors)
|
||||||
replace-color.selectText.5=Höghastighetsfärgalternativ
|
replace-color.selectText.5=High contrast color options
|
||||||
replace-color.selectText.6=Vit text på svart bakgrund
|
replace-color.selectText.6=white text on black background
|
||||||
replace-color.selectText.7=Svart text på vit bakgrund
|
replace-color.selectText.7=Black text on white background
|
||||||
replace-color.selectText.8=Gul text på svart bakgrund
|
replace-color.selectText.8=Yellow text on black background
|
||||||
replace-color.selectText.9=Grön text på svart bakgrund
|
replace-color.selectText.9=Green text on black background
|
||||||
replace-color.selectText.10=Välj textfärg
|
replace-color.selectText.10=Choose text Color
|
||||||
replace-color.selectText.11=Välj bakgrundsfärg
|
replace-color.selectText.11=Choose background Color
|
||||||
replace-color.submit=Ersätt
|
replace-color.submit=Replace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Visa signatur
|
|||||||
certSign.reason=Anledning
|
certSign.reason=Anledning
|
||||||
certSign.location=Plats
|
certSign.location=Plats
|
||||||
certSign.name=Namn
|
certSign.name=Namn
|
||||||
certSign.showLogo=Visa logo
|
|
||||||
certSign.submit=Signera PDF
|
certSign.submit=Signera PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=Markeringsfärg 2:
|
|||||||
compare.document.1=Dokument 1
|
compare.document.1=Dokument 1
|
||||||
compare.document.2=Dokument 2
|
compare.document.2=Dokument 2
|
||||||
compare.submit=Jämför
|
compare.submit=Jämför
|
||||||
compare.complex.message=En eller båda de angivna dokumenten är stora filer, jämförelsepräzissen kan minska.
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=En eller båda de angivna dokumenten är för stora att bearbeta
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=En eller båda de valda PDF:erna innehåller ingen textinnehåll. Välj PDF:er med text för jämförelse.
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=Böcker och serier till PDF
|
BookToPDF.title=Böcker och serier till PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=Rita signatur
|
|||||||
sign.text=Textinmatning
|
sign.text=Textinmatning
|
||||||
sign.clear=Rensa
|
sign.clear=Rensa
|
||||||
sign.add=Lägg till
|
sign.add=Lägg till
|
||||||
sign.saved=Sparade signaturer
|
sign.saved=Saved Signatures
|
||||||
sign.save=Spara signatur
|
sign.save=Save Signature
|
||||||
sign.personalSigs=Personliga signaturer
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=Delade signaturer
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=Inga sparade signaturer hittades
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(t.ex. 1,3,2 eller 4-8,2,10-12 eller 2n-1)
|
|||||||
multiTool.title=PDF-multiverktyg
|
multiTool.title=PDF-multiverktyg
|
||||||
multiTool.header=PDF Multi-verktyg
|
multiTool.header=PDF Multi-verktyg
|
||||||
multiTool.uploadPrompts=Filnamn
|
multiTool.uploadPrompts=Filnamn
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Visa PDF
|
viewPdf.title=Visa PDF
|
||||||
@@ -1038,7 +1023,7 @@ watermark.header=Lägg till vattenstämpel
|
|||||||
watermark.selectText.1=Välj PDF för att lägga till vattenstämpel till:
|
watermark.selectText.1=Välj PDF för att lägga till vattenstämpel till:
|
||||||
watermark.selectText.2=Vattenmärkestext:
|
watermark.selectText.2=Vattenmärkestext:
|
||||||
watermark.selectText.3=Teckenstorlek:
|
watermark.selectText.3=Teckenstorlek:
|
||||||
watermark.selectText.4=Vändning (0-360):
|
watermark.selectText.4=Rotation (0-360):
|
||||||
watermark.selectText.5=widthSpacer (mellanrum mellan varje vattenstämpel horisontellt):
|
watermark.selectText.5=widthSpacer (mellanrum mellan varje vattenstämpel horisontellt):
|
||||||
watermark.selectText.6=heightSpacer (mellanrum mellan varje vattenstämpel vertikalt):
|
watermark.selectText.6=heightSpacer (mellanrum mellan varje vattenstämpel vertikalt):
|
||||||
watermark.selectText.7=Opacitet (0% - 100%):
|
watermark.selectText.7=Opacitet (0% - 100%):
|
||||||
@@ -1207,7 +1192,7 @@ survey.nav=Undersökning
|
|||||||
survey.title=Stirling-PDF-undersökning
|
survey.title=Stirling-PDF-undersökning
|
||||||
survey.description=Stirling-PDF har ingen spårning så vi vill höra från våra användare för att förbättra Stirling-PDF!
|
survey.description=Stirling-PDF har ingen spårning så vi vill höra från våra användare för att förbättra Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF har ändrats sedan den senaste undersökningen. Lär dig mer på vår blogg här:
|
survey.changes=Stirling-PDF har ändrats sedan den senaste undersökningen. Lär dig mer på vår blogg här:
|
||||||
survey.changes2=Med dessa ändringar fås betalat företagsstöd och finansiering
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=Vänligen överväg att delta i vår undersökning!
|
survey.please=Vänligen överväg att delta i vår undersökning!
|
||||||
survey.disabled=(Undersökningspopup kommer att inaktiveras i kommande uppdateringar men finns tillgänglig längst ner på sidan)
|
survey.disabled=(Undersökningspopup kommer att inaktiveras i kommande uppdateringar men finns tillgänglig längst ner på sidan)
|
||||||
survey.button=Delta i undersökningen
|
survey.button=Delta i undersökningen
|
||||||
@@ -1241,7 +1226,7 @@ splitByChapters.bookmarkLevel=Bokmärkesnivå
|
|||||||
splitByChapters.includeMetadata=Inkludera Metadata
|
splitByChapters.includeMetadata=Inkludera Metadata
|
||||||
splitByChapters.allowDuplicates=Tillåt Dubletter
|
splitByChapters.allowDuplicates=Tillåt Dubletter
|
||||||
splitByChapters.desc.1=Detta verktyg delar upp en PDF till flera PDFer baserat på dess kapitelstruktur.
|
splitByChapters.desc.1=Detta verktyg delar upp en PDF till flera PDFer baserat på dess kapitelstruktur.
|
||||||
splitByChapters.desc.2=Bokmärkesnivå: Välj nivån av bokmärken att använda för delning (0 för toppnivå, 1 för andra nivå, m.m.).
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=Tillåt duplicieringar: Om kryssrutan är markerad tillåts flera bokmärken på samma sida skapa individuella PDF:er.
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=Dela upp PDF
|
splitByChapters.submit=Dela upp PDF
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
###########
|
###########
|
||||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||||
language.direction=ltr
|
language.direction=ltr
|
||||||
addPageNumbers.fontSize=ขนาดตัวอักษร
|
addPageNumbers.fontSize=Font Size
|
||||||
addPageNumbers.fontName=ชื่อฟอนต์
|
addPageNumbers.fontName=Font Name
|
||||||
pdfPrompt=เลือก PDF
|
pdfPrompt=เลือก PDF
|
||||||
multiPdfPrompt=เลือก PDF หลายไฟล์ (2 ขึ้นไป)
|
multiPdfPrompt=เลือก PDF หลายไฟล์ (2 ขึ้นไป)
|
||||||
multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ
|
multiPdfDropPrompt=เลือก (หรือลากและวาง) PDF ทั้งหมดที่คุณต้องการ
|
||||||
@@ -56,12 +56,12 @@ userNotFoundMessage=ไม่พบผู้ใช้
|
|||||||
incorrectPasswordMessage=รหัสผ่านปัจจุบันไม่ถูกต้อง
|
incorrectPasswordMessage=รหัสผ่านปัจจุบันไม่ถูกต้อง
|
||||||
usernameExistsMessage=ชื่อผู้ใช้ใหม่มีอยู่แล้ว
|
usernameExistsMessage=ชื่อผู้ใช้ใหม่มีอยู่แล้ว
|
||||||
invalidUsernameMessage=ชื่อผู้ใช้ไม่ถูกต้อง ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
|
invalidUsernameMessage=ชื่อผู้ใช้ไม่ถูกต้อง ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
|
||||||
invalidPasswordMessage=รหัสผ่านไม่ควรว่าง และไม่ควรมีพื้นที่ว่างที่ขอบของข้อความ
|
invalidPasswordMessage=The password must not be empty and must not have spaces at the beginning or end.
|
||||||
confirmPasswordErrorMessage=รหัสผ่านใหม่และยืนยันรหัสผ่านใหม่ต้องตรงกัน
|
confirmPasswordErrorMessage=รหัสผ่านใหม่และยืนยันรหัสผ่านใหม่ต้องตรงกัน
|
||||||
deleteCurrentUserMessage=ไม่สามารถลบผู้ใช้ที่เข้าสู่ระบบในปัจจุบันได้
|
deleteCurrentUserMessage=ไม่สามารถลบผู้ใช้ที่เข้าสู่ระบบในปัจจุบันได้
|
||||||
deleteUsernameExistsMessage=ชื่อผู้ใช้ไม่ปรากฏและไม่สามารถลบได้
|
deleteUsernameExistsMessage=ชื่อผู้ใช้ไม่ปรากฏและไม่สามารถลบได้
|
||||||
downgradeCurrentUserMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้
|
downgradeCurrentUserMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้
|
||||||
disabledCurrentUserMessage=ผู้ใช้งานปัจจุบันไม่สามารถปิดการใช้งานได้
|
disabledCurrentUserMessage=The current user cannot be disabled
|
||||||
downgradeCurrentUserLongMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้ ดังนั้นผู้ใช้ปัจจุบันจะไม่ปรากฏ
|
downgradeCurrentUserLongMessage=ไม่สามารถลดระดับบทบาทของผู้ใช้ปัจจุบันได้ ดังนั้นผู้ใช้ปัจจุบันจะไม่ปรากฏ
|
||||||
userAlreadyExistsOAuthMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้ OAuth2
|
userAlreadyExistsOAuthMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้ OAuth2
|
||||||
userAlreadyExistsWebMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้เว็บ
|
userAlreadyExistsWebMessage=ผู้ใช้มีอยู่แล้วในฐานะผู้ใช้เว็บ
|
||||||
@@ -76,18 +76,17 @@ donate=บริจาค
|
|||||||
color=สี
|
color=สี
|
||||||
sponsor=ผู้สนับสนุน
|
sponsor=ผู้สนับสนุน
|
||||||
info=ข้อมูล
|
info=ข้อมูล
|
||||||
pro=โปร
|
pro=Pro
|
||||||
page=หน้า
|
page=Page
|
||||||
pages=หน้า
|
pages=Pages
|
||||||
loading=กำลังโหลด...
|
loading=Loading...
|
||||||
addToDoc=เพิ่มเข้าสู่เอกสาร
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=นโยบายความเป็นส่วนตัว
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=ข้อกำหนดการใช้งาน
|
legal.terms=Terms and Conditions
|
||||||
legal.accessibility=ความเข้าถึง
|
legal.accessibility=Accessibility
|
||||||
legal.cookie=นโยบายคุกกี้
|
legal.cookie=Cookie Policy
|
||||||
legal.impressum=ปฏิญญา
|
legal.impressum=Impressum
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Pipeline #
|
# Pipeline #
|
||||||
@@ -117,8 +116,8 @@ pipelineOptions.validateButton=ตรวจสอบความถูกต้
|
|||||||
########################
|
########################
|
||||||
# ENTERPRISE EDITION #
|
# ENTERPRISE EDITION #
|
||||||
########################
|
########################
|
||||||
enterpriseEdition.button=อัปเกรดเป็นโปร
|
enterpriseEdition.button=Upgrade to Pro
|
||||||
enterpriseEdition.warning=ฟีเจอร์นี้มีให้ใช้งานเฉพาะผู้ใช้ที่เป็นโปรเท่านั้น
|
enterpriseEdition.warning=This feature is only available to Pro users.
|
||||||
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
enterpriseEdition.yamlAdvert=Stirling PDF Pro supports YAML configuration files and other SSO features.
|
||||||
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
enterpriseEdition.ssoAdvert=Looking for more user management features? Check out Stirling PDF Pro
|
||||||
|
|
||||||
@@ -126,12 +125,12 @@ enterpriseEdition.ssoAdvert=Looking for more user management features? Check out
|
|||||||
#################
|
#################
|
||||||
# Analytics #
|
# Analytics #
|
||||||
#################
|
#################
|
||||||
analytics.title=คุณต้องการที่จะทำให้ Stirling PDF ดียิ่งขึ้นไหม?
|
analytics.title=Do you want make Stirling PDF better?
|
||||||
analytics.paragraph1=Stirling PDF มีการวิเคราะห์แบบสมัครใจเพื่อช่วยเราปรับปรุงผลิตภัณฑ์ เราไม่นำทางความเป็นส่วนตัวหรือเนื้อหาของไฟล์ไปเก็บข้อมูลใด ๆ
|
analytics.paragraph1=Stirling PDF has opt in analytics to help us improve the product. We do not track any personal information or file contents.
|
||||||
analytics.paragraph2=โปรดพิจารณาการเปิดใช้งานการวิเคราะห์เพื่อช่วยให้ Stirling-PDF เจริญเติบโตและทำให้เราเข้าใจผู้ใช้งานมากขึ้น
|
analytics.paragraph2=Please consider enabling analytics to help Stirling-PDF grow and to allow us to understand our users better.
|
||||||
analytics.enable=เปิดการวิเคราะห์
|
analytics.enable=Enable analytics
|
||||||
analytics.disable=ปิดการวิเคราะห์
|
analytics.disable=Disable analytics
|
||||||
analytics.settings=คุณสามารถเปลี่ยนแปลงการตั้งค่าการวิเคราะห์ในไฟล์ config/settings.yml
|
analytics.settings=You can change the settings for analytics in the config/settings.yml file
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# NAVBAR #
|
# NAVBAR #
|
||||||
@@ -142,14 +141,13 @@ navbar.language=ภาษา
|
|||||||
navbar.settings=การตั้งค่า
|
navbar.settings=การตั้งค่า
|
||||||
navbar.allTools=เครื่องมือทั้งหมด
|
navbar.allTools=เครื่องมือทั้งหมด
|
||||||
navbar.multiTool=เครื่องมือหลายตัว
|
navbar.multiTool=เครื่องมือหลายตัว
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=จัดระเบียบ
|
navbar.sections.organize=จัดระเบียบ
|
||||||
navbar.sections.convertTo=แปลงเป็น PDF
|
navbar.sections.convertTo=แปลงเป็น PDF
|
||||||
navbar.sections.convertFrom=แปลงจาก PDF
|
navbar.sections.convertFrom=แปลงจาก PDF
|
||||||
navbar.sections.security=ลงนามและความปลอดภัย
|
navbar.sections.security=ลงนามและความปลอดภัย
|
||||||
navbar.sections.advance=ขั้นสูง
|
navbar.sections.advance=ขั้นสูง
|
||||||
navbar.sections.edit=ดูและแก้ไข
|
navbar.sections.edit=ดูและแก้ไข
|
||||||
navbar.sections.popular=ยอดนิยม
|
navbar.sections.popular=Popular
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# SETTINGS #
|
# SETTINGS #
|
||||||
@@ -208,7 +206,7 @@ adminUserSettings.user=ผู้ใช้
|
|||||||
adminUserSettings.addUser=เพิ่มผู้ใช้ใหม่
|
adminUserSettings.addUser=เพิ่มผู้ใช้ใหม่
|
||||||
adminUserSettings.deleteUser=ลบผู้ใช้
|
adminUserSettings.deleteUser=ลบผู้ใช้
|
||||||
adminUserSettings.confirmDeleteUser=ควรลบผู้ใช้นี้หรือไม่?
|
adminUserSettings.confirmDeleteUser=ควรลบผู้ใช้นี้หรือไม่?
|
||||||
adminUserSettings.confirmChangeUserStatus=ผู้ใช้นี้ควรถูกปิด/เปิดใช้งานหรือไม่?
|
adminUserSettings.confirmChangeUserStatus=Should the user be disabled/enabled?
|
||||||
adminUserSettings.usernameInfo=ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
|
adminUserSettings.usernameInfo=ชื่อผู้ใช้สามารถประกอบด้วยตัวอักษร ตัวเลข และอักขระพิเศษต่อไปนี้ @._+- หรือจะต้องเป็นที่อยู่อีเมลที่ถูกต้อง
|
||||||
adminUserSettings.roles=บทบาท
|
adminUserSettings.roles=บทบาท
|
||||||
adminUserSettings.role=บทบาท
|
adminUserSettings.role=บทบาท
|
||||||
@@ -222,13 +220,13 @@ adminUserSettings.forceChange=บังคับให้ผู้ใช้เ
|
|||||||
adminUserSettings.submit=บันทึกผู้ใช้
|
adminUserSettings.submit=บันทึกผู้ใช้
|
||||||
adminUserSettings.changeUserRole=เปลี่ยนบทบาทของผู้ใช้
|
adminUserSettings.changeUserRole=เปลี่ยนบทบาทของผู้ใช้
|
||||||
adminUserSettings.authenticated=ได้รับการยืนยันแล้ว
|
adminUserSettings.authenticated=ได้รับการยืนยันแล้ว
|
||||||
adminUserSettings.editOwnProfil=แก้ไขโปรไฟล์ของตัวเอง
|
adminUserSettings.editOwnProfil=Edit own profile
|
||||||
adminUserSettings.enabledUser=ผู้ใช้ที่เปิดใช้งาน
|
adminUserSettings.enabledUser=enabled user
|
||||||
adminUserSettings.disabledUser=ผู้ใช้ที่ปิดใช้งาน
|
adminUserSettings.disabledUser=disabled user
|
||||||
adminUserSettings.activeUsers=ผู้ใช้ที่มีการใช้งาน:
|
adminUserSettings.activeUsers=Active Users:
|
||||||
adminUserSettings.disabledUsers=ผู้ใช้ที่ถูกระงับการใช้งาน:
|
adminUserSettings.disabledUsers=Disabled Users:
|
||||||
adminUserSettings.totalUsers=ผู้ใช้รวมทั้งหมด:
|
adminUserSettings.totalUsers=Total Users:
|
||||||
adminUserSettings.lastRequest=การขอข้อมูลล่าสุด
|
adminUserSettings.lastRequest=Last Request
|
||||||
|
|
||||||
|
|
||||||
database.title=การนำเข้า/ส่งออกฐานข้อมูล
|
database.title=การนำเข้า/ส่งออกฐานข้อมูล
|
||||||
@@ -247,8 +245,7 @@ database.fileNotFound=ไม่พบไฟล์
|
|||||||
database.fileNullOrEmpty=ไฟล์ต้องไม่ว่างเปล่าหรือไม่มีข้อมูล
|
database.fileNullOrEmpty=ไฟล์ต้องไม่ว่างเปล่าหรือไม่มีข้อมูล
|
||||||
database.failedImportFile=การนำเข้าไฟล์ล้มเหลว
|
database.failedImportFile=การนำเข้าไฟล์ล้มเหลว
|
||||||
|
|
||||||
session.expired=สถานะของคุณในระบบหมดอายุ กรุณารีเฟรชหน้าและลองใหม่อีกครั้ง
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -407,7 +404,7 @@ home.scalePages.title=ปรับขนาด/สเกลหน้า
|
|||||||
home.scalePages.desc=เปลี่ยนขนาด/สเกลของหน้าและ/หรือเนื้อหาของมัน
|
home.scalePages.desc=เปลี่ยนขนาด/สเกลของหน้าและ/หรือเนื้อหาของมัน
|
||||||
scalePages.tags=ปรับขนาด, แก้ไข, มิติ, ปรับ
|
scalePages.tags=ปรับขนาด, แก้ไข, มิติ, ปรับ
|
||||||
|
|
||||||
home.pipeline.title=ทิศทางงาน
|
home.pipeline.title=Pipeline
|
||||||
home.pipeline.desc=เรียกใช้งานหลายการกระทำใน PDF โดยกำหนดสคริปต์ pipeline
|
home.pipeline.desc=เรียกใช้งานหลายการกระทำใน PDF โดยกำหนดสคริปต์ pipeline
|
||||||
pipeline.tags=อัตโนมัติ, ลำดับ, สคริปต์, ประมวลผลแบทช์
|
pipeline.tags=อัตโนมัติ, ลำดับ, สคริปต์, ประมวลผลแบทช์
|
||||||
|
|
||||||
@@ -503,8 +500,8 @@ home.BookToPDF.title=หนังสือเป็น PDF
|
|||||||
home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre
|
home.BookToPDF.desc=แปลงรูปแบบหนังสือ/การ์ตูนเป็น PDF โดยใช้ Calibre
|
||||||
BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle
|
BookToPDF.tags=หนังสือ, การ์ตูน, Calibre, แปลง, มังงะ, amazon, kindle
|
||||||
|
|
||||||
home.removeImagePdf.title=ลบภาพออกจาก PDF
|
home.removeImagePdf.title=Remove image
|
||||||
home.removeImagePdf.desc=ลบภาพออกจาก PDF เพื่อลดขนาดไฟล์
|
home.removeImagePdf.desc=Remove image from PDF to reduce file size
|
||||||
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
removeImagePdf.tags=Remove Image,Page operations,Back end,server side
|
||||||
|
|
||||||
|
|
||||||
@@ -555,10 +552,10 @@ login.oauth2invalidRequest=คำขอไม่ถูกต้อง
|
|||||||
login.oauth2AccessDenied=การเข้าถึงถูกปฏิเสธ
|
login.oauth2AccessDenied=การเข้าถึงถูกปฏิเสธ
|
||||||
login.oauth2InvalidTokenResponse=การตอบกลับโทเค็นไม่ถูกต้อง
|
login.oauth2InvalidTokenResponse=การตอบกลับโทเค็นไม่ถูกต้อง
|
||||||
login.oauth2InvalidIdToken=โทเค็น Id ไม่ถูกต้อง
|
login.oauth2InvalidIdToken=โทเค็น Id ไม่ถูกต้อง
|
||||||
login.userIsDisabled=ผู้ใช้งานถูกระงับการใช้งาน ไม่สามารถเข้าสู่ระบบด้วยชื่อผู้ใช้นี้ได้ กรุณาติดต่อผู้ดูแลระบบ
|
login.userIsDisabled=User is deactivated, login is currently blocked with this username. Please contact the administrator.
|
||||||
login.alreadyLoggedIn=คุณได้เข้าสู่ระบบใน
|
login.alreadyLoggedIn=You are already logged in to
|
||||||
login.alreadyLoggedIn2=อุปกรณ์แล้ว กรุณาออกจากระบบจากอุปกรณ์ที่ใช้งานอยู่แล้ว จากนั้นลองใหม่อีกครั้ง
|
login.alreadyLoggedIn2=devices. Please log out of the devices and try again.
|
||||||
login.toManySessions=คุณมีการเข้าสู่ระบบพร้อมกันเกินกว่ากำหนด
|
login.toManySessions=You have too many active sessions
|
||||||
|
|
||||||
#auto-redact
|
#auto-redact
|
||||||
autoRedact.title=ซ่อนข้อมูลอัตโนมัติ
|
autoRedact.title=ซ่อนข้อมูลอัตโนมัติ
|
||||||
@@ -718,7 +715,7 @@ autoSplitPDF.submit=ส่ง
|
|||||||
|
|
||||||
|
|
||||||
#pipeline
|
#pipeline
|
||||||
pipeline.title=พิ้พลne
|
pipeline.title=Pipeline
|
||||||
|
|
||||||
|
|
||||||
#pageLayout
|
#pageLayout
|
||||||
@@ -733,7 +730,7 @@ pageLayout.submit=ส่ง
|
|||||||
scalePages.title=ปรับสเกลหน้า
|
scalePages.title=ปรับสเกลหน้า
|
||||||
scalePages.header=ปรับสเกลหน้า
|
scalePages.header=ปรับสเกลหน้า
|
||||||
scalePages.pageSize=ขนาดหน้าของเอกสาร
|
scalePages.pageSize=ขนาดหน้าของเอกสาร
|
||||||
scalePages.keepPageSize=ขนาดต้นฉบับ
|
scalePages.keepPageSize=Original Size
|
||||||
scalePages.scaleFactor=ระดับการซูม (ครอบตัด) ของหน้า
|
scalePages.scaleFactor=ระดับการซูม (ครอบตัด) ของหน้า
|
||||||
scalePages.submit=ส่ง
|
scalePages.submit=ส่ง
|
||||||
|
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=แสดงลายเซ็น
|
|||||||
certSign.reason=เหตุผล
|
certSign.reason=เหตุผล
|
||||||
certSign.location=ตำแหน่ง
|
certSign.location=ตำแหน่ง
|
||||||
certSign.name=ชื่อ
|
certSign.name=ชื่อ
|
||||||
certSign.showLogo=แสดงโลโก้
|
|
||||||
certSign.submit=เซ็นชื่อ PDF
|
certSign.submit=เซ็นชื่อ PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=สีเน้น 2:
|
|||||||
compare.document.1=เอกสาร 1
|
compare.document.1=เอกสาร 1
|
||||||
compare.document.2=เอกสาร 2
|
compare.document.2=เอกสาร 2
|
||||||
compare.submit=เปรียบเทียบ
|
compare.submit=เปรียบเทียบ
|
||||||
compare.complex.message=หนึ่งหรือทั้งสองเอกสารที่ให้มายอมเป็นไฟล์ใหญ่ ความถูกต้องของการเปรียบเทียบอาจลดลง
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=หนึ่งหรือทั้งสองเอกสารที่ให้มามีขนาดใหญ่มาก ไม่สามารถประมวลผลได้
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=หนึ่งหรือทั้งสองเอกสาร PDF ที่เลือกไม่มีเนื้อหาข้อความ กรุณาเลือกเอกสาร PDF ที่มีข้อความสำหรับการเปรียบเทียบ
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=หนังสือและการ์ตูนเป็น PDF
|
BookToPDF.title=หนังสือและการ์ตูนเป็น PDF
|
||||||
@@ -813,11 +809,11 @@ sign.draw=วาดลายเซ็น
|
|||||||
sign.text=ป้อนข้อความ
|
sign.text=ป้อนข้อความ
|
||||||
sign.clear=ล้าง
|
sign.clear=ล้าง
|
||||||
sign.add=เพิ่ม
|
sign.add=เพิ่ม
|
||||||
sign.saved=ลายเซ็นที่บันทึกไว้
|
sign.saved=Saved Signatures
|
||||||
sign.save=บันทึกลายเซ็น
|
sign.save=Save Signature
|
||||||
sign.personalSigs=ลายเซ็นส่วนตัว
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=ลายเซ็นร่วม
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=ไม่พบลายเซ็นที่บันทึกไว้
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -844,7 +840,7 @@ ScannerImageSplit.selectText.7=พื้นที่เค้าโครงข
|
|||||||
ScannerImageSplit.selectText.8=ตั้งค่าเกณฑ์พื้นที่เค้าโครงขั้นต่ำสำหรับรูปภาพ
|
ScannerImageSplit.selectText.8=ตั้งค่าเกณฑ์พื้นที่เค้าโครงขั้นต่ำสำหรับรูปภาพ
|
||||||
ScannerImageSplit.selectText.9=ขนาดขอบ:
|
ScannerImageSplit.selectText.9=ขนาดขอบ:
|
||||||
ScannerImageSplit.selectText.10=ตั้งค่าขนาดขอบที่เพิ่มและลบเพื่อป้องกันขอบขาวในผลลัพธ์ (ค่าเริ่มต้น: 1)
|
ScannerImageSplit.selectText.10=ตั้งค่าขนาดขอบที่เพิ่มและลบเพื่อป้องกันขอบขาวในผลลัพธ์ (ค่าเริ่มต้น: 1)
|
||||||
ScannerImageSplit.info=Python ไม่มีการติดตั้ง กรุณาติดตั้งเพื่อใช้งาน
|
ScannerImageSplit.info=Python is not installed. It is required to run.
|
||||||
|
|
||||||
|
|
||||||
#OCR
|
#OCR
|
||||||
@@ -871,7 +867,7 @@ ocr.submit=ประมวลผล PDF ด้วย OCR
|
|||||||
extractImages.title=แยกรูปภาพ
|
extractImages.title=แยกรูปภาพ
|
||||||
extractImages.header=แยกรูปภาพ
|
extractImages.header=แยกรูปภาพ
|
||||||
extractImages.selectText=เลือกรูปแบบภาพที่จะใช้ในการแปลงรูปภาพที่แยกได้
|
extractImages.selectText=เลือกรูปแบบภาพที่จะใช้ในการแปลงรูปภาพที่แยกได้
|
||||||
extractImages.allowDuplicates=บันทึกลายซ้ำ
|
extractImages.allowDuplicates=Save duplicate images
|
||||||
extractImages.submit=แยก
|
extractImages.submit=แยก
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(เช่น 1,3,2 หรือ 4-8,2,10-12 หรื
|
|||||||
multiTool.title=เครื่องมือ PDF หลายตัว
|
multiTool.title=เครื่องมือ PDF หลายตัว
|
||||||
multiTool.header=เครื่องมือ PDF หลายตัว
|
multiTool.header=เครื่องมือ PDF หลายตัว
|
||||||
multiTool.uploadPrompts=ชื่อไฟล์
|
multiTool.uploadPrompts=ชื่อไฟล์
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=ดู PDF
|
viewPdf.title=ดู PDF
|
||||||
@@ -1007,7 +992,7 @@ pdfToImage.color=สี
|
|||||||
pdfToImage.grey=ระดับสีเทา
|
pdfToImage.grey=ระดับสีเทา
|
||||||
pdfToImage.blackwhite=ขาวดำ (อาจสูญเสียข้อมูล!)
|
pdfToImage.blackwhite=ขาวดำ (อาจสูญเสียข้อมูล!)
|
||||||
pdfToImage.submit=แปลง
|
pdfToImage.submit=แปลง
|
||||||
pdfToImage.info=Python ไม่มีการติดตั้ง จำเป็นสำหรับการแปลง WebP
|
pdfToImage.info=Python is not installed. Required for WebP conversion.
|
||||||
|
|
||||||
|
|
||||||
#addPassword
|
#addPassword
|
||||||
@@ -1206,8 +1191,8 @@ licenses.license=ใบอนุญาต
|
|||||||
survey.nav=สำรวจ
|
survey.nav=สำรวจ
|
||||||
survey.title=สำรวจ Stirling-PDF
|
survey.title=สำรวจ Stirling-PDF
|
||||||
survey.description=Stirling-PDF ไม่มีการติดตาม ดังนั้นเราต้องการฟังความคิดเห็นจากผู้ใช้เพื่อปรับปรุง Stirling-PDF!
|
survey.description=Stirling-PDF ไม่มีการติดตาม ดังนั้นเราต้องการฟังความคิดเห็นจากผู้ใช้เพื่อปรับปรุง Stirling-PDF!
|
||||||
survey.changes=Stirling-PDF ได้มีการเปลี่ยนแปลงตั้งแต่การสำรวจครั้งล่าสุด! กรุณาตรวจสอบบล็อกของเราที่นี้เพื่อรับข้อมูลเพิ่มเติม:
|
survey.changes=Stirling-PDF has changed since the last survey! To find out more please check our blog post here:
|
||||||
survey.changes2=ด้วยการเปลี่ยนแปลงเหล่านี้เราได้รับการสนับสนุนทางธุรกิจและการเงินจากผู้ประกอบการ
|
survey.changes2=With these changes we are getting paid business support and funding
|
||||||
survey.please=กรุณาพิจารณาการสำรวจของเรา!
|
survey.please=กรุณาพิจารณาการสำรวจของเรา!
|
||||||
survey.disabled=(ป๊อปอัปการสำรวจจะถูกปิดใช้งานในการอัปเดตต่อไปนี้ แต่สามารถใช้ได้ที่ส่วนท้ายของหน้า)
|
survey.disabled=(ป๊อปอัปการสำรวจจะถูกปิดใช้งานในการอัปเดตต่อไปนี้ แต่สามารถใช้ได้ที่ส่วนท้ายของหน้า)
|
||||||
survey.button=เริ่มสำรวจ
|
survey.button=เริ่มสำรวจ
|
||||||
@@ -1229,19 +1214,19 @@ error.discordSubmit=Discord - ส่งโพสต์การสนับส
|
|||||||
|
|
||||||
|
|
||||||
#remove-image
|
#remove-image
|
||||||
removeImage.title=ลบภาพ
|
removeImage.title=Remove image
|
||||||
removeImage.header=ลบภาพ
|
removeImage.header=Remove image
|
||||||
removeImage.removeImage=ลบภาพ
|
removeImage.removeImage=Remove image
|
||||||
removeImage.submit=ยืนยันการลบภาพ
|
removeImage.submit=Remove image
|
||||||
|
|
||||||
|
|
||||||
splitByChapters.title=แบ่งไฟล์ PDF ตามหมวดหมู่
|
splitByChapters.title=Split PDF by Chapters
|
||||||
splitByChapters.header=แบ่งไฟล์ PDF ตามหมวดหมู่
|
splitByChapters.header=Split PDF by Chapters
|
||||||
splitByChapters.bookmarkLevel=ระดับบุคคลที่ได้รับเลือก
|
splitByChapters.bookmarkLevel=Bookmark Level
|
||||||
splitByChapters.includeMetadata=รวมข้อมูลเสริม
|
splitByChapters.includeMetadata=Include Metadata
|
||||||
splitByChapters.allowDuplicates=อนุญาตให้มีการซ้ำ
|
splitByChapters.allowDuplicates=Allow Duplicates
|
||||||
splitByChapters.desc.1=เครื่องมือนี้จะแบ่งไฟล์ PDF ออกเป็นหลายไฟล์ PDF ตามโครงสร้างหมวดหมู่ของไฟล์นั้นๆ
|
splitByChapters.desc.1=This tool splits a PDF file into multiple PDFs based on its chapter structure.
|
||||||
splitByChapters.desc.2=ระดับบุคคลที่ได้รับเลือก: เลือกระดับบุคคลที่ได้รับเลือกที่จะใช้ในการแบ่ง (0 สำหรับระดับต้น, 1 สำหรับระดับที่สอง เป็นต้น)
|
splitByChapters.desc.2=Bookmark Level: Choose the level of bookmarks to use for splitting (0 for top-level, 1 for second-level, etc.).
|
||||||
splitByChapters.desc.3=รวมข้อมูลเสริม: หากถูกเลือก ข้อมูลเสริมของไฟล์ PDF ที่เดิมจะถูกรวมอยู่ในแต่ละไฟล์ที่แบ่งออก
|
splitByChapters.desc.3=Include Metadata: If checked, the original PDF's metadata will be included in each split PDF.
|
||||||
splitByChapters.desc.4=อนุญาตให้มีการซ้ำ: หากถูกเลือก จะทำให้สามารถสร้างไฟล์ PDF แยกออกมาจากหน้าเดียวกันได้หลายรายการ
|
splitByChapters.desc.4=Allow Duplicates: If checked, allows multiple bookmarks on the same page to create separate PDFs.
|
||||||
splitByChapters.submit=แบ่งไฟล์ PDF
|
splitByChapters.submit=Split PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Gizlilik Politikası
|
legal.privacy=Gizlilik Politikası
|
||||||
legal.terms=Şartlar ve koşullar
|
legal.terms=Şartlar ve koşullar
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Diller
|
|||||||
navbar.settings=Ayarlar
|
navbar.settings=Ayarlar
|
||||||
navbar.allTools=Araçlar
|
navbar.allTools=Araçlar
|
||||||
navbar.multiTool=Çoklu Araçlar
|
navbar.multiTool=Çoklu Araçlar
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Düzenle
|
navbar.sections.organize=Düzenle
|
||||||
navbar.sections.convertTo=PDF'ye dönüştür
|
navbar.sections.convertTo=PDF'ye dönüştür
|
||||||
navbar.sections.convertFrom=PDF'den dönüştür
|
navbar.sections.convertFrom=PDF'den dönüştür
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Dosya yok veya boş olmamalıdır
|
|||||||
database.failedImportFile=Dosya İçe Aktarılamadı
|
database.failedImportFile=Dosya İçe Aktarılamadı
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=İmzayı Göster
|
|||||||
certSign.reason=Neden
|
certSign.reason=Neden
|
||||||
certSign.location=Konum
|
certSign.location=Konum
|
||||||
certSign.name=İsim
|
certSign.name=İsim
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=PDF'i İmzala
|
certSign.submit=PDF'i İmzala
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(örn. 1,3,2 veya 4-8,2,10-12 veya 2n-1)
|
|||||||
multiTool.title=PDF Çoklu Araç
|
multiTool.title=PDF Çoklu Araç
|
||||||
multiTool.header=PDF Çoklu Araç
|
multiTool.header=PDF Çoklu Araç
|
||||||
multiTool.uploadPrompts=Dosya Adı
|
multiTool.uploadPrompts=Dosya Adı
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=PDF Görüntüle
|
viewPdf.title=PDF Görüntüle
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Мови
|
|||||||
navbar.settings=Налаштування
|
navbar.settings=Налаштування
|
||||||
navbar.allTools=Інструменти
|
navbar.allTools=Інструменти
|
||||||
navbar.multiTool=Мультіінструмент
|
navbar.multiTool=Мультіінструмент
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Організувати
|
navbar.sections.organize=Організувати
|
||||||
navbar.sections.convertTo=Конвертувати в PDF
|
navbar.sections.convertTo=Конвертувати в PDF
|
||||||
navbar.sections.convertFrom=Конвертувати з PDF
|
navbar.sections.convertFrom=Конвертувати з PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=File must not be null or empty
|
|||||||
database.failedImportFile=Failed Import File
|
database.failedImportFile=Failed Import File
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Показати підпис
|
|||||||
certSign.reason=Причина
|
certSign.reason=Причина
|
||||||
certSign.location=Місцезнаходження
|
certSign.location=Місцезнаходження
|
||||||
certSign.name=Ім'я
|
certSign.name=Ім'я
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Підписати PDF
|
certSign.submit=Підписати PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(наприклад, 1,3,2 або 4-8,2,10-12 або 2n
|
|||||||
multiTool.title=Мультіінструмент PDF
|
multiTool.title=Мультіінструмент PDF
|
||||||
multiTool.header=Мультіінструмент PDF
|
multiTool.header=Мультіінструмент PDF
|
||||||
multiTool.uploadPrompts=Ім'я файлу
|
multiTool.uploadPrompts=Ім'я файлу
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Переглянути PDF
|
viewPdf.title=Переглянути PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=Ngôn ngữ
|
|||||||
navbar.settings=Cài đặt
|
navbar.settings=Cài đặt
|
||||||
navbar.allTools=Công cụ
|
navbar.allTools=Công cụ
|
||||||
navbar.multiTool=Đa công cụ
|
navbar.multiTool=Đa công cụ
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=Sắp xếp
|
navbar.sections.organize=Sắp xếp
|
||||||
navbar.sections.convertTo=Chuyển đổi sang PDF
|
navbar.sections.convertTo=Chuyển đổi sang PDF
|
||||||
navbar.sections.convertFrom=Chuyển đổi từ PDF
|
navbar.sections.convertFrom=Chuyển đổi từ PDF
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=Tệp không được để trống hoặc rỗng
|
|||||||
database.failedImportFile=Không thể nhập tệp
|
database.failedImportFile=Không thể nhập tệp
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=Hiển thị chữ ký
|
|||||||
certSign.reason=Lý do
|
certSign.reason=Lý do
|
||||||
certSign.location=Vị trí
|
certSign.location=Vị trí
|
||||||
certSign.name=Tên
|
certSign.name=Tên
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=Ký PDF
|
certSign.submit=Ký PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(ví dụ: 1,3,2 hoặc 4-8,2,10-12 hoặc 2n-1)
|
|||||||
multiTool.title=Công cụ đa năng PDF
|
multiTool.title=Công cụ đa năng PDF
|
||||||
multiTool.header=Công cụ đa năng PDF
|
multiTool.header=Công cụ đa năng PDF
|
||||||
multiTool.uploadPrompts=Tên tệp
|
multiTool.uploadPrompts=Tên tệp
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=Xem PDF
|
viewPdf.title=Xem PDF
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ page=Page
|
|||||||
pages=Pages
|
pages=Pages
|
||||||
loading=Loading...
|
loading=Loading...
|
||||||
addToDoc=Add to Document
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=Privacy Policy
|
legal.privacy=Privacy Policy
|
||||||
legal.terms=Terms and Conditions
|
legal.terms=Terms and Conditions
|
||||||
@@ -142,7 +141,6 @@ navbar.language=语言
|
|||||||
navbar.settings=设置
|
navbar.settings=设置
|
||||||
navbar.allTools=工具箱
|
navbar.allTools=工具箱
|
||||||
navbar.multiTool=多功能工具
|
navbar.multiTool=多功能工具
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=组织
|
navbar.sections.organize=组织
|
||||||
navbar.sections.convertTo=转换成PDF
|
navbar.sections.convertTo=转换成PDF
|
||||||
navbar.sections.convertFrom=从PDF转换
|
navbar.sections.convertFrom=从PDF转换
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=文件不能为空
|
|||||||
database.failedImportFile=导入文件失败
|
database.failedImportFile=导入文件失败
|
||||||
|
|
||||||
session.expired=Your session has expired. Please refresh the page and try again.
|
session.expired=Your session has expired. Please refresh the page and try again.
|
||||||
session.refreshPage=Refresh Page
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=显示签名
|
|||||||
certSign.reason=原因
|
certSign.reason=原因
|
||||||
certSign.location=位置
|
certSign.location=位置
|
||||||
certSign.name=名称
|
certSign.name=名称
|
||||||
certSign.showLogo=Show Logo
|
|
||||||
certSign.submit=给PDF签名
|
certSign.submit=给PDF签名
|
||||||
|
|
||||||
|
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(例如:1,3,2 或 4-8,2,10-12 或 2n-1)
|
|||||||
multiTool.title=PDF多功能工具
|
multiTool.title=PDF多功能工具
|
||||||
multiTool.header=PDF多功能工具
|
multiTool.header=PDF多功能工具
|
||||||
multiTool.uploadPrompts=文件名
|
multiTool.uploadPrompts=文件名
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=浏览PDF
|
viewPdf.title=浏览PDF
|
||||||
|
|||||||
@@ -79,9 +79,8 @@ info=資訊
|
|||||||
pro=專業版
|
pro=專業版
|
||||||
page=頁面
|
page=頁面
|
||||||
pages=頁面
|
pages=頁面
|
||||||
loading=載入中...
|
loading=Loading...
|
||||||
addToDoc=新增至文件
|
addToDoc=Add to Document
|
||||||
reset=Reset
|
|
||||||
|
|
||||||
legal.privacy=隱私權政策
|
legal.privacy=隱私權政策
|
||||||
legal.terms=使用條款
|
legal.terms=使用條款
|
||||||
@@ -141,8 +140,7 @@ navbar.darkmode=深色模式
|
|||||||
navbar.language=語言
|
navbar.language=語言
|
||||||
navbar.settings=設定
|
navbar.settings=設定
|
||||||
navbar.allTools=工具
|
navbar.allTools=工具
|
||||||
navbar.multiTool=複合工具
|
navbar.multiTool=多功能工具
|
||||||
navbar.search=Search
|
|
||||||
navbar.sections.organize=整理
|
navbar.sections.organize=整理
|
||||||
navbar.sections.convertTo=轉換為 PDF
|
navbar.sections.convertTo=轉換為 PDF
|
||||||
navbar.sections.convertFrom=從 PDF 轉換
|
navbar.sections.convertFrom=從 PDF 轉換
|
||||||
@@ -248,7 +246,6 @@ database.fileNullOrEmpty=檔案不得為空或空白
|
|||||||
database.failedImportFile=匯入檔案失敗
|
database.failedImportFile=匯入檔案失敗
|
||||||
|
|
||||||
session.expired=您的工作階段已過期。請重新整理頁面並再試一次。
|
session.expired=您的工作階段已過期。請重新整理頁面並再試一次。
|
||||||
session.refreshPage=重新整理頁面
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
# HOME-PAGE #
|
# HOME-PAGE #
|
||||||
@@ -753,7 +750,6 @@ certSign.showSig=顯示簽章
|
|||||||
certSign.reason=原因
|
certSign.reason=原因
|
||||||
certSign.location=位置
|
certSign.location=位置
|
||||||
certSign.name=名稱
|
certSign.name=名稱
|
||||||
certSign.showLogo=顯示 Logo
|
|
||||||
certSign.submit=簽章 PDF
|
certSign.submit=簽章 PDF
|
||||||
|
|
||||||
|
|
||||||
@@ -788,9 +784,9 @@ compare.highlightColor.2=標示顏色 2:
|
|||||||
compare.document.1=文件 1
|
compare.document.1=文件 1
|
||||||
compare.document.2=文件 2
|
compare.document.2=文件 2
|
||||||
compare.submit=比較
|
compare.submit=比較
|
||||||
compare.complex.message=選擇的檔案大小太大(其中一個或兩者皆是),可能會影響比較的精確度
|
compare.complex.message=One or both of the provided documents are large files, accuracy of comparison may be reduced
|
||||||
compare.large.file.message=選擇的檔案大小超出系統限制(其中一個或兩者皆是),無法處理
|
compare.large.file.message=One or Both of the provided documents are too large to process
|
||||||
compare.no.text.message=選擇的 PDF 檔案未包含文字(其中一個或兩者皆是)。請選擇含有文字的 PDF 進行比較
|
compare.no.text.message=One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.
|
||||||
|
|
||||||
#BookToPDF
|
#BookToPDF
|
||||||
BookToPDF.title=電子書和漫畫轉 PDF
|
BookToPDF.title=電子書和漫畫轉 PDF
|
||||||
@@ -807,17 +803,17 @@ PDFToBook.submit=轉換
|
|||||||
|
|
||||||
#sign
|
#sign
|
||||||
sign.title=簽章
|
sign.title=簽章
|
||||||
sign.header=簽署 PDF
|
sign.header=簽章 PDF
|
||||||
sign.upload=上傳影像
|
sign.upload=上傳影像
|
||||||
sign.draw=繪製簽章
|
sign.draw=繪製簽章
|
||||||
sign.text=文字輸入
|
sign.text=文字輸入
|
||||||
sign.clear=清除
|
sign.clear=清除
|
||||||
sign.add=新增
|
sign.add=新增
|
||||||
sign.saved=已儲存的簽章
|
sign.saved=Saved Signatures
|
||||||
sign.save=儲存簽章
|
sign.save=Save Signature
|
||||||
sign.personalSigs=個人簽章
|
sign.personalSigs=Personal Signatures
|
||||||
sign.sharedSigs=共用簽章
|
sign.sharedSigs=Shared Signatures
|
||||||
sign.noSavedSigs=尚未儲存任何簽章
|
sign.noSavedSigs=No saved signatures found
|
||||||
|
|
||||||
|
|
||||||
#repair
|
#repair
|
||||||
@@ -935,17 +931,6 @@ pdfOrganiser.placeholder=(例如 1,3,2 或 4-8,2,10-12 或 2n-1)
|
|||||||
multiTool.title=PDF 複合工具
|
multiTool.title=PDF 複合工具
|
||||||
multiTool.header=PDF 複合工具
|
multiTool.header=PDF 複合工具
|
||||||
multiTool.uploadPrompts=檔名
|
multiTool.uploadPrompts=檔名
|
||||||
multiTool.selectAll=Select All
|
|
||||||
multiTool.deselectAll=Deselect All
|
|
||||||
multiTool.selectPages=Page Select
|
|
||||||
multiTool.selectedPages=Selected Pages
|
|
||||||
multiTool.page=Page
|
|
||||||
multiTool.deleteSelected=Delete Selected
|
|
||||||
multiTool.downloadAll=Export
|
|
||||||
multiTool.downloadSelected=Export Selected
|
|
||||||
|
|
||||||
#multiTool-advert
|
|
||||||
multiTool-advert.message=This feature is also available in our <a href="{0}">multi-tool page</a>. Check it out for enhanced page-by-page UI and additional features!
|
|
||||||
|
|
||||||
#view pdf
|
#view pdf
|
||||||
viewPdf.title=檢視 PDF
|
viewPdf.title=檢視 PDF
|
||||||
|
|||||||
@@ -13,42 +13,42 @@
|
|||||||
|
|
||||||
security:
|
security:
|
||||||
enableLogin: false # set to 'true' to enable login
|
enableLogin: false # set to 'true' to enable login
|
||||||
csrfDisabled: true # set to 'true' to disable CSRF protection (not recommended for production)
|
csrfDisabled: true # Set to 'true' to disable CSRF protection (not recommended for production)
|
||||||
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
|
loginAttemptCount: 5 # lock user account after 5 tries; when using e.g. Fail2Ban you can deactivate the function with -1
|
||||||
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
|
loginResetTimeMinutes: 120 # lock account for 2 hours after x attempts
|
||||||
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
|
loginMethod: all # 'all' (Login Username/Password and OAuth2[must be enabled and configured]), 'normal'(only Login with Username/Password) or 'oauth2'(only Login with OAuth2)
|
||||||
initialLogin:
|
initialLogin:
|
||||||
username: '' # initial username for the first login
|
username: '' # Initial username for the first login
|
||||||
password: '' # initial password for the first login
|
password: '' # Initial password for the first login
|
||||||
oauth2:
|
oauth2:
|
||||||
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
|
enabled: false # set to 'true' to enable login (Note: enableLogin must also be 'true' for this to work)
|
||||||
client:
|
client:
|
||||||
keycloak:
|
keycloak:
|
||||||
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
|
issuer: '' # URL of the Keycloak realm's OpenID Connect Discovery endpoint
|
||||||
clientId: '' # client ID for Keycloak OAuth2
|
clientId: '' # Client ID for Keycloak OAuth2
|
||||||
clientSecret: '' # client secret for Keycloak OAuth2
|
clientSecret: '' # Client Secret for Keycloak OAuth2
|
||||||
scopes: openid, profile, email # scopes for Keycloak OAuth2
|
scopes: openid, profile, email # Scopes for Keycloak OAuth2
|
||||||
useAsUsername: preferred_username # field to use as the username for Keycloak OAuth2
|
useAsUsername: preferred_username # Field to use as the username for Keycloak OAuth2
|
||||||
google:
|
google:
|
||||||
clientId: '' # client ID for Google OAuth2
|
clientId: '' # Client ID for Google OAuth2
|
||||||
clientSecret: '' # client secret for Google OAuth2
|
clientSecret: '' # Client Secret for Google OAuth2
|
||||||
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # scopes for Google OAuth2
|
scopes: https://www.googleapis.com/auth/userinfo.email, https://www.googleapis.com/auth/userinfo.profile # Scopes for Google OAuth2
|
||||||
useAsUsername: email # field to use as the username for Google OAuth2
|
useAsUsername: email # Field to use as the username for Google OAuth2
|
||||||
github:
|
github:
|
||||||
clientId: '' # client ID for GitHub OAuth2
|
clientId: '' # Client ID for GitHub OAuth2
|
||||||
clientSecret: '' # client secret for GitHub OAuth2
|
clientSecret: '' # Client Secret for GitHub OAuth2
|
||||||
scopes: read:user # scope for GitHub OAuth2
|
scopes: read:user # Scope for GitHub OAuth2
|
||||||
useAsUsername: login # field to use as the username for GitHub OAuth2
|
useAsUsername: login # Field to use as the username for GitHub OAuth2
|
||||||
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) endpoint
|
issuer: '' # set to any provider that supports OpenID Connect Discovery (/.well-known/openid-configuration) end-point
|
||||||
clientId: '' # client ID from your provider
|
clientId: '' # Client ID from your provider
|
||||||
clientSecret: '' # client secret from your provider
|
clientSecret: '' # Client Secret from your provider
|
||||||
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
||||||
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
||||||
useAsUsername: email # default is 'email'; custom fields can be used as the username
|
useAsUsername: email # Default is 'email'; custom fields can be used as the username
|
||||||
scopes: openid, profile, email # specify the scopes for which the application will request permissions
|
scopes: openid, profile, email # Specify the scopes for which the application will request permissions
|
||||||
provider: google # set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
provider: google # Set this to your OAuth provider's name, e.g., 'google' or 'keycloak'
|
||||||
saml2:
|
saml2:
|
||||||
enabled: false # currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
|
enabled: false # Currently in alpha, not recommended for use yet, enableAlphaFunctionality must be set to true
|
||||||
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
autoCreateUser: false # set to 'true' to allow auto-creation of non-existing users
|
||||||
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
blockRegistration: false # set to 'true' to deny login with SSO without prior registration by an admin
|
||||||
registrationId: stirling
|
registrationId: stirling
|
||||||
@@ -56,7 +56,7 @@ security:
|
|||||||
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
|
idpSingleLogoutUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/slo/saml
|
||||||
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
|
idpSingleLoginUrl: https://dev-XXXXXXXX.okta.com/app/dev-XXXXXXXX_stirlingpdf_1/externalKey/sso/saml
|
||||||
idpIssuer: http://www.okta.com/externalKey
|
idpIssuer: http://www.okta.com/externalKey
|
||||||
idpCert: classpath:okta.crt
|
idpCert: classpath:octa.crt
|
||||||
privateKey: classpath:saml-private-key.key
|
privateKey: classpath:saml-private-key.key
|
||||||
spCert: classpath:saml-public-cert.crt
|
spCert: classpath:saml-public-cert.crt
|
||||||
|
|
||||||
@@ -65,35 +65,35 @@ enterpriseEdition:
|
|||||||
key: 00000000-0000-0000-0000-000000000000
|
key: 00000000-0000-0000-0000-000000000000
|
||||||
CustomMetadata:
|
CustomMetadata:
|
||||||
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values
|
autoUpdateMetadata: false # set to 'true' to automatically update metadata with below values
|
||||||
author: username # supports text such as 'John Doe' or types such as username to autopopulate with user's username
|
author: username # Supports text such as 'John Doe' or types such as username to autopopulate with users username
|
||||||
creator: Stirling-PDF # supports text such as 'Company-PDF'
|
creator: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
producer: Stirling-PDF # supports text such as 'Company-PDF'
|
producer: Stirling-PDF # Supports text such as 'Company-PDF'
|
||||||
|
|
||||||
legal:
|
legal:
|
||||||
termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms). Empty string to disable or filename to load from local file in static folder
|
termsAndConditions: https://www.stirlingpdf.com/terms-and-conditions # URL to the terms and conditions of your application (e.g. https://example.com/terms) Empty string to disable or filename to load from local file in static folder
|
||||||
privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy). Empty string to disable or filename to load from local file in static folder
|
privacyPolicy: https://www.stirlingpdf.com/privacy-policy # URL to the privacy policy of your application (e.g. https://example.com/privacy) Empty string to disable or filename to load from local file in static folder
|
||||||
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility). Empty string to disable or filename to load from local file in static folder
|
accessibilityStatement: '' # URL to the accessibility statement of your application (e.g. https://example.com/accessibility) Empty string to disable or filename to load from local file in static folder
|
||||||
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie). Empty string to disable or filename to load from local file in static folder
|
cookiePolicy: '' # URL to the cookie policy of your application (e.g. https://example.com/cookie) Empty string to disable or filename to load from local file in static folder
|
||||||
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum). Empty string to disable or filename to load from local file in static folder
|
impressum: '' # URL to the impressum of your application (e.g. https://example.com/impressum) Empty string to disable or filename to load from local file in static folder
|
||||||
|
|
||||||
system:
|
system:
|
||||||
defaultLocale: en-US # set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
defaultLocale: en-US # Set the default language (e.g. 'de-DE', 'fr-FR', etc)
|
||||||
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
googlevisibility: false # 'true' to allow Google visibility (via robots.txt), 'false' to disallow
|
||||||
enableAlphaFunctionality: false # set to enable functionality which might need more testing before it fully goes live (this feature might make no changes)
|
enableAlphaFunctionality: false # Set to enable functionality which might need more testing before it fully goes live (This feature might make no changes)
|
||||||
showUpdate: false # see when a new update is available
|
showUpdate: false # see when a new update is available
|
||||||
showUpdateOnlyAdmin: false # only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
|
showUpdateOnlyAdmin: false # Only admins can see when a new update is available, depending on showUpdate it must be set to 'true'
|
||||||
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template HTML files
|
customHTMLFiles: false # enable to have files placed in /customFiles/templates override the existing template html files
|
||||||
tessdataDir: /usr/share/tessdata # path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
|
tessdataDir: /usr/share/tessdata # Path to the directory containing the Tessdata files. This setting is relevant for Windows systems. For Windows users, this path should be adjusted to point to the appropriate directory where the Tessdata files are stored.
|
||||||
enableAnalytics: undefined # set to 'true' to enable analytics, set to 'false' to disable analytics; for enterprise users, this is set to true
|
enableAnalytics: undefined # Set to 'true' to enable analytics, set to 'false' to disable analytics, for enterprise users this is set to true
|
||||||
|
|
||||||
ui:
|
ui:
|
||||||
appName: '' # application's visible name
|
appName: '' # Application's visible name
|
||||||
homeDescription: '' # short description or tagline shown on the homepage
|
homeDescription: '' # Short description or tagline shown on homepage.
|
||||||
appNameNavbar: '' # name displayed on the navigation bar
|
appNameNavbar: '' # Name displayed on the navigation bar
|
||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
toRemove: [] # list endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
||||||
groupsToRemove: [] # list groups to disable (e.g. ['LibreOffice'])
|
groupsToRemove: [] # List groups to disable (e.g. ['LibreOffice'])
|
||||||
|
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
|
enabled: true # 'true' to enable Info APIs (`/api/*`) endpoints, 'false' to disable
|
||||||
@@ -102,22 +102,3 @@ metrics:
|
|||||||
AutomaticallyGenerated:
|
AutomaticallyGenerated:
|
||||||
key: example
|
key: example
|
||||||
UUID: example
|
UUID: example
|
||||||
|
|
||||||
processExecutor:
|
|
||||||
sessionLimit: # Process executor instances limits
|
|
||||||
libreOfficeSessionLimit: 1
|
|
||||||
pdfToHtmlSessionLimit: 1
|
|
||||||
ocrMyPdfSessionLimit: 2
|
|
||||||
pythonOpenCvSessionLimit: 8
|
|
||||||
ghostScriptSessionLimit: 16
|
|
||||||
weasyPrintSessionLimit: 16
|
|
||||||
installAppSessionLimit: 1
|
|
||||||
calibreSessionLimit: 1
|
|
||||||
timeoutMinutes: # Process executor timeout in minutes
|
|
||||||
libreOfficetimeoutMinutes: 30
|
|
||||||
pdfToHtmltimeoutMinutes: 20
|
|
||||||
pythonOpenCvtimeoutMinutes: 30
|
|
||||||
ghostScripttimeoutMinutes: 30
|
|
||||||
weasyPrinttimeoutMinutes: 30
|
|
||||||
installApptimeoutMinutes: 60
|
|
||||||
calibretimeoutMinutes: 30
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -212,81 +212,15 @@ label {
|
|||||||
.page-number {
|
.page-number {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
left: 5px;
|
right: 0px;
|
||||||
color: var(--md-sys-color-on-secondary);
|
color: var(--md-sys-color-on-surface);
|
||||||
background-color: rgba(162, 201, 255, 0.8);
|
background-color: var(--md-sys-color-surface-5);
|
||||||
padding: 6px 8px;
|
padding: 6px 8px;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
font-weight: 450;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tool-header {
|
.tool-header {
|
||||||
margin: 0.5rem 1rem 2rem;
|
margin: 0.5rem 1rem 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#select-pages-button {
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected-pages-container {
|
|
||||||
background-color: var(--md-sys-color-surface);
|
|
||||||
border-radius: 16px;
|
|
||||||
padding: 15px;
|
|
||||||
width: 100%;
|
|
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
||||||
font-family: Arial, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected-pages-container h3 {
|
|
||||||
color: var(--md-sys-color-on-surface);
|
|
||||||
font-size: 1.2em;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pages-list {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
gap: 10px;
|
|
||||||
padding: 0;
|
|
||||||
list-style: none;
|
|
||||||
max-height: 10rem;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page-item {
|
|
||||||
background-color: var(--md-sys-color-surface-container-low);
|
|
||||||
border-radius: 8px;
|
|
||||||
padding: 8px 12px;
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 8px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: var(--md-sys-color-on-surface);
|
|
||||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
||||||
width: 7rem;
|
|
||||||
height: 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.selected-page-number {
|
|
||||||
width: 4rem;
|
|
||||||
font-size: small;
|
|
||||||
}
|
|
||||||
|
|
||||||
.remove-btn {
|
|
||||||
cursor: pointer;
|
|
||||||
color: var(--md-sys-color-on-surface);
|
|
||||||
font-size: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.checkbox-container {
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.checkbox-label {
|
|
||||||
font-size: medium;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -126,28 +126,3 @@ html[dir="rtl"] .pdf-actions_container:last-child>.pdf-actions_insert-file-butto
|
|||||||
aspect-ratio: 1;
|
aspect-ratio: 1;
|
||||||
border-radius: 100px;
|
border-radius: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.pdf-actions_checkbox {
|
|
||||||
position: absolute;
|
|
||||||
top: 5px;
|
|
||||||
right: 3px;
|
|
||||||
color: var(--md-sys-color-on-surface);
|
|
||||||
background-color: var(--md-sys-color-surface-5);
|
|
||||||
padding: 6px 8px;
|
|
||||||
border-radius: 8px;
|
|
||||||
font-size: 16px;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hidden {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.pdf-actions_insert-file-blank-button {
|
|
||||||
position: absolute;
|
|
||||||
top: 75%;
|
|
||||||
right: 50%;
|
|
||||||
translate: 0% -50%;
|
|
||||||
aspect-ratio: 1;
|
|
||||||
border-radius: 100px;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -5,8 +5,6 @@
|
|||||||
src: url(../../fonts/google-symbol.woff2) format('woff2');
|
src: url(../../fonts/google-symbol.woff2) format('woff2');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.material-symbols-rounded {
|
.material-symbols-rounded {
|
||||||
font-family: 'Material Symbols Rounded';
|
font-family: 'Material Symbols Rounded';
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
|
|||||||
@@ -1,33 +1,29 @@
|
|||||||
(function() {
|
function showErrorBanner(message, stackTrace) {
|
||||||
|
|
||||||
const { pdfPasswordPrompt, multipleInputsForSingleRequest, disableMultipleFiles, remoteCall, sessionExpired, refreshPage, error } = window.stirlingPDF;
|
|
||||||
|
|
||||||
function showErrorBanner(message, stackTrace) {
|
|
||||||
const errorContainer = document.getElementById("errorContainer");
|
const errorContainer = document.getElementById("errorContainer");
|
||||||
errorContainer.style.display = "block"; // Display the banner
|
errorContainer.style.display = "block"; // Display the banner
|
||||||
errorContainer.querySelector(".alert-heading").textContent = error;
|
document.querySelector("#errorContainer .alert-heading").textContent = "Error";
|
||||||
errorContainer.querySelector("p").textContent = message;
|
document.querySelector("#errorContainer p").textContent = message;
|
||||||
document.querySelector("#traceContent").textContent = stackTrace;
|
document.querySelector("#traceContent").textContent = stackTrace;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showSessionExpiredPrompt() {
|
function showSessionExpiredPrompt() {
|
||||||
const errorContainer = document.getElementById("errorContainer");
|
const errorContainer = document.getElementById("errorContainer");
|
||||||
errorContainer.style.display = "block";
|
errorContainer.style.display = "block";
|
||||||
errorContainer.querySelector(".alert-heading").textContent = sessionExpired;
|
document.querySelector("#errorContainer .alert-heading").textContent = sessionExpired;
|
||||||
errorContainer.querySelector("p").textContent = sessionExpired;
|
document.querySelector("#errorContainer p").textContent = sessionExpired;
|
||||||
document.querySelector("#traceContent").textContent = "";
|
document.querySelector("#traceContent").textContent = "";
|
||||||
|
|
||||||
// Optional: Add a refresh button
|
// Optional: Add a refresh button
|
||||||
const refreshButton = document.createElement("button");
|
const refreshButton = document.createElement("button");
|
||||||
refreshButton.textContent = refreshPage;
|
refreshButton.textContent = "Refresh Page";
|
||||||
refreshButton.className = "btn btn-primary mt-3";
|
refreshButton.className = "btn btn-primary mt-3";
|
||||||
refreshButton.onclick = () => location.reload();
|
refreshButton.onclick = () => location.reload();
|
||||||
errorContainer.appendChild(refreshButton);
|
errorContainer.appendChild(refreshButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
let firstErrorOccurred = false;
|
let firstErrorOccurred = false;
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("form").submit(async function (event) {
|
$("form").submit(async function (event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
firstErrorOccurred = false;
|
firstErrorOccurred = false;
|
||||||
@@ -64,8 +60,6 @@
|
|||||||
await handleSingleDownload(url, formData);
|
await handleSingleDownload(url, formData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clearFileInput();
|
|
||||||
clearTimeout(timeoutId);
|
clearTimeout(timeoutId);
|
||||||
$("#submitBtn").text(originalButtonText);
|
$("#submitBtn").text(originalButtonText);
|
||||||
|
|
||||||
@@ -87,16 +81,15 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
clearFileInput();
|
|
||||||
clearTimeout(timeoutId);
|
clearTimeout(timeoutId);
|
||||||
handleDownloadError(error);
|
handleDownloadError(error);
|
||||||
$("#submitBtn").text(originalButtonText);
|
$("#submitBtn").text(originalButtonText);
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
async function handleSingleDownload(url, formData, isMulti = false, isZip = false) {
|
async function handleSingleDownload(url, formData, isMulti = false, isZip = false) {
|
||||||
try {
|
try {
|
||||||
const response = await fetch(url, { method: "POST", body: formData });
|
const response = await fetch(url, { method: "POST", body: formData });
|
||||||
const contentType = response.headers.get("content-type");
|
const contentType = response.headers.get("content-type");
|
||||||
@@ -119,21 +112,17 @@
|
|||||||
|
|
||||||
const blob = await response.blob();
|
const blob = await response.blob();
|
||||||
if (contentType.includes("application/pdf") || contentType.includes("image/")) {
|
if (contentType.includes("application/pdf") || contentType.includes("image/")) {
|
||||||
clearFileInput();
|
|
||||||
return handleResponse(blob, filename, !isMulti, isZip);
|
return handleResponse(blob, filename, !isMulti, isZip);
|
||||||
} else {
|
} else {
|
||||||
clearFileInput();
|
|
||||||
return handleResponse(blob, filename, false, isZip);
|
return handleResponse(blob, filename, false, isZip);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
clearFileInput();
|
|
||||||
console.error("Error in handleSingleDownload:", error);
|
console.error("Error in handleSingleDownload:", error);
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFilenameFromContentDisposition(contentDisposition) {
|
function getFilenameFromContentDisposition(contentDisposition) {
|
||||||
let filename;
|
let filename;
|
||||||
|
|
||||||
if (contentDisposition && contentDisposition.indexOf("attachment") !== -1) {
|
if (contentDisposition && contentDisposition.indexOf("attachment") !== -1) {
|
||||||
@@ -144,9 +133,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
return filename;
|
return filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleJsonResponse(response) {
|
async function handleJsonResponse(response) {
|
||||||
const json = await response.json();
|
const json = await response.json();
|
||||||
const errorMessage = JSON.stringify(json, null, 2);
|
const errorMessage = JSON.stringify(json, null, 2);
|
||||||
if (
|
if (
|
||||||
@@ -161,9 +150,9 @@
|
|||||||
} else {
|
} else {
|
||||||
showErrorBanner(json.error + ":" + json.message, json.trace);
|
showErrorBanner(json.error + ":" + json.message, json.trace);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleResponse(blob, filename, considerViewOptions = false, isZip = false) {
|
async function handleResponse(blob, filename, considerViewOptions = false, isZip = false) {
|
||||||
if (!blob) return;
|
if (!blob) return;
|
||||||
const downloadOption = localStorage.getItem("downloadOption");
|
const downloadOption = localStorage.getItem("downloadOption");
|
||||||
if (considerViewOptions) {
|
if (considerViewOptions) {
|
||||||
@@ -181,16 +170,16 @@
|
|||||||
downloadFile(blob, filename);
|
downloadFile(blob, filename);
|
||||||
}
|
}
|
||||||
return { filename, blob };
|
return { filename, blob };
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDownloadError(error) {
|
function handleDownloadError(error) {
|
||||||
const errorMessage = error.message;
|
const errorMessage = error.message;
|
||||||
showErrorBanner(errorMessage);
|
showErrorBanner(errorMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
let urls = []; // An array to hold all the URLs
|
let urls = []; // An array to hold all the URLs
|
||||||
|
|
||||||
function downloadFile(blob, filename) {
|
function downloadFile(blob, filename) {
|
||||||
if (!(blob instanceof Blob)) {
|
if (!(blob instanceof Blob)) {
|
||||||
console.error("Invalid blob passed to downloadFile function");
|
console.error("Invalid blob passed to downloadFile function");
|
||||||
return;
|
return;
|
||||||
@@ -203,9 +192,9 @@
|
|||||||
urls.push(url); // Store the URL so it doesn't get garbage collected too soon
|
urls.push(url); // Store the URL so it doesn't get garbage collected too soon
|
||||||
|
|
||||||
return { filename, blob };
|
return { filename, blob };
|
||||||
}
|
}
|
||||||
|
|
||||||
async function submitMultiPdfForm(url, files) {
|
async function submitMultiPdfForm(url, files) {
|
||||||
const zipThreshold = parseInt(localStorage.getItem("zipThreshold"), 10) || 4;
|
const zipThreshold = parseInt(localStorage.getItem("zipThreshold"), 10) || 4;
|
||||||
const zipFiles = files.length > zipThreshold;
|
const zipFiles = files.length > zipThreshold;
|
||||||
let jszip = null;
|
let jszip = null;
|
||||||
@@ -285,40 +274,15 @@
|
|||||||
}
|
}
|
||||||
progressBar.css("width", "100%");
|
progressBar.css("width", "100%");
|
||||||
progressBar.attr("aria-valuenow", Array.from(files).length);
|
progressBar.attr("aria-valuenow", Array.from(files).length);
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateProgressBar(progressBar, files) {
|
function updateProgressBar(progressBar, files) {
|
||||||
let progress = (progressBar.attr("aria-valuenow") / files.length) * 100 + 100 / files.length;
|
let progress = (progressBar.attr("aria-valuenow") / files.length) * 100 + 100 / files.length;
|
||||||
progressBar.css("width", progress + "%");
|
progressBar.css("width", progress + "%");
|
||||||
progressBar.attr("aria-valuenow", parseInt(progressBar.attr("aria-valuenow")) + 1);
|
progressBar.attr("aria-valuenow", parseInt(progressBar.attr("aria-valuenow")) + 1);
|
||||||
}
|
}
|
||||||
window.addEventListener("unload", () => {
|
window.addEventListener("unload", () => {
|
||||||
for (const url of urls) {
|
for (const url of urls) {
|
||||||
URL.revokeObjectURL(url);
|
URL.revokeObjectURL(url);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Clear file input after job
|
|
||||||
function clearFileInput(){
|
|
||||||
let pathname = document.location.pathname;
|
|
||||||
if(pathname != "/merge-pdfs"){
|
|
||||||
let formElement = document.querySelector("#fileInput-input");
|
|
||||||
formElement.value = '';
|
|
||||||
let editSectionElement = document.querySelector("#editSection");
|
|
||||||
if(editSectionElement){
|
|
||||||
editSectionElement.style.display = "none";
|
|
||||||
}
|
|
||||||
let cropPdfCanvas = document.querySelector("#crop-pdf-canvas");
|
|
||||||
let overlayCanvas = document.querySelector("#overlayCanvas");
|
|
||||||
if(cropPdfCanvas && overlayCanvas){
|
|
||||||
cropPdfCanvas.width = 0;
|
|
||||||
cropPdfCanvas.heigth = 0;
|
|
||||||
|
|
||||||
overlayCanvas.width = 0;
|
|
||||||
overlayCanvas.heigth = 0;
|
|
||||||
}
|
|
||||||
} else{
|
|
||||||
console.log("Disabled for 'Merge'");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
|
|||||||
@@ -74,16 +74,16 @@ const DraggableUtils = {
|
|||||||
|
|
||||||
modifiers: [
|
modifiers: [
|
||||||
interact.modifiers.restrictSize({
|
interact.modifiers.restrictSize({
|
||||||
min: { width: 5, height: 5 },
|
min: {width: 5, height: 5},
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
inertia: true,
|
inertia: true,
|
||||||
});
|
});
|
||||||
//Arrow key Support for Add-Image and Sign pages
|
//Arrow key Support for Add-Image and Sign pages
|
||||||
if (window.location.pathname.endsWith('sign') || window.location.pathname.endsWith('add-image')) {
|
if(window.location.pathname.endsWith('sign') || window.location.pathname.endsWith('add-image')) {
|
||||||
window.addEventListener('keydown', (event) => {
|
window.addEventListener('keydown', (event) => {
|
||||||
//Check for last interacted element
|
//Check for last interacted element
|
||||||
if (!this.lastInteracted) {
|
if (!this.lastInteracted){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Get the currently selected element
|
// Get the currently selected element
|
||||||
@@ -288,7 +288,7 @@ const DraggableUtils = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
parseTransform(element) { },
|
parseTransform(element) {},
|
||||||
async getOverlayedPdfDocument() {
|
async getOverlayedPdfDocument() {
|
||||||
const pdfBytes = await this.pdfDoc.getData();
|
const pdfBytes = await this.pdfDoc.getData();
|
||||||
const pdfDocModified = await PDFLib.PDFDocument.load(pdfBytes, {
|
const pdfDocModified = await PDFLib.PDFDocument.load(pdfBytes, {
|
||||||
@@ -308,7 +308,6 @@ const DraggableUtils = {
|
|||||||
const offsetWidth = pagesMap[pageIdx + "-offsetWidth"];
|
const offsetWidth = pagesMap[pageIdx + "-offsetWidth"];
|
||||||
const offsetHeight = pagesMap[pageIdx + "-offsetHeight"];
|
const offsetHeight = pagesMap[pageIdx + "-offsetHeight"];
|
||||||
|
|
||||||
|
|
||||||
for (const draggableData of draggablesData) {
|
for (const draggableData of draggablesData) {
|
||||||
// embed the draggable canvas
|
// embed the draggable canvas
|
||||||
const draggableElement = draggableData.element;
|
const draggableElement = draggableData.element;
|
||||||
@@ -325,24 +324,6 @@ const DraggableUtils = {
|
|||||||
width: draggableData.offsetWidth,
|
width: draggableData.offsetWidth,
|
||||||
height: draggableData.offsetHeight,
|
height: draggableData.offsetHeight,
|
||||||
};
|
};
|
||||||
|
|
||||||
//Auxiliary variables
|
|
||||||
let widthAdjusted = page.getWidth();
|
|
||||||
let heightAdjusted = page.getHeight();
|
|
||||||
const rotation = page.getRotation();
|
|
||||||
|
|
||||||
//Normalizing angle
|
|
||||||
let normalizedAngle = rotation.angle % 360;
|
|
||||||
if (normalizedAngle < 0) {
|
|
||||||
normalizedAngle += 360;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Changing the page dimension if the angle is 90 or 270
|
|
||||||
if (normalizedAngle === 90 || normalizedAngle === 270) {
|
|
||||||
let widthTemp = widthAdjusted;
|
|
||||||
widthAdjusted = heightAdjusted;
|
|
||||||
heightAdjusted = widthTemp;
|
|
||||||
}
|
|
||||||
const draggablePositionRelative = {
|
const draggablePositionRelative = {
|
||||||
x: draggablePositionPixels.x / offsetWidth,
|
x: draggablePositionPixels.x / offsetWidth,
|
||||||
y: draggablePositionPixels.y / offsetHeight,
|
y: draggablePositionPixels.y / offsetHeight,
|
||||||
@@ -350,36 +331,18 @@ const DraggableUtils = {
|
|||||||
height: draggablePositionPixels.height / offsetHeight,
|
height: draggablePositionPixels.height / offsetHeight,
|
||||||
};
|
};
|
||||||
const draggablePositionPdf = {
|
const draggablePositionPdf = {
|
||||||
x: draggablePositionRelative.x * widthAdjusted,
|
x: draggablePositionRelative.x * page.getWidth(),
|
||||||
y: draggablePositionRelative.y * heightAdjusted,
|
y: draggablePositionRelative.y * page.getHeight(),
|
||||||
width: draggablePositionRelative.width * widthAdjusted,
|
width: draggablePositionRelative.width * page.getWidth(),
|
||||||
height: draggablePositionRelative.height * heightAdjusted,
|
height: draggablePositionRelative.height * page.getHeight(),
|
||||||
};
|
};
|
||||||
|
|
||||||
//Defining the image if the page has a 0-degree angle
|
|
||||||
let x = draggablePositionPdf.x
|
|
||||||
let y = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height
|
|
||||||
|
|
||||||
|
|
||||||
//Defining the image position if it is at other angles
|
|
||||||
if (normalizedAngle === 90) {
|
|
||||||
x = draggablePositionPdf.y + draggablePositionPdf.height;
|
|
||||||
y = draggablePositionPdf.x;
|
|
||||||
} else if (normalizedAngle === 180) {
|
|
||||||
x = widthAdjusted - draggablePositionPdf.x;
|
|
||||||
y = draggablePositionPdf.y + draggablePositionPdf.height;
|
|
||||||
} else if (normalizedAngle === 270) {
|
|
||||||
x = heightAdjusted - draggablePositionPdf.y - draggablePositionPdf.height;
|
|
||||||
y = widthAdjusted - draggablePositionPdf.x;
|
|
||||||
}
|
|
||||||
|
|
||||||
// draw the image
|
// draw the image
|
||||||
page.drawImage(pdfImageObject, {
|
page.drawImage(pdfImageObject, {
|
||||||
x: x,
|
x: draggablePositionPdf.x,
|
||||||
y: y,
|
y: page.getHeight() - draggablePositionPdf.y - draggablePositionPdf.height,
|
||||||
width: draggablePositionPdf.width,
|
width: draggablePositionPdf.width,
|
||||||
height: draggablePositionPdf.height,
|
height: draggablePositionPdf.height,
|
||||||
rotate: rotation
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,7 +83,6 @@ function syncFavorites() {
|
|||||||
cards.forEach(card => {
|
cards.forEach(card => {
|
||||||
const isFavorite = localStorage.getItem(card.id) === "favorite";
|
const isFavorite = localStorage.getItem(card.id) === "favorite";
|
||||||
const starIcon = card.querySelector(".favorite-icon span.material-symbols-rounded");
|
const starIcon = card.querySelector(".favorite-icon span.material-symbols-rounded");
|
||||||
if (starIcon) {
|
|
||||||
if (isFavorite) {
|
if (isFavorite) {
|
||||||
starIcon.classList.remove("no-fill");
|
starIcon.classList.remove("no-fill");
|
||||||
starIcon.classList.add("fill");
|
starIcon.classList.add("fill");
|
||||||
@@ -93,7 +92,6 @@ function syncFavorites() {
|
|||||||
starIcon.classList.add("no-fill");
|
starIcon.classList.add("no-fill");
|
||||||
card.classList.remove("favorite");
|
card.classList.remove("favorite");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
updateFavoritesSection();
|
updateFavoritesSection();
|
||||||
updateFavoritesDropdown();
|
updateFavoritesDropdown();
|
||||||
|
|||||||
@@ -1,67 +1,74 @@
|
|||||||
function getStoredOrDefaultLocale() {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
const storedLocale = localStorage.getItem("languageCode");
|
setLanguageForDropdown(".lang_dropdown-item");
|
||||||
return storedLocale || getDetailedLanguageCode();
|
|
||||||
}
|
// Detect the browser's preferred language
|
||||||
|
let browserLang = navigator.language || navigator.userLanguage;
|
||||||
|
// Convert to a format consistent with your language codes (e.g., en-GB, fr-FR)
|
||||||
|
browserLang = browserLang.replace("-", "_");
|
||||||
|
|
||||||
|
// Check if the dropdown contains the browser's language
|
||||||
|
const dropdownLangExists = document.querySelector(`.lang_dropdown-item[data-language-code="${browserLang}"]`);
|
||||||
|
|
||||||
|
// Set the default language to browser's language or 'en_GB' if not found in the dropdown
|
||||||
|
const defaultLocale = dropdownLangExists ? browserLang : "en_GB";
|
||||||
|
const storedLocale = localStorage.getItem("languageCode") || defaultLocale;
|
||||||
|
|
||||||
|
const dropdownItems = document.querySelectorAll(".lang_dropdown-item");
|
||||||
|
|
||||||
|
for (let i = 0; i < dropdownItems.length; i++) {
|
||||||
|
const item = dropdownItems[i];
|
||||||
|
item.classList.remove("active");
|
||||||
|
if (item.dataset.languageCode === storedLocale) {
|
||||||
|
item.classList.add("active");
|
||||||
|
}
|
||||||
|
item.addEventListener("click", handleDropdownItemClick);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
function setLanguageForDropdown(dropdownClass) {
|
function setLanguageForDropdown(dropdownClass) {
|
||||||
const storedLocale = getStoredOrDefaultLocale();
|
const defaultLocale = document.documentElement.getAttribute("data-language") || "en_GB";
|
||||||
|
const storedLocale = localStorage.getItem("languageCode") || defaultLocale;
|
||||||
const dropdownItems = document.querySelectorAll(dropdownClass);
|
const dropdownItems = document.querySelectorAll(dropdownClass);
|
||||||
|
|
||||||
dropdownItems.forEach(item => {
|
for (let i = 0; i < dropdownItems.length; i++) {
|
||||||
item.classList.toggle("active", item.dataset.bsLanguageCode === storedLocale);
|
const item = dropdownItems[i];
|
||||||
item.removeEventListener("click", handleDropdownItemClick);
|
item.classList.remove("active");
|
||||||
|
if (item.dataset.languageCode === storedLocale) {
|
||||||
|
item.classList.add("active");
|
||||||
|
}
|
||||||
item.addEventListener("click", handleDropdownItemClick);
|
item.addEventListener("click", handleDropdownItemClick);
|
||||||
});
|
}
|
||||||
}
|
|
||||||
|
|
||||||
function updateUrlWithLanguage(languageCode) {
|
|
||||||
const currentURL = new URL(window.location.href);
|
|
||||||
currentURL.searchParams.set('lang', languageCode);
|
|
||||||
window.location.href = currentURL.toString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDropdownItemClick(event) {
|
function handleDropdownItemClick(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const languageCode = event.currentTarget.dataset.bsLanguageCode;
|
const languageCode = event.currentTarget.dataset.bsLanguageCode; // change this to event.currentTarget
|
||||||
if (languageCode) {
|
if (languageCode) {
|
||||||
localStorage.setItem("languageCode", languageCode);
|
localStorage.setItem("languageCode", languageCode);
|
||||||
updateUrlWithLanguage(languageCode);
|
|
||||||
|
const currentUrl = window.location.href;
|
||||||
|
if (currentUrl.indexOf("?lang=") === -1 && currentUrl.indexOf("&lang=") === -1) {
|
||||||
|
window.location.href = currentUrl + "?lang=" + languageCode;
|
||||||
|
} else if (currentUrl.indexOf("&lang=") !== -1 && currentUrl.indexOf("?lang=") === -1) {
|
||||||
|
window.location.href = currentUrl.replace(/&lang=\w{2,}/, "&lang=" + languageCode);
|
||||||
} else {
|
} else {
|
||||||
console.error("Language code is not set for this item.");
|
window.location.href = currentUrl.replace(/\?lang=\w{2,}/, "?lang=" + languageCode);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.error("Language code is not set for this item."); // for debugging
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkUserLanguage(defaultLocale) {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
if (!localStorage.getItem("languageCode") || document.documentElement.getAttribute("data-language") != defaultLocale) {
|
|
||||||
localStorage.setItem("languageCode", defaultLocale);
|
|
||||||
updateUrlWithLanguage(defaultLocale);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function initLanguageSettings() {
|
document.querySelectorAll(".col-lg-2.col-sm-6").forEach((element) => {
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
|
||||||
setLanguageForDropdown(".lang_dropdown-item");
|
|
||||||
|
|
||||||
const defaultLocale = getStoredOrDefaultLocale();
|
|
||||||
checkUserLanguage(defaultLocale);
|
|
||||||
|
|
||||||
const dropdownItems = document.querySelectorAll(".lang_dropdown-item");
|
|
||||||
dropdownItems.forEach(item => {
|
|
||||||
item.classList.toggle("active", item.dataset.bsLanguageCode === defaultLocale);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeElements() {
|
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
|
||||||
document.querySelectorAll(".navbar-item").forEach((element) => {
|
|
||||||
const dropdownItems = element.querySelectorAll(".dropdown-item");
|
const dropdownItems = element.querySelectorAll(".dropdown-item");
|
||||||
const items = Array.from(dropdownItems).filter(item => !item.querySelector("hr.dropdown-divider"));
|
const items = Array.from(dropdownItems).filter(item => !item.querySelector("hr.dropdown-divider"));
|
||||||
|
|
||||||
if (items.length <= 2) {
|
if (items.length <= 2) {
|
||||||
if (
|
if (
|
||||||
element.previousElementSibling &&
|
element.previousElementSibling &&
|
||||||
element.previousElementSibling.classList.contains("navbar-item") &&
|
element.previousElementSibling.classList.contains("col-lg-2") &&
|
||||||
element.previousElementSibling.classList.contains("nav-item-separator")
|
element.previousElementSibling.classList.contains("nav-item-separator")
|
||||||
) {
|
) {
|
||||||
element.previousElementSibling.remove();
|
element.previousElementSibling.remove();
|
||||||
@@ -69,18 +76,14 @@ function removeElements() {
|
|||||||
element.remove();
|
element.remove();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function sortLanguageDropdown() {
|
//Sort languages by alphabet
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
const list = Array.from(document.querySelector('.dropdown-menu[aria-labelledby="languageDropdown"]').children).filter(
|
||||||
const dropdownMenu = document.querySelector('.dropdown-menu .dropdown-item.lang_dropdown-item').parentElement;
|
(child) => child.matches("a"),
|
||||||
if (dropdownMenu) {
|
);
|
||||||
const items = Array.from(dropdownMenu.children).filter(child => child.matches('a'));
|
list
|
||||||
items.sort((a, b) => a.dataset.bsLanguageCode.localeCompare(b.dataset.bsLanguageCode))
|
.sort(function (a, b) {
|
||||||
.forEach(node => dropdownMenu.appendChild(node));
|
return a.textContent.toUpperCase().localeCompare(b.textContent.toUpperCase());
|
||||||
}
|
})
|
||||||
});
|
.forEach((node) => document.querySelector('.dropdown-menu[aria-labelledby="languageDropdown"]').appendChild(node));
|
||||||
}
|
});
|
||||||
|
|
||||||
sortLanguageDropdown();
|
|
||||||
|
|||||||
@@ -21,55 +21,27 @@ async function displayFiles(files) {
|
|||||||
for (let i = 0; i < files.length; i++) {
|
for (let i = 0; i < files.length; i++) {
|
||||||
const pageCount = await getPDFPageCount(files[i]);
|
const pageCount = await getPDFPageCount(files[i]);
|
||||||
const pageLabel = pageCount === 1 ? pageTranslation : pagesTranslation;
|
const pageLabel = pageCount === 1 ? pageTranslation : pagesTranslation;
|
||||||
|
|
||||||
// Create list item
|
|
||||||
const item = document.createElement("li");
|
const item = document.createElement("li");
|
||||||
item.className = "list-group-item";
|
item.className = "list-group-item";
|
||||||
|
item.innerHTML = `
|
||||||
// Create filename div and set textContent to sanitize
|
<div class="d-flex justify-content-between align-items-center w-100">
|
||||||
const fileNameDiv = document.createElement("div");
|
<div class="filename">${files[i].name}</div>
|
||||||
fileNameDiv.className = "filename";
|
<div class="page-info">
|
||||||
fileNameDiv.textContent = files[i].name;
|
<span class="page-count">${pageCount} ${pageLabel}</span>
|
||||||
|
</div>
|
||||||
// Create page info div and set textContent to sanitize
|
<div class="arrows d-flex">
|
||||||
const pageInfoDiv = document.createElement("div");
|
<button class="btn btn-secondary move-up"><span>↑</span></button>
|
||||||
pageInfoDiv.className = "page-info";
|
<button class="btn btn-secondary move-down"><span>↓</span></button>
|
||||||
const pageCountSpan = document.createElement("span");
|
<button class="btn btn-danger remove-file"><span>×</span></button>
|
||||||
pageCountSpan.className = "page-count";
|
</div>
|
||||||
pageCountSpan.textContent = `${pageCount} ${pageLabel}`;
|
</div>
|
||||||
pageInfoDiv.appendChild(pageCountSpan);
|
`;
|
||||||
|
|
||||||
// Create arrows div with buttons
|
|
||||||
const arrowsDiv = document.createElement("div");
|
|
||||||
arrowsDiv.className = "arrows d-flex";
|
|
||||||
|
|
||||||
const moveUpButton = document.createElement("button");
|
|
||||||
moveUpButton.className = "btn btn-secondary move-up";
|
|
||||||
moveUpButton.innerHTML = "<span>↑</span>";
|
|
||||||
|
|
||||||
const moveDownButton = document.createElement("button");
|
|
||||||
moveDownButton.className = "btn btn-secondary move-down";
|
|
||||||
moveDownButton.innerHTML = "<span>↓</span>";
|
|
||||||
|
|
||||||
const removeButton = document.createElement("button");
|
|
||||||
removeButton.className = "btn btn-danger remove-file";
|
|
||||||
removeButton.innerHTML = "<span>×</span>";
|
|
||||||
|
|
||||||
arrowsDiv.append(moveUpButton, moveDownButton, removeButton);
|
|
||||||
|
|
||||||
// Append elements to item and then to list
|
|
||||||
const itemContainer = document.createElement("div");
|
|
||||||
itemContainer.className = "d-flex justify-content-between align-items-center w-100";
|
|
||||||
itemContainer.append(fileNameDiv, pageInfoDiv, arrowsDiv);
|
|
||||||
|
|
||||||
item.appendChild(itemContainer);
|
|
||||||
list.appendChild(item);
|
list.appendChild(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
attachMoveButtons();
|
attachMoveButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
async function getPDFPageCount(file) {
|
async function getPDFPageCount(file) {
|
||||||
const blobUrl = URL.createObjectURL(file);
|
const blobUrl = URL.createObjectURL(file);
|
||||||
const pdf = await pdfjsLib.getDocument(blobUrl).promise;
|
const pdf = await pdfjsLib.getDocument(blobUrl).promise;
|
||||||
@@ -173,18 +145,3 @@ function updateFiles() {
|
|||||||
}
|
}
|
||||||
document.getElementById("fileInput-input").files = dataTransfer.files;
|
document.getElementById("fileInput-input").files = dataTransfer.files;
|
||||||
}
|
}
|
||||||
|
|
||||||
document.querySelector("#resetFileInputBtn").addEventListener("click", ()=>{
|
|
||||||
let formElement = document.querySelector("#fileInput-input");
|
|
||||||
formElement.value = '';
|
|
||||||
clearLiElements();
|
|
||||||
updateFiles();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
function clearLiElements(){
|
|
||||||
let listGroupItemNodeList = document.querySelectorAll(".list-group-item");
|
|
||||||
for (let i = 0; i < listGroupItemNodeList.length; i++) {
|
|
||||||
listGroupItemNodeList[i].remove();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
class PdfActionsManager {
|
class PdfActionsManager {
|
||||||
pageDirection;
|
pageDirection;
|
||||||
pagesContainer;
|
pagesContainer;
|
||||||
static selectedPages = []; // Static property shared across all instances
|
|
||||||
|
|
||||||
constructor(id) {
|
constructor(id) {
|
||||||
this.pagesContainer = document.getElementById(id);
|
this.pagesContainer = document.getElementById(id);
|
||||||
@@ -74,11 +73,6 @@ class PdfActionsManager {
|
|||||||
this.addFiles(imgContainer);
|
this.addFiles(imgContainer);
|
||||||
}
|
}
|
||||||
|
|
||||||
insertFileBlankButtonCallback(e) {
|
|
||||||
var imgContainer = this.getPageContainer(e.target);
|
|
||||||
this.addFiles(imgContainer, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
splitFileButtonCallback(e) {
|
splitFileButtonCallback(e) {
|
||||||
var imgContainer = this.getPageContainer(e.target);
|
var imgContainer = this.getPageContainer(e.target);
|
||||||
imgContainer.classList.toggle("split-before");
|
imgContainer.classList.toggle("split-before");
|
||||||
@@ -95,11 +89,9 @@ class PdfActionsManager {
|
|||||||
this.rotateCWButtonCallback = this.rotateCWButtonCallback.bind(this);
|
this.rotateCWButtonCallback = this.rotateCWButtonCallback.bind(this);
|
||||||
this.deletePageButtonCallback = this.deletePageButtonCallback.bind(this);
|
this.deletePageButtonCallback = this.deletePageButtonCallback.bind(this);
|
||||||
this.insertFileButtonCallback = this.insertFileButtonCallback.bind(this);
|
this.insertFileButtonCallback = this.insertFileButtonCallback.bind(this);
|
||||||
this.insertFileBlankButtonCallback = this.insertFileBlankButtonCallback.bind(this);
|
|
||||||
this.splitFileButtonCallback = this.splitFileButtonCallback.bind(this);
|
this.splitFileButtonCallback = this.splitFileButtonCallback.bind(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
adapt(div) {
|
adapt(div) {
|
||||||
div.classList.add("pdf-actions_container");
|
div.classList.add("pdf-actions_container");
|
||||||
const leftDirection = this.pageDirection === "rtl" ? "right" : "left";
|
const leftDirection = this.pageDirection === "rtl" ? "right" : "left";
|
||||||
@@ -140,45 +132,6 @@ class PdfActionsManager {
|
|||||||
|
|
||||||
div.appendChild(buttonContainer);
|
div.appendChild(buttonContainer);
|
||||||
|
|
||||||
//enerate checkbox to select individual pages
|
|
||||||
const selectCheckbox = document.createElement("input");
|
|
||||||
selectCheckbox.type = "checkbox";
|
|
||||||
selectCheckbox.classList.add("pdf-actions_checkbox", "form-check-input");
|
|
||||||
selectCheckbox.id = `selectPageCheckbox`;
|
|
||||||
selectCheckbox.checked = window.selectAll;
|
|
||||||
|
|
||||||
div.appendChild(selectCheckbox);
|
|
||||||
|
|
||||||
//only show whenpage select mode is active
|
|
||||||
if (!window.selectPage) {
|
|
||||||
selectCheckbox.classList.add("hidden");
|
|
||||||
} else {
|
|
||||||
selectCheckbox.classList.remove("hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
selectCheckbox.onchange = () => {
|
|
||||||
const pageNumber = Array.from(div.parentNode.children).indexOf(div) + 1;
|
|
||||||
if (selectCheckbox.checked) {
|
|
||||||
//adds to array of selected pages
|
|
||||||
window.selectedPages.push(pageNumber);
|
|
||||||
} else {
|
|
||||||
//remove page from selected pages array
|
|
||||||
const index = window.selectedPages.indexOf(pageNumber);
|
|
||||||
if (index !== -1) {
|
|
||||||
window.selectedPages.splice(index, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (window.selectedPages.length > 0 && !window.selectPage) {
|
|
||||||
window.toggleSelectPageVisibility();
|
|
||||||
}
|
|
||||||
if (window.selectedPages.length == 0 && window.selectPage) {
|
|
||||||
window.toggleSelectPageVisibility();
|
|
||||||
}
|
|
||||||
|
|
||||||
window.updateSelectedPagesDisplay();
|
|
||||||
};
|
|
||||||
|
|
||||||
const insertFileButtonContainer = document.createElement("div");
|
const insertFileButtonContainer = document.createElement("div");
|
||||||
|
|
||||||
insertFileButtonContainer.classList.add(
|
insertFileButtonContainer.classList.add(
|
||||||
@@ -199,12 +152,6 @@ class PdfActionsManager {
|
|||||||
splitFileButton.onclick = this.splitFileButtonCallback;
|
splitFileButton.onclick = this.splitFileButtonCallback;
|
||||||
insertFileButtonContainer.appendChild(splitFileButton);
|
insertFileButtonContainer.appendChild(splitFileButton);
|
||||||
|
|
||||||
const insertFileBlankButton = document.createElement("button");
|
|
||||||
insertFileBlankButton.classList.add("btn", "btn-primary", "pdf-actions_insert-file-blank-button");
|
|
||||||
insertFileBlankButton.innerHTML = `<span class="material-symbols-rounded">insert_page_break</span>`;
|
|
||||||
insertFileBlankButton.onclick = this.insertFileBlankButtonCallback;
|
|
||||||
insertFileButtonContainer.appendChild(insertFileBlankButton);
|
|
||||||
|
|
||||||
div.appendChild(insertFileButtonContainer);
|
div.appendChild(insertFileButtonContainer);
|
||||||
|
|
||||||
// add this button to every element, but only show it on the last one :D
|
// add this button to every element, but only show it on the last one :D
|
||||||
@@ -232,29 +179,15 @@ class PdfActionsManager {
|
|||||||
};
|
};
|
||||||
|
|
||||||
div.addEventListener("mouseenter", () => {
|
div.addEventListener("mouseenter", () => {
|
||||||
window.updatePageNumbersAndCheckboxes();
|
|
||||||
const pageNumber = Array.from(div.parentNode.children).indexOf(div) + 1;
|
const pageNumber = Array.from(div.parentNode.children).indexOf(div) + 1;
|
||||||
adaptPageNumber(pageNumber, div);
|
adaptPageNumber(pageNumber, div);
|
||||||
const checkbox = document.getElementById(`selectPageCheckbox-${pageNumber}`);
|
|
||||||
if (checkbox && !window.selectPage) {
|
|
||||||
checkbox.classList.remove("hidden");
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
div.addEventListener("mouseleave", () => {
|
div.addEventListener("mouseleave", () => {
|
||||||
const pageNumber = Array.from(div.parentNode.children).indexOf(div) + 1;
|
|
||||||
const pageNumberElement = div.querySelector(".page-number");
|
const pageNumberElement = div.querySelector(".page-number");
|
||||||
if (pageNumberElement) {
|
if (pageNumberElement) {
|
||||||
div.removeChild(pageNumberElement);
|
div.removeChild(pageNumberElement);
|
||||||
}
|
}
|
||||||
const checkbox = document.getElementById(`selectPageCheckbox-${pageNumber}`);
|
|
||||||
if (checkbox && !window.selectPage) {
|
|
||||||
checkbox.classList.add("hidden");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
document.addEventListener("selectedPagesUpdated", () => {
|
|
||||||
window.updateSelectedPagesDisplay();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return div;
|
return div;
|
||||||
|
|||||||
@@ -22,13 +22,6 @@ class PdfContainer {
|
|||||||
this.nameAndArchiveFiles = this.nameAndArchiveFiles.bind(this);
|
this.nameAndArchiveFiles = this.nameAndArchiveFiles.bind(this);
|
||||||
this.splitPDF = this.splitPDF.bind(this);
|
this.splitPDF = this.splitPDF.bind(this);
|
||||||
this.splitAll = this.splitAll.bind(this);
|
this.splitAll = this.splitAll.bind(this);
|
||||||
this.deleteSelected = this.deleteSelected.bind(this);
|
|
||||||
this.toggleSelectAll = this.toggleSelectAll.bind(this);
|
|
||||||
this.updateSelectedPagesDisplay = this.updateSelectedPagesDisplay.bind(this);
|
|
||||||
this.toggleSelectPageVisibility = this.toggleSelectPageVisibility.bind(this);
|
|
||||||
this.updatePagesFromCSV = this.updatePagesFromCSV.bind(this);
|
|
||||||
this.addFilesBlankAll = this.addFilesBlankAll.bind(this)
|
|
||||||
this.removeAllElements = this.removeAllElements.bind(this);
|
|
||||||
|
|
||||||
this.pdfAdapters = pdfAdapters;
|
this.pdfAdapters = pdfAdapters;
|
||||||
|
|
||||||
@@ -38,7 +31,6 @@ class PdfContainer {
|
|||||||
addFiles: this.addFiles,
|
addFiles: this.addFiles,
|
||||||
rotateElement: this.rotateElement,
|
rotateElement: this.rotateElement,
|
||||||
updateFilename: this.updateFilename,
|
updateFilename: this.updateFilename,
|
||||||
deleteSelected: this.deleteSelected,
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -46,15 +38,6 @@ class PdfContainer {
|
|||||||
window.exportPdf = this.exportPdf;
|
window.exportPdf = this.exportPdf;
|
||||||
window.rotateAll = this.rotateAll;
|
window.rotateAll = this.rotateAll;
|
||||||
window.splitAll = this.splitAll;
|
window.splitAll = this.splitAll;
|
||||||
window.deleteSelected = this.deleteSelected;
|
|
||||||
window.toggleSelectAll = this.toggleSelectAll;
|
|
||||||
window.updateSelectedPagesDisplay = this.updateSelectedPagesDisplay;
|
|
||||||
window.toggleSelectPageVisibility = this.toggleSelectPageVisibility;
|
|
||||||
window.updatePagesFromCSV = this.updatePagesFromCSV;
|
|
||||||
window.updateSelectedPagesDisplay = this.updateSelectedPagesDisplay;
|
|
||||||
window.updatePageNumbersAndCheckboxes = this.updatePageNumbersAndCheckboxes;
|
|
||||||
window.addFilesBlankAll = this.addFilesBlankAll
|
|
||||||
window.removeAllElements = this.removeAllElements;
|
|
||||||
|
|
||||||
const filenameInput = document.getElementById("filename-input");
|
const filenameInput = document.getElementById("filename-input");
|
||||||
const downloadBtn = document.getElementById("export-button");
|
const downloadBtn = document.getElementById("export-button");
|
||||||
@@ -94,12 +77,7 @@ class PdfContainer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
addFiles(nextSiblingElement, blank = false) {
|
addFiles(nextSiblingElement) {
|
||||||
if (blank) {
|
|
||||||
|
|
||||||
this.addFilesBlank(nextSiblingElement);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
var input = document.createElement("input");
|
var input = document.createElement("input");
|
||||||
input.type = "file";
|
input.type = "file";
|
||||||
input.multiple = true;
|
input.multiple = true;
|
||||||
@@ -109,13 +87,10 @@ class PdfContainer {
|
|||||||
|
|
||||||
this.addFilesFromFiles(files, nextSiblingElement);
|
this.addFilesFromFiles(files, nextSiblingElement);
|
||||||
this.updateFilename(files ? files[0].name : "");
|
this.updateFilename(files ? files[0].name : "");
|
||||||
const selectAll = document.getElementById("select-pages-container");
|
|
||||||
selectAll.classList.toggle("hidden", false);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
input.click();
|
input.click();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
async addFilesFromFiles(files, nextSiblingElement) {
|
async addFilesFromFiles(files, nextSiblingElement) {
|
||||||
this.fileName = files[0].name;
|
this.fileName = files[0].name;
|
||||||
@@ -133,47 +108,6 @@ class PdfContainer {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async addFilesBlank(nextSiblingElement) {
|
|
||||||
const pdfContent = `
|
|
||||||
%PDF-1.4
|
|
||||||
1 0 obj
|
|
||||||
<< /Type /Catalog /Pages 2 0 R >>
|
|
||||||
endobj
|
|
||||||
2 0 obj
|
|
||||||
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
|
|
||||||
endobj
|
|
||||||
3 0 obj
|
|
||||||
<< /Type /Page /Parent 2 0 R /MediaBox [0 0 595 842] /Contents 5 0 R >>
|
|
||||||
endobj
|
|
||||||
5 0 obj
|
|
||||||
<< /Length 44 >>
|
|
||||||
stream
|
|
||||||
0 0 0 595 0 842 re
|
|
||||||
W
|
|
||||||
n
|
|
||||||
endstream
|
|
||||||
endobj
|
|
||||||
xref
|
|
||||||
0 6
|
|
||||||
0000000000 65535 f
|
|
||||||
0000000010 00000 n
|
|
||||||
0000000071 00000 n
|
|
||||||
0000000121 00000 n
|
|
||||||
0000000205 00000 n
|
|
||||||
0000000400 00000 n
|
|
||||||
trailer
|
|
||||||
<< /Size 6 /Root 1 0 R >>
|
|
||||||
startxref
|
|
||||||
278
|
|
||||||
%%EOF
|
|
||||||
`;
|
|
||||||
const blob = new Blob([pdfContent], { type: 'application/pdf' });
|
|
||||||
const url = URL.createObjectURL(blob);
|
|
||||||
const file = new File([blob], "blank_page.pdf", { type: "application/pdf" });
|
|
||||||
await this.addPdfFile(file, nextSiblingElement);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
rotateElement(element, deg) {
|
rotateElement(element, deg) {
|
||||||
var lastTransform = element.style.rotate;
|
var lastTransform = element.style.rotate;
|
||||||
if (!lastTransform) {
|
if (!lastTransform) {
|
||||||
@@ -281,232 +215,18 @@ class PdfContainer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
rotateAll(deg) {
|
rotateAll(deg) {
|
||||||
for (let i = 0; i < this.pagesContainer.childNodes.length; i++) {
|
for (var i = 0; i < this.pagesContainer.childNodes.length; i++) {
|
||||||
const child = this.pagesContainer.children[i];
|
const child = this.pagesContainer.children[i];
|
||||||
if (!child) continue;
|
if (!child) continue;
|
||||||
|
|
||||||
const pageIndex = i + 1;
|
|
||||||
//if in page select mode is active rotate only selected pages
|
|
||||||
if (window.selectPage && !window.selectedPages.includes(pageIndex)) continue;
|
|
||||||
|
|
||||||
const img = child.querySelector("img");
|
const img = child.querySelector("img");
|
||||||
if (!img) continue;
|
if (!img) continue;
|
||||||
|
|
||||||
this.rotateElement(img, deg);
|
this.rotateElement(img, deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
removeAllElements(){
|
|
||||||
let pageContainerNodeList = document.querySelectorAll(".page-container");
|
|
||||||
for (var i = 0; i < pageContainerNodeList.length; i++) {
|
|
||||||
pageContainerNodeList[i].remove();
|
|
||||||
}
|
|
||||||
document.querySelectorAll(".enable-on-file").forEach((element) => {
|
|
||||||
element.disabled = true;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
deleteSelected() {
|
|
||||||
window.selectedPages.sort((a, b) => a - b);
|
|
||||||
let deletions = 0;
|
|
||||||
|
|
||||||
window.selectedPages.forEach((pageIndex) => {
|
|
||||||
const adjustedIndex = pageIndex - 1 - deletions;
|
|
||||||
const child = this.pagesContainer.children[adjustedIndex];
|
|
||||||
if (child) {
|
|
||||||
this.pagesContainer.removeChild(child);
|
|
||||||
deletions++;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (this.pagesContainer.childElementCount === 0) {
|
|
||||||
const filenameInput = document.getElementById("filename-input");
|
|
||||||
const filenameParagraph = document.getElementById("filename");
|
|
||||||
const downloadBtn = document.getElementById("export-button");
|
|
||||||
|
|
||||||
if (filenameInput)
|
|
||||||
filenameInput.disabled = true;
|
|
||||||
filenameInput.value = "";
|
|
||||||
if (filenameParagraph)
|
|
||||||
filenameParagraph.innerText = "";
|
|
||||||
|
|
||||||
downloadBtn.disabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
window.selectedPages = [];
|
|
||||||
this.updatePageNumbersAndCheckboxes();
|
|
||||||
document.dispatchEvent(new Event("selectedPagesUpdated"));
|
|
||||||
}
|
|
||||||
|
|
||||||
toggleSelectAll() {
|
|
||||||
const checkboxes = document.querySelectorAll(".pdf-actions_checkbox");
|
|
||||||
window.selectAll = !window.selectAll;
|
|
||||||
const selectIcon = document.getElementById("select-icon");
|
|
||||||
const deselectIcon = document.getElementById("deselect-icon");
|
|
||||||
|
|
||||||
if (selectIcon.style.display === "none") {
|
|
||||||
selectIcon.style.display = "inline";
|
|
||||||
deselectIcon.style.display = "none";
|
|
||||||
} else {
|
|
||||||
selectIcon.style.display = "none";
|
|
||||||
deselectIcon.style.display = "inline";
|
|
||||||
}
|
|
||||||
checkboxes.forEach((checkbox) => {
|
|
||||||
|
|
||||||
checkbox.checked = window.selectAll;
|
|
||||||
|
|
||||||
const pageNumber = Array.from(checkbox.parentNode.parentNode.children).indexOf(checkbox.parentNode) + 1;
|
|
||||||
|
|
||||||
if (checkbox.checked) {
|
|
||||||
if (!window.selectedPages.includes(pageNumber)) {
|
|
||||||
window.selectedPages.push(pageNumber);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
const index = window.selectedPages.indexOf(pageNumber);
|
|
||||||
if (index !== -1) {
|
|
||||||
window.selectedPages.splice(index, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
this.updateSelectedPagesDisplay();
|
|
||||||
}
|
|
||||||
|
|
||||||
parseCSVInput(csvInput, maxPageIndex) {
|
|
||||||
const pages = new Set();
|
|
||||||
|
|
||||||
csvInput.split(",").forEach((item) => {
|
|
||||||
const range = item.split("-").map((p) => parseInt(p.trim()));
|
|
||||||
if (range.length === 2) {
|
|
||||||
const [start, end] = range;
|
|
||||||
for (let i = start; i <= end && i <= maxPageIndex; i++) {
|
|
||||||
if (i > 0) { // Ensure the page number is greater than 0
|
|
||||||
pages.add(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (range.length === 1 && Number.isInteger(range[0])) {
|
|
||||||
const page = range[0];
|
|
||||||
if (page > 0 && page <= maxPageIndex) { // Ensure page is within valid range
|
|
||||||
pages.add(page);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return Array.from(pages).sort((a, b) => a - b);
|
|
||||||
}
|
|
||||||
|
|
||||||
updatePagesFromCSV() {
|
|
||||||
const csvInput = document.getElementById("csv-input").value;
|
|
||||||
|
|
||||||
const allPages = this.pagesContainer.querySelectorAll(".page-container");
|
|
||||||
const maxPageIndex = allPages.length;
|
|
||||||
|
|
||||||
window.selectedPages = this.parseCSVInput(csvInput, maxPageIndex);
|
|
||||||
|
|
||||||
this.updateSelectedPagesDisplay();
|
|
||||||
|
|
||||||
const allCheckboxes = document.querySelectorAll(".pdf-actions_checkbox");
|
|
||||||
allCheckboxes.forEach((checkbox) => {
|
|
||||||
const page = parseInt(checkbox.getAttribute("data-page-number"));
|
|
||||||
checkbox.checked = window.selectedPages.includes(page);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
formatSelectedPages(pages) {
|
|
||||||
if (pages.length === 0) return "";
|
|
||||||
|
|
||||||
pages.sort((a, b) => a - b); // Sort the page numbers in ascending order
|
|
||||||
const ranges = [];
|
|
||||||
let start = pages[0];
|
|
||||||
let end = start;
|
|
||||||
|
|
||||||
for (let i = 1; i < pages.length; i++) {
|
|
||||||
if (pages[i] === end + 1) {
|
|
||||||
// Consecutive page, update end
|
|
||||||
end = pages[i];
|
|
||||||
} else {
|
|
||||||
// Non-consecutive page, finalize current range
|
|
||||||
ranges.push(start === end ? `${start}` : `${start}-${end}`);
|
|
||||||
start = pages[i];
|
|
||||||
end = start;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Add the last range
|
|
||||||
ranges.push(start === end ? `${start}` : `${start}-${end}`);
|
|
||||||
|
|
||||||
return ranges.join(", ");
|
|
||||||
}
|
|
||||||
|
|
||||||
updateSelectedPagesDisplay() {
|
|
||||||
const selectedPagesList = document.getElementById("selected-pages-list");
|
|
||||||
const selectedPagesInput = document.getElementById("csv-input");
|
|
||||||
selectedPagesList.innerHTML = ""; // Clear the list
|
|
||||||
|
|
||||||
window.selectedPages.forEach((page) => {
|
|
||||||
const pageItem = document.createElement("div");
|
|
||||||
pageItem.className = "page-item";
|
|
||||||
|
|
||||||
const pageNumber = document.createElement("span");
|
|
||||||
const pagelabel = /*[[#{multiTool.page}]]*/ 'Page';
|
|
||||||
pageNumber.className = "selected-page-number";
|
|
||||||
pageNumber.innerText = `${pagelabel} ${page}`;
|
|
||||||
pageItem.appendChild(pageNumber);
|
|
||||||
|
|
||||||
const removeBtn = document.createElement("span");
|
|
||||||
removeBtn.className = "remove-btn";
|
|
||||||
removeBtn.innerHTML = "✕";
|
|
||||||
|
|
||||||
// Remove page from selected pages list and update display and checkbox
|
|
||||||
removeBtn.onclick = () => {
|
|
||||||
window.selectedPages = window.selectedPages.filter((p) => p !== page);
|
|
||||||
this.updateSelectedPagesDisplay();
|
|
||||||
|
|
||||||
const checkbox = document.getElementById(`selectPageCheckbox-${page}`);
|
|
||||||
if (checkbox) {
|
|
||||||
checkbox.checked = false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
pageItem.appendChild(removeBtn);
|
|
||||||
selectedPagesList.appendChild(pageItem);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Update the input field with the formatted page list
|
|
||||||
selectedPagesInput.value = this.formatSelectedPages(window.selectedPages);
|
|
||||||
}
|
|
||||||
|
|
||||||
parsePageRanges(ranges) {
|
|
||||||
const pages = new Set();
|
|
||||||
|
|
||||||
ranges.split(',').forEach(range => {
|
|
||||||
const [start, end] = range.split('-').map(Number);
|
|
||||||
if (end) {
|
|
||||||
for (let i = start; i <= end; i++) {
|
|
||||||
pages.add(i);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pages.add(start);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return Array.from(pages).sort((a, b) => a - b);
|
|
||||||
}
|
|
||||||
|
|
||||||
addFilesBlankAll() {
|
|
||||||
const allPages = this.pagesContainer.querySelectorAll(".page-container");
|
|
||||||
allPages.forEach((page, index) => {
|
|
||||||
if (index !== 0) {
|
|
||||||
this.addFiles(page, true)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
splitAll() {
|
splitAll() {
|
||||||
const allPages = this.pagesContainer.querySelectorAll(".page-container");
|
const allPages = this.pagesContainer.querySelectorAll(".page-container");
|
||||||
|
if (this.pagesContainer.querySelectorAll(".split-before").length > 0) {
|
||||||
if (!window.selectPage) {
|
|
||||||
const hasSplit = this.pagesContainer.querySelectorAll(".split-before").length > 0;
|
|
||||||
if (hasSplit) {
|
|
||||||
allPages.forEach(page => {
|
allPages.forEach(page => {
|
||||||
page.classList.remove("split-before");
|
page.classList.remove("split-before");
|
||||||
});
|
});
|
||||||
@@ -515,22 +235,8 @@ class PdfContainer {
|
|||||||
page.classList.add("split-before");
|
page.classList.add("split-before");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
allPages.forEach((page, index) => {
|
|
||||||
const pageIndex = index;
|
|
||||||
if (window.selectPage && !window.selectedPages.includes(pageIndex)) return;
|
|
||||||
|
|
||||||
if (page.classList.contains("split-before")) {
|
|
||||||
page.classList.remove("split-before");
|
|
||||||
} else {
|
|
||||||
page.classList.add("split-before");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
async splitPDF(baseDocBytes, splitters) {
|
async splitPDF(baseDocBytes, splitters) {
|
||||||
const baseDocument = await PDFLib.PDFDocument.load(baseDocBytes);
|
const baseDocument = await PDFLib.PDFDocument.load(baseDocBytes);
|
||||||
const pageNum = baseDocument.getPages().length;
|
const pageNum = baseDocument.getPages().length;
|
||||||
@@ -573,11 +279,10 @@ class PdfContainer {
|
|||||||
return zip;
|
return zip;
|
||||||
}
|
}
|
||||||
|
|
||||||
async exportPdf(selected) {
|
async exportPdf() {
|
||||||
const pdfDoc = await PDFLib.PDFDocument.create();
|
const pdfDoc = await PDFLib.PDFDocument.create();
|
||||||
const pageContainers = this.pagesContainer.querySelectorAll(".page-container"); // Select all .page-container elements
|
const pageContainers = this.pagesContainer.querySelectorAll(".page-container"); // Select all .page-container elements
|
||||||
for (var i = 0; i < pageContainers.length; i++) {
|
for (var i = 0; i < pageContainers.length; i++) {
|
||||||
if (!selected || window.selectedPages.includes(i + 1)) {
|
|
||||||
const img = pageContainers[i].querySelector("img"); // Find the img element within each .page-container
|
const img = pageContainers[i].querySelector("img"); // Find the img element within each .page-container
|
||||||
if (!img) continue;
|
if (!img) continue;
|
||||||
let page;
|
let page;
|
||||||
@@ -622,7 +327,6 @@ class PdfContainer {
|
|||||||
page.setRotation(PDFLib.degrees(page.getRotation().angle + rotationAngle));
|
page.setRotation(PDFLib.degrees(page.getRotation().angle + rotationAngle));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
pdfDoc.setCreator(stirlingPDFLabel);
|
pdfDoc.setCreator(stirlingPDFLabel);
|
||||||
pdfDoc.setProducer(stirlingPDFLabel);
|
pdfDoc.setProducer(stirlingPDFLabel);
|
||||||
|
|
||||||
@@ -732,44 +436,7 @@ class PdfContainer {
|
|||||||
// filenameInput.value.replace('.','');
|
// filenameInput.value.replace('.','');
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
toggleSelectPageVisibility() {
|
|
||||||
window.selectPage = !window.selectPage;
|
|
||||||
const checkboxes = document.querySelectorAll(".pdf-actions_checkbox");
|
|
||||||
checkboxes.forEach(checkbox => {
|
|
||||||
checkbox.classList.toggle("hidden", !window.selectPage);
|
|
||||||
});
|
|
||||||
const deleteButton = document.getElementById("delete-button");
|
|
||||||
deleteButton.classList.toggle("hidden", !window.selectPage);
|
|
||||||
const selectedPages = document.getElementById("selected-pages-display");
|
|
||||||
selectedPages.classList.toggle("hidden", !window.selectPage);
|
|
||||||
const selectAll = document.getElementById("select-All-Container");
|
|
||||||
selectedPages.classList.toggle("hidden", !window.selectPage);
|
|
||||||
const exportSelected = document.getElementById("export-selected-button");
|
|
||||||
exportSelected.classList.toggle("hidden", !window.selectPage);
|
|
||||||
const selectPagesButton = document.getElementById("select-pages-button");
|
|
||||||
selectPagesButton.style.opacity = window.selectPage ? "1" : "0.5";
|
|
||||||
|
|
||||||
if (window.selectPage) {
|
|
||||||
this.updatePageNumbersAndCheckboxes();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
updatePageNumbersAndCheckboxes() {
|
|
||||||
const pageDivs = document.querySelectorAll(".pdf-actions_container");
|
|
||||||
|
|
||||||
pageDivs.forEach((div, index) => {
|
|
||||||
const pageNumber = index + 1;
|
|
||||||
const checkbox = div.querySelector(".pdf-actions_checkbox");
|
|
||||||
checkbox.id = `selectPageCheckbox-${pageNumber}`;
|
|
||||||
checkbox.setAttribute("data-page-number", pageNumber);
|
|
||||||
checkbox.checked = window.selectedPages.includes(pageNumber);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function detectImageType(uint8Array) {
|
function detectImageType(uint8Array) {
|
||||||
// Check for PNG signature
|
// Check for PNG signature
|
||||||
if (uint8Array[0] === 137 && uint8Array[1] === 80 && uint8Array[2] === 78 && uint8Array[3] === 71) {
|
if (uint8Array[0] === 137 && uint8Array[1] === 80 && uint8Array[2] === 78 && uint8Array[3] === 71) {
|
||||||
@@ -794,7 +461,4 @@ function detectImageType(uint8Array) {
|
|||||||
|
|
||||||
return 'UNKNOWN';
|
return 'UNKNOWN';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default PdfContainer;
|
export default PdfContainer;
|
||||||
|
|||||||
@@ -70,37 +70,3 @@ document.querySelector("#navbarSearchInput").addEventListener("input", function
|
|||||||
resultsBox.style.width = window.navItemMaxWidth + "px";
|
resultsBox.style.width = window.navItemMaxWidth + "px";
|
||||||
});
|
});
|
||||||
|
|
||||||
const searchDropdown = document.getElementById('searchDropdown');
|
|
||||||
const searchInput = document.getElementById('navbarSearchInput');
|
|
||||||
const dropdownMenu = searchDropdown.querySelector('.dropdown-menu');
|
|
||||||
|
|
||||||
// Handle dropdown shown event
|
|
||||||
searchDropdown.addEventListener('shown.bs.dropdown', function () {
|
|
||||||
searchInput.focus();
|
|
||||||
});
|
|
||||||
|
|
||||||
// Handle hover opening
|
|
||||||
searchDropdown.addEventListener('mouseenter', function () {
|
|
||||||
const dropdownInstance = new bootstrap.Dropdown(searchDropdown);
|
|
||||||
dropdownInstance.show();
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
searchInput.focus();
|
|
||||||
}, 100);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Handle mouse leave
|
|
||||||
searchDropdown.addEventListener('mouseleave', function () {
|
|
||||||
// Check if current value is empty (including if user typed and then deleted)
|
|
||||||
if (searchInput.value.trim().length === 0) {
|
|
||||||
searchInput.blur();
|
|
||||||
const dropdownInstance = new bootstrap.Dropdown(searchDropdown);
|
|
||||||
dropdownInstance.hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
searchDropdown.addEventListener('hidden.bs.dropdown', function () {
|
|
||||||
if (searchInput.value.trim().length === 0) {
|
|
||||||
searchInput.blur();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -18,7 +18,7 @@
|
|||||||
<span class="tool-header-text" th:text="#{MarkdownToPDF.header}"></span>
|
<span class="tool-header-text" th:text="#{MarkdownToPDF.header}"></span>
|
||||||
</div>
|
</div>
|
||||||
<form method="post" enctype="multipart/form-data" th:action="@{'/api/v1/convert/markdown/pdf'}">
|
<form method="post" enctype="multipart/form-data" th:action="@{'/api/v1/convert/markdown/pdf'}">
|
||||||
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='.md')}"></div>
|
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='text/markdown')}"></div>
|
||||||
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{MarkdownToPDF.submit}"></button>
|
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{MarkdownToPDF.submit}"></button>
|
||||||
</form>
|
</form>
|
||||||
<p class="mt-3" th:text="#{MarkdownToPDF.help}"></p>
|
<p class="mt-3" th:text="#{MarkdownToPDF.help}"></p>
|
||||||
|
|||||||
@@ -23,26 +23,23 @@
|
|||||||
</form>
|
</form>
|
||||||
<p id="instruction-text" style="margin: 0; display: none" th:text="#{PDFToCSV.prompt}"></p>
|
<p id="instruction-text" style="margin: 0; display: none" th:text="#{PDFToCSV.prompt}"></p>
|
||||||
|
|
||||||
<div style="position: relative; width: auto;" id="canvasesContainer">
|
<div style="position: relative; display: inline-block;">
|
||||||
<div>
|
<div>
|
||||||
<div style="display:none ;margin: 3px;position: absolute;top: 0;width: 120px;justify-content:space-between;z-index: 10" id="pagination-button-container">
|
<div style="display:none ;margin: 3px;position: absolute;top: 0;width: 120px;justify-content:space-between;z-index: 10" id="pagination-button-container">
|
||||||
<button id='previous-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> < </button>
|
<button id='previous-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> < </button>
|
||||||
<button id='next-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> > </button>
|
<button id='next-page-btn' style='opacity: 80% ; width: 50px; height: 30px; display: flex;align-items: center;justify-content: center; background: grey; color: #ffffff; ;border: none;outline: none; border-radius: 4px;'> > </button>
|
||||||
</div>
|
</div>
|
||||||
<canvas id="cropPdfCanvas" style="width: 100%"></canvas>
|
<canvas id="crop-pdf-canvas" style="position: absolute; top: 0; left: 0; z-index: 1;"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2; width: 100%"></canvas>
|
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2;"></canvas>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
||||||
<script>
|
<script>
|
||||||
let pdfCanvas = document.getElementById('cropPdfCanvas');
|
let pdfCanvas = document.getElementById('crop-pdf-canvas');
|
||||||
let overlayCanvas = document.getElementById('overlayCanvas');
|
let overlayCanvas = document.getElementById('overlayCanvas');
|
||||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
|
||||||
canvasesContainer.style.display = "none";
|
|
||||||
// let paginationBtnContainer = ;
|
// let paginationBtnContainer = ;
|
||||||
|
|
||||||
let context = pdfCanvas.getContext('2d');
|
let context = pdfCanvas.getContext('2d');
|
||||||
let overlayContext = overlayCanvas.getContext('2d');
|
|
||||||
|
|
||||||
let btn1Object = document.getElementById('previous-page-btn');
|
let btn1Object = document.getElementById('previous-page-btn');
|
||||||
let btn2Object = document.getElementById('next-page-btn');
|
let btn2Object = document.getElementById('next-page-btn');
|
||||||
@@ -63,8 +60,6 @@
|
|||||||
let rectWidth = 0;
|
let rectWidth = 0;
|
||||||
let rectHeight = 0;
|
let rectHeight = 0;
|
||||||
|
|
||||||
let timeId = null; // timeout id for resizing canvases event
|
|
||||||
|
|
||||||
btn1Object.addEventListener('click',function (e){
|
btn1Object.addEventListener('click',function (e){
|
||||||
if (currentPage !== 1) {
|
if (currentPage !== 1) {
|
||||||
currentPage = currentPage - 1;
|
currentPage = currentPage - 1;
|
||||||
@@ -107,13 +102,14 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function renderPageFromFile(file) {
|
fileInput.addEventListener('change', function(e) {
|
||||||
|
file = e.target.files[0];
|
||||||
if (file.type === 'application/pdf') {
|
if (file.type === 'application/pdf') {
|
||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
reader.onload = function (ev) {
|
reader.onload = function(ev) {
|
||||||
let typedArray = new Uint8Array(reader.result);
|
let typedArray = new Uint8Array(reader.result);
|
||||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||||
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
pdfjsLib.getDocument(typedArray).promise.then(function(pdf) {
|
||||||
pdfDoc = pdf;
|
pdfDoc = pdf;
|
||||||
totalPages = pdf.numPages;
|
totalPages = pdf.numPages;
|
||||||
renderPage(currentPage);
|
renderPage(currentPage);
|
||||||
@@ -121,37 +117,9 @@
|
|||||||
pageId.value = currentPage;
|
pageId.value = currentPage;
|
||||||
};
|
};
|
||||||
reader.readAsArrayBuffer(file);
|
reader.readAsArrayBuffer(file);
|
||||||
document.getElementById("pagination-button-container").style.display = "flex";
|
document.getElementById("pagination-button-container").style.display="flex";
|
||||||
document.getElementById("instruction-text").style.display = "block";
|
document.getElementById("instruction-text").style.display="block";
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener("resize", function() {
|
|
||||||
clearTimeout(timeId);
|
|
||||||
timeId = setTimeout(function () {
|
|
||||||
if (fileInput.files.length == 0) return;
|
|
||||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
|
||||||
let containerRect = canvasesContainer.getBoundingClientRect();
|
|
||||||
|
|
||||||
context.clearRect(0, 0, pdfCanvas.width, pdfCanvas.height);
|
|
||||||
|
|
||||||
overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);
|
|
||||||
|
|
||||||
pdfCanvas.width = containerRect.width;
|
|
||||||
pdfCanvas.height = containerRect.height;
|
|
||||||
|
|
||||||
overlayCanvas.width = containerRect.width;
|
|
||||||
overlayCanvas.height = containerRect.height;
|
|
||||||
|
|
||||||
let file = fileInput.files[0];
|
|
||||||
renderPageFromFile(file);
|
|
||||||
}, 1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
fileInput.addEventListener('change', function(e) {
|
|
||||||
canvasesContainer.style.display = "block"; // set for visual purposes
|
|
||||||
file = e.target.files[0];
|
|
||||||
renderPageFromFile(file);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function renderPage(pageNumber) {
|
function renderPage(pageNumber) {
|
||||||
|
|||||||
@@ -24,20 +24,16 @@
|
|||||||
<input id="height" type="hidden" name="height">
|
<input id="height" type="hidden" name="height">
|
||||||
<button type="submit" class="btn btn-primary" th:text="#{crop.submit}"></button>
|
<button type="submit" class="btn btn-primary" th:text="#{crop.submit}"></button>
|
||||||
</form>
|
</form>
|
||||||
<div id="canvasesContainer" style="position: relative; margin: 20px 0; width: auto;">
|
<div style="position: relative; display: inline-block;">
|
||||||
<canvas id="cropPdfCanvas" style="width: 100%"></canvas>
|
<canvas id="crop-pdf-canvas" style="position: absolute; top: 0; left: 0; z-index: 1;"></canvas>
|
||||||
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2; width: 100%"></canvas>
|
<canvas id="overlayCanvas" style="position: absolute; top: 0; left: 0; z-index: 2;"></canvas>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
||||||
<script>
|
<script>
|
||||||
let pdfCanvas = document.getElementById('cropPdfCanvas');
|
let pdfCanvas = document.getElementById('crop-pdf-canvas');
|
||||||
let overlayCanvas = document.getElementById('overlayCanvas');
|
let overlayCanvas = document.getElementById('overlayCanvas');
|
||||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
|
||||||
canvasesContainer.style.display = "none";
|
|
||||||
let containerRect = canvasesContainer.getBoundingClientRect();
|
|
||||||
|
|
||||||
let context = pdfCanvas.getContext('2d');
|
let context = pdfCanvas.getContext('2d');
|
||||||
let overlayContext = overlayCanvas.getContext('2d');
|
let overlayContext = overlayCanvas.getContext('2d');
|
||||||
@@ -63,11 +59,8 @@
|
|||||||
let rectWidth = 0;
|
let rectWidth = 0;
|
||||||
let rectHeight = 0;
|
let rectHeight = 0;
|
||||||
|
|
||||||
|
fileInput.addEventListener('change', function(e) {
|
||||||
let pageScale = 1; // The scale which the pdf page renders
|
let file = e.target.files[0];
|
||||||
let timeId = null; // timeout id for resizing canvases event
|
|
||||||
|
|
||||||
function renderPageFromFile(file) {
|
|
||||||
if (file.type === 'application/pdf') {
|
if (file.type === 'application/pdf') {
|
||||||
let reader = new FileReader();
|
let reader = new FileReader();
|
||||||
reader.onload = function(ev) {
|
reader.onload = function(ev) {
|
||||||
@@ -81,35 +74,6 @@
|
|||||||
};
|
};
|
||||||
reader.readAsArrayBuffer(file);
|
reader.readAsArrayBuffer(file);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
window.addEventListener("resize", function() {
|
|
||||||
clearTimeout(timeId);
|
|
||||||
|
|
||||||
timeId = setTimeout(function () {
|
|
||||||
if (fileInput.files.length == 0) return;
|
|
||||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
|
||||||
let containerRect = canvasesContainer.getBoundingClientRect();
|
|
||||||
|
|
||||||
context.clearRect(0, 0, pdfCanvas.width, pdfCanvas.height);
|
|
||||||
|
|
||||||
overlayContext.clearRect(0, 0, overlayCanvas.width, overlayCanvas.height);
|
|
||||||
|
|
||||||
pdfCanvas.width = containerRect.width;
|
|
||||||
pdfCanvas.height = containerRect.height;
|
|
||||||
|
|
||||||
overlayCanvas.width = containerRect.width;
|
|
||||||
overlayCanvas.height = containerRect.height;
|
|
||||||
|
|
||||||
let file = fileInput.files[0];
|
|
||||||
renderPageFromFile(file);
|
|
||||||
}, 1000);
|
|
||||||
});
|
|
||||||
|
|
||||||
fileInput.addEventListener('change', function(e) {
|
|
||||||
canvasesContainer.style.display = "block"; // set for visual purposes
|
|
||||||
let file = e.target.files[0];
|
|
||||||
renderPageFromFile(file);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
cropForm.addEventListener('submit', function(e) {
|
cropForm.addEventListener('submit', function(e) {
|
||||||
@@ -117,8 +81,8 @@
|
|||||||
// Ορίστε συντεταγμένες για ολόκληρη την επιφάνεια του PDF
|
// Ορίστε συντεταγμένες για ολόκληρη την επιφάνεια του PDF
|
||||||
xInput.value = 0;
|
xInput.value = 0;
|
||||||
yInput.value = 0;
|
yInput.value = 0;
|
||||||
widthInput.value = containerRect.width;
|
widthInput.value = pdfCanvas.width;
|
||||||
heightInput.value = containerRect.height;
|
heightInput.value = pdfCanvas.height;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -153,10 +117,10 @@
|
|||||||
|
|
||||||
let flippedY = pdfCanvas.height - e.offsetY;
|
let flippedY = pdfCanvas.height - e.offsetY;
|
||||||
|
|
||||||
xInput.value = startX / pageScale;
|
xInput.value = startX;
|
||||||
yInput.value = flippedY / pageScale;
|
yInput.value = flippedY;
|
||||||
widthInput.value = rectWidth / pageScale;
|
widthInput.value = rectWidth;
|
||||||
heightInput.value = rectHeight /pageScale;
|
heightInput.value = rectHeight;
|
||||||
|
|
||||||
// Draw the final rectangle on the main canvas
|
// Draw the final rectangle on the main canvas
|
||||||
context.strokeStyle = 'red';
|
context.strokeStyle = 'red';
|
||||||
@@ -167,16 +131,7 @@
|
|||||||
|
|
||||||
function renderPage(pageNumber) {
|
function renderPage(pageNumber) {
|
||||||
pdfDoc.getPage(pageNumber).then(function(page) {
|
pdfDoc.getPage(pageNumber).then(function(page) {
|
||||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
let viewport = page.getViewport({ scale: 1.0 });
|
||||||
let containerRect = canvasesContainer.getBoundingClientRect();
|
|
||||||
|
|
||||||
pageScale = containerRect.width / page.getViewport({ scale: 1 }).width; // The new scale
|
|
||||||
|
|
||||||
let viewport = page.getViewport({ scale: containerRect.width / page.getViewport({ scale: 1 }).width });
|
|
||||||
|
|
||||||
canvasesContainer.width =viewport.width;
|
|
||||||
canvasesContainer.height = viewport.height;
|
|
||||||
|
|
||||||
pdfCanvas.width = viewport.width;
|
pdfCanvas.width = viewport.width;
|
||||||
pdfCanvas.height = viewport.height;
|
pdfCanvas.height = viewport.height;
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,14 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}"
|
<html th:lang="${#locale.language}" th:dir="#{language.direction}" th:data-language="${#locale.toString()}" xmlns:th="https://www.thymeleaf.org">
|
||||||
xmlns:th="https://www.thymeleaf.org">
|
<head>
|
||||||
|
<th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}"></th:block>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
<body>
|
||||||
<th:block th:insert="~{fragments/common :: head(title=#{pageExtracter.title}, header=#{pageExtracter.header})}">
|
|
||||||
</th:block>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="page-container">
|
<div id="page-container">
|
||||||
<div id="content-wrap">
|
<div id="content-wrap">
|
||||||
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
||||||
<br><br>
|
<br><br>
|
||||||
<th:block th:insert="~{fragments/multi-toolAdvert.html :: multi-toolAdvert}"></th:block>
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row justify-content-center">
|
<div class="row justify-content-center">
|
||||||
<div class="col-md-6 bg-card">
|
<div class="col-md-6 bg-card">
|
||||||
@@ -21,14 +17,11 @@
|
|||||||
<span class="tool-header-text" th:text="#{pageExtracter.header}"></span>
|
<span class="tool-header-text" th:text="#{pageExtracter.header}"></span>
|
||||||
</div>
|
</div>
|
||||||
<form th:action="@{'/api/v1/general/rearrange-pages'}" method="post" enctype="multipart/form-data">
|
<form th:action="@{'/api/v1/general/rearrange-pages'}" method="post" enctype="multipart/form-data">
|
||||||
<div
|
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='application/pdf')}"></div>
|
||||||
th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='application/pdf')}">
|
|
||||||
</div>
|
|
||||||
<input type="hidden" id="customMode" name="customMode" value="">
|
<input type="hidden" id="customMode" name="customMode" value="">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="pageOrder" th:text="#{pageOrderPrompt}"></label>
|
<label for="pageOrder" th:text="#{pageOrderPrompt}"></label>
|
||||||
<input type="text" class="form-control" id="pageOrder" name="pageNumbers"
|
<input type="text" class="form-control" id="pageOrder" name="pageNumbers" th:placeholder="#{pageExtracter.placeholder}" required>
|
||||||
th:placeholder="#{pageExtracter.placeholder}" required>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{pageExtracter.submit}"></button>
|
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{pageExtracter.submit}"></button>
|
||||||
@@ -39,6 +32,5 @@
|
|||||||
</div>
|
</div>
|
||||||
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user