Compare commits
125 Commits
normalize_
...
v0.22.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27bbf7a513 | ||
|
|
ca890e4b32 | ||
|
|
4834d01223 | ||
|
|
84b3bb1aed | ||
|
|
a9679da719 | ||
|
|
f10b3ffe3c | ||
|
|
ea982d6412 | ||
|
|
1035a3be31 | ||
|
|
c16db14cd9 | ||
|
|
1698f9d5df | ||
|
|
08e43cc89c | ||
|
|
fb1baaa275 | ||
|
|
eda838d6f8 | ||
|
|
2fff3083ae | ||
|
|
7e2d58b3e8 | ||
|
|
31ec385282 | ||
|
|
14ef7c0a72 | ||
|
|
c9331afeac | ||
|
|
09cb92e235 | ||
|
|
6bd6e6563b | ||
|
|
3c08c20426 | ||
|
|
3800e3e465 | ||
|
|
e2bd73dbf3 | ||
|
|
a20c3018ae | ||
|
|
7f17b33859 | ||
|
|
029937a1c5 | ||
|
|
cfcf02708c | ||
|
|
c1724ef74c | ||
|
|
3c53f97c36 | ||
|
|
aa895d10ac | ||
|
|
6c603618ce | ||
|
|
78aa0d4c61 | ||
|
|
da3fc72e5c | ||
|
|
a800766cb8 | ||
|
|
67a1529dc7 | ||
|
|
77354f47bf | ||
|
|
49ea07fd13 | ||
|
|
bb69c67b52 | ||
|
|
6b29c28e2e | ||
|
|
ba0fe43f31 | ||
|
|
e54597f108 | ||
|
|
9809ad9d7b | ||
|
|
1d4ad19acd | ||
|
|
2c24e754be | ||
|
|
4a3326a560 | ||
|
|
24862e2d4a | ||
|
|
51bb26ae34 | ||
|
|
f474651f36 | ||
|
|
11193b1b6d | ||
|
|
3066b3e500 | ||
|
|
217f112bc4 | ||
|
|
e1bb0cf5ec | ||
|
|
3930c25a75 | ||
|
|
b27e79cb52 | ||
|
|
daf6486b86 | ||
|
|
1af41f8ea5 | ||
|
|
70e4ac21df | ||
|
|
95d9d85ca2 | ||
|
|
9cc7a49d12 | ||
|
|
ae73595335 | ||
|
|
ac620082ec | ||
|
|
1e4134c7d1 | ||
|
|
a7bcdd0003 | ||
|
|
121af0501a | ||
|
|
82c4e9cf41 | ||
|
|
142e11a59a | ||
|
|
08205ed32d | ||
|
|
9246b42057 | ||
|
|
67e4d6e3a2 | ||
|
|
cf4613d043 | ||
|
|
2f703796e9 | ||
|
|
731dc3f3dc | ||
|
|
97472310f2 | ||
|
|
ece1d071c0 | ||
|
|
20f532c872 | ||
|
|
bdcccfd937 | ||
|
|
146b8f0103 | ||
|
|
c8a37245fa | ||
|
|
af68c70239 | ||
|
|
5bd544dcd7 | ||
|
|
642b85069d | ||
|
|
6fef4ea82c | ||
|
|
8670afb96f | ||
|
|
33f8d60900 | ||
|
|
4e2156ad79 | ||
|
|
a07245224e | ||
|
|
f96a4cdb59 | ||
|
|
efea22aa6e | ||
|
|
ae9a7dc580 | ||
|
|
7135ace1aa | ||
|
|
625275124a | ||
|
|
c96ebccae4 | ||
|
|
20cb460a7e | ||
|
|
3a62d19979 | ||
|
|
51ad741744 | ||
|
|
673f005fe6 | ||
|
|
8d9f0361d0 | ||
|
|
56e3ec1219 | ||
|
|
a0acafcefc | ||
|
|
918f5954b7 | ||
|
|
148dcdaee7 | ||
|
|
a5f0777892 | ||
|
|
010426d488 | ||
|
|
6fc9c7be90 | ||
|
|
094fde9801 | ||
|
|
e4a76e96af | ||
|
|
68f582bcb9 | ||
|
|
639aed7120 | ||
|
|
994bb4d1d2 | ||
|
|
80b11a55fa | ||
|
|
3cfb554623 | ||
|
|
e84f9c5946 | ||
|
|
17cc31d6e7 | ||
|
|
0c6e10a6dd | ||
|
|
297c57631f | ||
|
|
bd4e252bb6 | ||
|
|
0ce34c70bc | ||
|
|
4df75cfba1 | ||
|
|
2aa435bcfb | ||
|
|
0a4a9e6947 | ||
|
|
d5860d0b55 | ||
|
|
6a487ce514 | ||
|
|
4f3b85e66b | ||
|
|
370cd97e05 | ||
|
|
55d4fda01b |
@@ -1,2 +1,5 @@
|
||||
# Formatting
|
||||
5f771b785130154ed47952635b7acef371ffe0ec
|
||||
|
||||
# Normalize files
|
||||
55d4fda01b2f39f5b7d7b4fda5214bd7ff0fd5dd
|
||||
|
||||
51
.github/scripts/check_duplicates.py
vendored
Normal file
51
.github/scripts/check_duplicates.py
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
import sys
|
||||
|
||||
|
||||
def find_duplicate_keys(file_path):
|
||||
"""
|
||||
Finds duplicate keys in a properties file and returns their occurrences.
|
||||
|
||||
This function reads a properties file, identifies any keys that occur more than
|
||||
once, and returns a dictionary with these keys and the line numbers of their occurrences.
|
||||
|
||||
Parameters:
|
||||
file_path (str): The path to the properties file to be checked.
|
||||
|
||||
Returns:
|
||||
dict: A dictionary where each key is a duplicated key in the file, and the value is a list
|
||||
of line numbers where the key occurs.
|
||||
"""
|
||||
with open(file_path, "r", encoding="utf-8") as file:
|
||||
lines = file.readlines()
|
||||
|
||||
keys = {}
|
||||
duplicates = {}
|
||||
|
||||
for line_number, line in enumerate(lines, start=1):
|
||||
line = line.strip()
|
||||
if line and not line.startswith("#") and "=" in line:
|
||||
key = line.split("=", 1)[0].strip()
|
||||
if key in keys:
|
||||
# If the key already exists, add the current line number
|
||||
duplicates.setdefault(key, []).append(line_number)
|
||||
# Also add the first instance of the key if not already done
|
||||
if keys[key] not in duplicates[key]:
|
||||
duplicates[key].insert(0, keys[key])
|
||||
else:
|
||||
# Store the line number of the first instance of the key
|
||||
keys[key] = line_number
|
||||
|
||||
return duplicates
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
failed = False
|
||||
for ar in sys.argv[1:]:
|
||||
duplicates = find_duplicate_keys(ar)
|
||||
if duplicates:
|
||||
for key, lines in duplicates.items():
|
||||
lines_str = ", ".join(map(str, lines))
|
||||
print(f"{key} duplicated in {ar} on lines {lines_str}")
|
||||
failed = True
|
||||
if failed:
|
||||
sys.exit(1)
|
||||
84
.github/scripts/check_tabulator.py
vendored
Normal file
84
.github/scripts/check_tabulator.py
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
"""check_tabulator.py"""
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
|
||||
def check_tabs(file_path):
|
||||
"""
|
||||
Checks for tabs in the specified file.
|
||||
|
||||
Args:
|
||||
file_path (str): The path to the file to be checked.
|
||||
|
||||
Returns:
|
||||
bool: True if tabs are found, False otherwise.
|
||||
"""
|
||||
with open(file_path, "r", encoding="utf-8") as file:
|
||||
content = file.read()
|
||||
|
||||
if "\t" in content:
|
||||
print(f"Tab found in {file_path}")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def replace_tabs_with_spaces(file_path, replace_with=" "):
|
||||
"""
|
||||
Replaces tabs with a specified number of spaces in the file.
|
||||
|
||||
Args:
|
||||
file_path (str): The path to the file where tabs will be replaced.
|
||||
replace_with (str): The character(s) to replace tabs with. Defaults to two spaces.
|
||||
"""
|
||||
with open(file_path, "r", encoding="utf-8") as file:
|
||||
content = file.read()
|
||||
|
||||
updated_content = content.replace("\t", replace_with)
|
||||
|
||||
with open(file_path, "w", encoding="utf-8") as file:
|
||||
file.write(updated_content)
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Main function to replace tabs with spaces in the provided files.
|
||||
The replacement character and files to check are taken from command line arguments.
|
||||
"""
|
||||
# Create ArgumentParser instance
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Replace tabs in files with specified characters."
|
||||
)
|
||||
|
||||
# Define optional argument `--replace_with`
|
||||
parser.add_argument(
|
||||
"--replace_with",
|
||||
default=" ",
|
||||
help="Character(s) to replace tabs with. Default is two spaces.",
|
||||
)
|
||||
|
||||
# Define argument for file paths
|
||||
parser.add_argument("files", metavar="FILE", nargs="+", help="Files to process.")
|
||||
|
||||
# Parse arguments
|
||||
args = parser.parse_args()
|
||||
|
||||
# Extract replacement characters and files from the parsed arguments
|
||||
replace_with = args.replace_with
|
||||
files_checked = args.files
|
||||
|
||||
error = False
|
||||
|
||||
for file_path in files_checked:
|
||||
if check_tabs(file_path):
|
||||
replace_tabs_with_spaces(file_path, replace_with)
|
||||
error = True
|
||||
|
||||
if error:
|
||||
print("Error: Originally found tabs in HTML files, now replaced.")
|
||||
sys.exit(1)
|
||||
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
67
.github/scripts/gradle_to_chart.py
vendored
Normal file
67
.github/scripts/gradle_to_chart.py
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
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 appVersion from Chart.yaml.
|
||||
|
||||
Args:
|
||||
path (str): The file path to the Chart.yaml.
|
||||
|
||||
Returns:
|
||||
str: The appVersion if found, otherwise an empty string.
|
||||
"""
|
||||
with open(path, encoding="utf-8") as file:
|
||||
chart_yaml = yaml.safe_load(file)
|
||||
return chart_yaml.get("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 update_chart_version(path, new_version):
|
||||
"""
|
||||
Updates the appVersion in Chart.yaml with a new version.
|
||||
|
||||
Args:
|
||||
path (str): The file path to the Chart.yaml.
|
||||
new_version (str): The new version to update to.
|
||||
"""
|
||||
with open(path, encoding="utf-8") as file:
|
||||
chart_yaml = yaml.safe_load(file)
|
||||
chart_yaml["appVersion"] = new_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 != gradle_version:
|
||||
print(
|
||||
f"Versions do not match. Updating Chart.yaml from {chart_version} to {gradle_version}."
|
||||
)
|
||||
update_chart_version(chart_yaml_path, gradle_version)
|
||||
else:
|
||||
print("Versions match. No update required.")
|
||||
6
.github/workflows/build.yml
vendored
6
.github/workflows/build.yml
vendored
@@ -3,8 +3,14 @@ name: "Build repo"
|
||||
on:
|
||||
push:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- ".github/**"
|
||||
- "**/*.md"
|
||||
pull_request:
|
||||
branches: [ "main" ]
|
||||
paths-ignore:
|
||||
- ".github/**"
|
||||
- "**/*.md"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
33
.github/workflows/licenses-update.yml
vendored
33
.github/workflows/licenses-update.yml
vendored
@@ -32,17 +32,30 @@ jobs:
|
||||
run: |
|
||||
mv build/reports/dependency-license/index.json src/main/resources/static/3rdPartyLicenses.json
|
||||
|
||||
- name: Check for Changes
|
||||
id: git-check
|
||||
- name: Set up git config
|
||||
run: |
|
||||
git config --global user.email "GitHub Action <action@github.com>"
|
||||
git config --global user.name "GitHub Action <action@github.com>"
|
||||
|
||||
- name: Run git add
|
||||
run: |
|
||||
git add src/main/resources/static/3rdPartyLicenses.json
|
||||
git diff --staged --exit-code || echo "changes=true" >> $GITHUB_ENV
|
||||
git diff --staged --quiet || echo "CHANGES_DETECTED=true" >> $GITHUB_ENV
|
||||
|
||||
- name: Commit and Push Changes
|
||||
if: env.changes == 'true'
|
||||
run: |
|
||||
git config --global user.name 'Stirling-PDF-Bot'
|
||||
git config --global user.email 'Stirling-PDF-Bot@stirlingtools.com'
|
||||
git commit -m "Update 3rd Party Licenses"
|
||||
git push
|
||||
- name: Create Pull Request
|
||||
if: env.CHANGES_DETECTED == 'true'
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: "Update 3rd Party Licenses"
|
||||
committer: GitHub Action <action@github.com>
|
||||
author: GitHub Action <action@github.com>
|
||||
signoff: true
|
||||
branch: update-3rd-party-licenses
|
||||
title: "Update 3rd Party Licenses"
|
||||
body: |
|
||||
Auto-generated by [create-pull-request][1]
|
||||
[1]: https://github.com/peter-evans/create-pull-request
|
||||
draft: false
|
||||
delete-branch: true
|
||||
|
||||
|
||||
1
.github/workflows/push-docker.yml
vendored
1
.github/workflows/push-docker.yml
vendored
@@ -6,6 +6,7 @@ on:
|
||||
branches:
|
||||
- master
|
||||
- main
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
1
.github/workflows/swagger.yml
vendored
1
.github/workflows/swagger.yml
vendored
@@ -5,6 +5,7 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
push:
|
||||
|
||||
|
||||
51
.github/workflows/sync_versions.yml
vendored
Normal file
51
.github/workflows/sync_versions.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
name: Sync Versions
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- "build.gradle"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
sync-versions:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5.0.0
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Install dependencies
|
||||
run: pip install pyyaml
|
||||
- name: Sync versions
|
||||
run: python .github/scripts/gradle_to_chart.py
|
||||
- name: Set up git config
|
||||
run: |
|
||||
git config --global user.email "GitHub Action <action@github.com>"
|
||||
git config --global user.name "GitHub Action <action@github.com>"
|
||||
- name: Run git add
|
||||
run: |
|
||||
git add .
|
||||
git diff --staged --quiet || git commit -m ":floppy_disk: Sync Versions
|
||||
> Made via sync_versions.yml" || echo "no changes"
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.0
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: Update files
|
||||
committer: GitHub Action <action@github.com>
|
||||
author: GitHub Action <action@github.com>
|
||||
signoff: true
|
||||
branch: sync_version
|
||||
title: ":floppy_disk: Update Version"
|
||||
body: |
|
||||
Auto-generated by [create-pull-request][1]
|
||||
|
||||
[1]: https://github.com/peter-evans/create-pull-request
|
||||
draft: false
|
||||
delete-branch: true
|
||||
37
.pre-commit-config.yaml
Normal file
37
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,37 @@
|
||||
repos:
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.2.1
|
||||
hooks:
|
||||
- id: ruff
|
||||
args:
|
||||
- --fix
|
||||
- --line-length=127
|
||||
files: ^((.github/scripts)/.+)?[^/]+\.py$
|
||||
- id: ruff-format
|
||||
files: ^((.github/scripts)/.+)?[^/]+\.py$
|
||||
- repo: https://github.com/codespell-project/codespell
|
||||
rev: v2.2.6
|
||||
hooks:
|
||||
- id: codespell
|
||||
args:
|
||||
- --ignore-words-list=
|
||||
- --skip="./.*,*.csv,*.json,*.ambr"
|
||||
- --quiet-level=2
|
||||
files: \.(properties|html|css|js|py|md)$
|
||||
exclude: (.vscode|.devcontainer|src/main/resources|Dockerfile)
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: check-duplicate-properties-keys
|
||||
name: Check Duplicate Properties Keys
|
||||
entry: python .github/scripts/check_duplicates.py
|
||||
language: python
|
||||
files: ^(src)/.+\.properties$
|
||||
- repo: local
|
||||
hooks:
|
||||
- id: check-html-tabs
|
||||
name: Check HTML for tabs
|
||||
# args: ["--replace_with= "]
|
||||
entry: python .github/scripts/check_tabulator.py
|
||||
language: python
|
||||
exclude: ^src/main/resources/static/pdfjs/
|
||||
files: ^.*(\.html|\.css|\.js)$
|
||||
66
Dockerfile
66
Dockerfile
@@ -1,6 +1,26 @@
|
||||
# Main stage
|
||||
FROM alpine:3.19.1
|
||||
|
||||
# Copy necessary files
|
||||
COPY scripts /scripts
|
||||
COPY pipeline /pipeline
|
||||
COPY src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto
|
||||
COPY src/main/resources/static/fonts/*.otf /usr/share/fonts/opentype/noto
|
||||
COPY build/libs/*.jar app.jar
|
||||
|
||||
ARG VERSION_TAG
|
||||
|
||||
|
||||
# Set Environment Variables
|
||||
ENV DOCKER_ENABLE_SECURITY=false \
|
||||
VERSION_TAG=$VERSION_TAG \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
|
||||
HOME=/home/stirlingpdfuser \
|
||||
PUID=1000 \
|
||||
PGID=1000 \
|
||||
UMASK=022
|
||||
|
||||
|
||||
# JDK for app
|
||||
RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \
|
||||
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \
|
||||
@@ -12,6 +32,8 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
|
||||
bash \
|
||||
curl \
|
||||
openjdk17-jre \
|
||||
su-exec \
|
||||
shadow \
|
||||
# Doc conversion
|
||||
libreoffice@testing \
|
||||
# OCR MY PDF (unpaper for descew and other advanced featues)
|
||||
@@ -24,46 +46,18 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
|
||||
wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \
|
||||
# uno unoconv and HTML
|
||||
pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \
|
||||
mv /usr/share/tessdata /usr/share/tessdata-original
|
||||
|
||||
|
||||
|
||||
ARG VERSION_TAG
|
||||
|
||||
# Set Environment Variables
|
||||
ENV DOCKER_ENABLE_SECURITY=false \
|
||||
HOME=/home/stirlingpdfuser \
|
||||
VERSION_TAG=$VERSION_TAG \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75"
|
||||
# PUID=1000 \
|
||||
# PGID=1000 \
|
||||
# UMASK=022 \
|
||||
|
||||
# Copy necessary files
|
||||
COPY scripts /scripts
|
||||
COPY pipeline /pipeline
|
||||
COPY src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto
|
||||
COPY src/main/resources/static/fonts/*.otf /usr/share/fonts/opentype/noto
|
||||
COPY build/libs/*.jar app.jar
|
||||
|
||||
# Create user and group
|
||||
##RUN groupadd -g $PGID stirlingpdfgroup && \
|
||||
## useradd -u $PUID -g stirlingpdfgroup -s /bin/sh stirlingpdfuser && \
|
||||
## mkdir -p $HOME && chown stirlingpdfuser:stirlingpdfgroup $HOME && \
|
||||
# Set up necessary directories and permissions
|
||||
RUN mkdir -p /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders && \
|
||||
##&& \
|
||||
## chown -R stirlingpdfuser:stirlingpdfgroup /scripts /usr/share/fonts/opentype/noto /usr/share/tesseract-ocr /configs /customFiles && \
|
||||
## chown -R stirlingpdfuser:stirlingpdfgroup /usr/share/tesseract-ocr-original && \
|
||||
# Set font cache and permissions
|
||||
mv /usr/share/tessdata /usr/share/tessdata-original && \
|
||||
mkdir -p $HOME /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders && \
|
||||
fc-cache -f -v && \
|
||||
chmod +x /scripts/*
|
||||
## chown stirlingpdfuser:stirlingpdfgroup /app.jar && \
|
||||
## chmod +x /scripts/init.sh
|
||||
chmod +x /scripts/* && \
|
||||
chmod +x /scripts/init.sh && \
|
||||
# User permissions
|
||||
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
|
||||
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \
|
||||
chown stirlingpdfuser:stirlingpdfgroup /app.jar
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
# Set user and run command
|
||||
##USER stirlingpdfuser
|
||||
ENTRYPOINT ["tini", "--", "/scripts/init.sh"]
|
||||
CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]
|
||||
|
||||
@@ -7,10 +7,10 @@ ARG VERSION_TAG
|
||||
ENV DOCKER_ENABLE_SECURITY=false \
|
||||
HOME=/home/stirlingpdfuser \
|
||||
VERSION_TAG=$VERSION_TAG \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75"
|
||||
# PUID=1000 \
|
||||
# PGID=1000 \
|
||||
# UMASK=022 \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
|
||||
PUID=1000 \
|
||||
PGID=1000 \
|
||||
UMASK=022
|
||||
|
||||
# Copy necessary files
|
||||
COPY scripts/download-security-jar.sh /scripts/download-security-jar.sh
|
||||
@@ -29,7 +29,10 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
|
||||
tini \
|
||||
bash \
|
||||
curl \
|
||||
gcc \
|
||||
openjdk17-jre \
|
||||
su-exec \
|
||||
shadow \
|
||||
# Doc conversion
|
||||
libreoffice@testing \
|
||||
# python and pip
|
||||
@@ -37,17 +40,16 @@ RUN echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /et
|
||||
wget https://bootstrap.pypa.io/get-pip.py -qO - | python3 - --break-system-packages --no-cache-dir --upgrade && \
|
||||
# uno unoconv and HTML
|
||||
pip install --break-system-packages --no-cache-dir --upgrade unoconv WeasyPrint && \
|
||||
# Create user and group
|
||||
#RUN groupadd -g $PGID stirlingpdfgroup && \
|
||||
# useradd -u $PUID -g stirlingpdfgroup -s /bin/sh stirlingpdfuser && \
|
||||
# mkdir -p $HOME && chown stirlingpdfuser:stirlingpdfgroup $HOME
|
||||
# Set up necessary directories and permissions
|
||||
mkdir -p /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders && \
|
||||
# chown -R stirlingpdfuser:stirlingpdfgroup /usr/share/fonts/opentype/noto /configs /customFiles
|
||||
# Set font cache and permissions
|
||||
fc-cache -f -v && \
|
||||
chmod +x /scripts/*.sh
|
||||
# chown stirlingpdfuser:stirlingpdfgroup /app.jar
|
||||
chmod +x /scripts/*.sh && \
|
||||
# User permissions
|
||||
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
|
||||
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline && \
|
||||
chown stirlingpdfuser:stirlingpdfgroup /app.jar
|
||||
|
||||
|
||||
# Set environment variables
|
||||
ENV ENDPOINTS_GROUPS_TO_REMOVE=OpenCV,OCRmyPDF
|
||||
@@ -56,6 +58,6 @@ ENV DOCKER_ENABLE_SECURITY=false
|
||||
EXPOSE 8080
|
||||
|
||||
# Run the application
|
||||
#USER stirlingpdfuser
|
||||
|
||||
ENTRYPOINT ["tini", "--", "/scripts/init-without-ocr.sh"]
|
||||
CMD ["java", "-Dfile.encoding=UTF-8", "-jar", "/app.jar"]
|
||||
|
||||
@@ -7,10 +7,10 @@ ARG VERSION_TAG
|
||||
ENV DOCKER_ENABLE_SECURITY=false \
|
||||
HOME=/home/stirlingpdfuser \
|
||||
VERSION_TAG=$VERSION_TAG \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75"
|
||||
# PUID=1000 \
|
||||
# PGID=1000 \
|
||||
# UMASK=022 \
|
||||
JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -XX:MaxRAMPercentage=75" \
|
||||
PUID=1000 \
|
||||
PGID=1000 \
|
||||
UMASK=022
|
||||
|
||||
# Copy necessary files
|
||||
COPY scripts/download-security-jar.sh /scripts/download-security-jar.sh
|
||||
@@ -18,16 +18,10 @@ COPY scripts/init-without-ocr.sh /scripts/init-without-ocr.sh
|
||||
COPY pipeline /pipeline
|
||||
COPY build/libs/*.jar app.jar
|
||||
|
||||
# Create user and group using Alpine's addgroup and adduser
|
||||
#RUN addgroup -g $PGID stirlingpdfgroup && \
|
||||
# adduser -u $PUID -G stirlingpdfgroup -s /bin/sh -D stirlingpdfuser && \
|
||||
# mkdir -p $HOME && chown stirlingpdfuser:stirlingpdfgroup $HOME
|
||||
|
||||
# Set up necessary directories and permissions
|
||||
#RUN mkdir -p /scripts /configs /customFiles && \
|
||||
# chown -R stirlingpdfuser:stirlingpdfgroup /scripts /configs /customFiles /logs /pipeline /pipeline/defaultWebUIConfigs /pipeline/watchedFolders /pipeline/finishedFolders
|
||||
|
||||
RUN mkdir /configs /logs /customFiles && \
|
||||
# Set font cache and permissions
|
||||
#RUN chown stirlingpdfuser:stirlingpdfgroup /app.jar
|
||||
chmod +x /scripts/*.sh && \
|
||||
apk add --no-cache \
|
||||
ca-certificates \
|
||||
@@ -35,10 +29,16 @@ RUN mkdir /configs /logs /customFiles && \
|
||||
tini \
|
||||
bash \
|
||||
curl \
|
||||
su-exec \
|
||||
shadow \
|
||||
openjdk17-jre && \
|
||||
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && \
|
||||
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && \
|
||||
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories
|
||||
echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && \
|
||||
# User permissions
|
||||
addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && \
|
||||
chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /configs /customFiles /pipeline && \
|
||||
chown stirlingpdfuser:stirlingpdfgroup /app.jar
|
||||
|
||||
# Set environment variables
|
||||
ENV ENDPOINTS_GROUPS_TO_REMOVE=CLI
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
## User Guide for Local Directory Scanning and File Processing
|
||||
|
||||
### Whilst Pipelines are in alpha...
|
||||
You must enable this alpha functionality by setting
|
||||
```yaml
|
||||
system:
|
||||
enableAlphaFunctionality: true
|
||||
```
|
||||
To true like in the above for your `/config/settings.yml` file, after restarting Stirling-PDF you should see both UI and folder scanning enabled.
|
||||
|
||||
### Setting Up Watched Folders:
|
||||
- Create a folder where you want your files to be monitored. This is your 'watched folder'.
|
||||
- The default directory for this is `./pipeline/watchedFolders/`
|
||||
|
||||
@@ -12,7 +12,7 @@ https://github.com/Stirling-Tools/Stirling-PDF/blob/main/src/main/resources/temp
|
||||
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 isnt represented by a flag just find whichever closely matches it, such as for Arabic i chose Saudi Arabia
|
||||
If your language isn't represented by a flag just find whichever closely matches it, such as for Arabic i chose Saudi Arabia
|
||||
|
||||
|
||||
For example to add Polish you would add
|
||||
@@ -32,7 +32,7 @@ Copy and rename it to messages_{your data-language-code here}.properties, in the
|
||||
|
||||
Then simply translate all property entries within that file and make a 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 wont be able to verify the translations themselves)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
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 doesnt!
|
||||
Please update your tesseract docker volume path version from 4.00 to 5
|
||||
## 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)
|
||||
|
||||
## How does the OCR Work
|
||||
Stirling-PDF uses [OCRmyPDF](https://github.com/ocrmypdf/OCRmyPDF) which in turn uses tesseract for its text recognition.
|
||||
|
||||
@@ -42,7 +42,7 @@ For Debian-based systems, you can use the following command:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ java-17-openjdk python3 python3-pip
|
||||
sudo apt-get install -y git automake autoconf libtool libleptonica-dev pkg-config zlib1g-dev make g++ openjdk-17-jdk python3 python3-pip
|
||||
```
|
||||
|
||||
For Fedora-based systems use this command:
|
||||
@@ -65,7 +65,7 @@ sudo make install
|
||||
```
|
||||
|
||||
### Step 3: Install Additional Software
|
||||
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for patern recognition functionality.
|
||||
Next we need to install LibreOffice for conversions, ocrmypdf for OCR, and opencv for pattern recognition functionality.
|
||||
|
||||
Install the following software:
|
||||
|
||||
@@ -264,7 +264,7 @@ 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.
|
||||
|
||||
You can do this in the terminal by using the `export` command or -D arguements to java -jar command:
|
||||
You can do this in the terminal by using the `export` command or -D argument to java -jar command:
|
||||
|
||||
```bash
|
||||
export APP_HOME_NAME="Stirling PDF"
|
||||
|
||||
@@ -1,13 +1,6 @@
|
||||
# Pipeline Configuration and Usage Tutorial
|
||||
|
||||
## Whilst Pipelines are in alpha...
|
||||
You must enable this alpha functionality by setting
|
||||
```yaml
|
||||
system:
|
||||
enableAlphaFunctionality: true
|
||||
```
|
||||
To true like in the above for your `/config/settings.yml` file, after restarting Stirling-PDF you should see both UI and folder scanning enabled.
|
||||
|
||||
- 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
|
||||
|
||||
## Steps to Configure and Use Your Pipeline
|
||||
|
||||
@@ -40,3 +33,12 @@ To true like in the above for your `/config/settings.yml` file, after restarting
|
||||
|
||||
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.
|
||||
|
||||
|
||||
### Current Limitations
|
||||
- Cannot have more than one of the same operation
|
||||
- Cannot input additional files via UI
|
||||
- All files and operations run in serial mode
|
||||
|
||||
|
||||
|
||||
10
README.md
10
README.md
@@ -6,7 +6,7 @@
|
||||
[](https://github.com/Stirling-Tools/Stirling-PDF/)
|
||||
[](https://github.com/Stirling-Tools/stirling-pdf)
|
||||
[](https://www.paypal.com/paypalme/froodleplex)
|
||||
[](https://github.com/sponsors/Frooodle)
|
||||
[](https://github.com/sponsors/Frooodle)
|
||||
|
||||
[](https://cloud.digitalocean.com/apps/new?repo=https://github.com/Stirling-Tools/Stirling-PDF/tree/digitalOcean&refcode=c3210994b1af)
|
||||
|
||||
@@ -114,6 +114,7 @@ docker run -d \
|
||||
-v /location/of/extraConfigs:/configs \
|
||||
-v /location/of/logs:/logs \
|
||||
-e DOCKER_ENABLE_SECURITY=false \
|
||||
-e INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false \
|
||||
--name stirling-pdf \
|
||||
frooodle/s-pdf:latest
|
||||
|
||||
@@ -137,6 +138,7 @@ services:
|
||||
# - /location/of/logs:/logs/
|
||||
environment:
|
||||
- DOCKER_ENABLE_SECURITY=false
|
||||
- INSTALL_BOOK_AND_ADVANCED_HTML_OPS=false
|
||||
```
|
||||
|
||||
Note: Podman is CLI-compatible with Docker, so simply replace "docker" with "podman".
|
||||
@@ -172,7 +174,7 @@ Stirling PDF currently supports 26!
|
||||
- Hindi (हिंदी) (hi_IN)
|
||||
- Hungarian (Magyar) (hu_HU)
|
||||
- Bulgarian (Български) (bg_BG)
|
||||
- Sebian Latin alphabet (Srpski) (sr-Latn-RS)
|
||||
- Sebian Latin alphabet (Srpski) (sr_LATN_RS)
|
||||
|
||||
## Contributing (creating issues, translations, fixing bugs, etc.)
|
||||
|
||||
@@ -228,6 +230,7 @@ metrics:
|
||||
- ``SYSTEM_ROOTURIPATH`` ie set to ``/pdf-app`` to Set the application's root URI to ``localhost:8080/pdf-app``
|
||||
- ``SYSTEM_CONNECTIONTIMEOUTMINUTES`` to set custom connection timeout values
|
||||
- ``DOCKER_ENABLE_SECURITY`` to tell docker to download security jar (required as true for auth login)
|
||||
- ``INSTALL_BOOK_AND_ADVANCED_HTML_OPS`` to download calibre onto stirling-pdf enabling pdf to/from book and advanced html conversion
|
||||
|
||||
## API
|
||||
For those wanting to use Stirling-PDFs backend API to link with their own custom scripting to edit PDFs you can view all existing API documentation
|
||||
@@ -252,7 +255,6 @@ To add new users go to the bottom of Account settings and hit 'Admin Settings',
|
||||
|
||||
For API usage you must provide a header with 'X-API-Key' and the associated API key for that user.
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
### Q1: What are your planned features?
|
||||
@@ -262,7 +264,7 @@ For API usage you must provide a header with 'X-API-Key' and the associated API
|
||||
- Redact text (Via UI not just automated way)
|
||||
- Add Forms
|
||||
- Multi page layout (Stich PDF pages together) support x rows y columns and custom page sizing
|
||||
- Fill forms mannual and automatic
|
||||
- Fill forms manually or automatically
|
||||
|
||||
### Q2: Why is my application downloading .htm files?
|
||||
This is an issue caused commonly by your NGINX configuration. The default file upload size for NGINX is 1MB, you need to add the following in your Nginx sites-available file. ``client_max_body_size SIZE;`` Where "SIZE" is 50M for example for 50MB files.
|
||||
|
||||
48
build.gradle
48
build.gradle
@@ -1,18 +1,18 @@
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'org.springframework.boot' version '3.2.2'
|
||||
id 'org.springframework.boot' version '3.2.4'
|
||||
id 'io.spring.dependency-management' version '1.1.3'
|
||||
id 'org.springdoc.openapi-gradle-plugin' version '1.8.0'
|
||||
id "io.swagger.swaggerhub" version "1.3.2"
|
||||
id 'edu.sc.seis.launch4j' version '3.0.5'
|
||||
id 'com.diffplug.spotless' version '6.25.0'
|
||||
id 'com.github.jk1.dependency-license-report' version '2.5'
|
||||
id 'com.github.jk1.dependency-license-report' version '2.6'
|
||||
}
|
||||
|
||||
import com.github.jk1.license.render.*
|
||||
|
||||
group = 'stirling.software'
|
||||
version = '0.21.0'
|
||||
version = '0.22.6'
|
||||
sourceCompatibility = '17'
|
||||
|
||||
repositories {
|
||||
@@ -20,7 +20,6 @@ repositories {
|
||||
}
|
||||
|
||||
|
||||
|
||||
licenseReport {
|
||||
renderers = [new JsonReportRenderer()]
|
||||
}
|
||||
@@ -48,7 +47,6 @@ openApi {
|
||||
outputFileName = "SwaggerDoc.json"
|
||||
}
|
||||
|
||||
|
||||
launch4j {
|
||||
icon = "${projectDir}/src/main/resources/static/favicon.ico"
|
||||
|
||||
@@ -87,26 +85,26 @@ spotless {
|
||||
|
||||
dependencies {
|
||||
//security updates
|
||||
implementation 'ch.qos.logback:logback-classic:1.4.14'
|
||||
implementation 'ch.qos.logback:logback-core:1.4.14'
|
||||
implementation 'org.springframework:spring-webmvc:6.1.2'
|
||||
implementation 'ch.qos.logback:logback-classic:1.5.3'
|
||||
implementation 'ch.qos.logback:logback-core:1.5.3'
|
||||
implementation 'org.springframework:spring-webmvc:6.1.5'
|
||||
|
||||
implementation("io.github.pixee:java-security-toolkit:1.1.2")
|
||||
implementation("io.github.pixee:java-security-toolkit:1.1.3")
|
||||
|
||||
implementation 'org.yaml:snakeyaml:2.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web:3.2.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.2.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web:3.2.4'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf:3.2.4'
|
||||
|
||||
if (System.getenv('DOCKER_ENABLE_SECURITY') != 'false') {
|
||||
implementation 'org.springframework.boot:spring-boot-starter-security:3.2.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-security:3.2.4'
|
||||
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5:3.1.2.RELEASE'
|
||||
implementation "org.springframework.boot:spring-boot-starter-data-jpa:3.2.2"
|
||||
implementation "org.springframework.boot:spring-boot-starter-data-jpa:3.2.4"
|
||||
|
||||
//2.2.x requires rebuild of DB file.. need migration path
|
||||
implementation "com.h2database:h2:2.1.214"
|
||||
}
|
||||
|
||||
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.2.2'
|
||||
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.2.4'
|
||||
|
||||
// Batik
|
||||
implementation 'org.apache.xmlgraphics:batik-all:1.17'
|
||||
@@ -139,28 +137,30 @@ dependencies {
|
||||
exclude group: 'commons-logging', module: 'commons-logging'
|
||||
}
|
||||
|
||||
implementation ('org.apache.pdfbox:pdfbox:3.0.1'){
|
||||
implementation ('org.apache.pdfbox:pdfbox:3.0.2'){
|
||||
exclude group: 'commons-logging', module: 'commons-logging'
|
||||
}
|
||||
|
||||
implementation ('org.apache.pdfbox:xmpbox:3.0.1'){
|
||||
implementation ('org.apache.pdfbox:xmpbox:3.0.2'){
|
||||
exclude group: 'commons-logging', module: 'commons-logging'
|
||||
}
|
||||
|
||||
implementation 'org.bouncycastle:bcprov-jdk18on:1.77'
|
||||
implementation 'org.bouncycastle:bcpkix-jdk18on:1.77'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-actuator:3.2.2'
|
||||
implementation 'io.micrometer:micrometer-core:1.12.2'
|
||||
implementation group: 'com.google.zxing', name: 'core', version: '3.5.2'
|
||||
implementation 'org.springframework.boot:spring-boot-starter-actuator:3.2.4'
|
||||
implementation 'io.micrometer:micrometer-core:1.12.4'
|
||||
implementation group: 'com.google.zxing', name: 'core', version: '3.5.3'
|
||||
// https://mvnrepository.com/artifact/org.commonmark/commonmark
|
||||
implementation 'org.commonmark:commonmark:0.21.0'
|
||||
implementation 'org.commonmark:commonmark-ext-gfm-tables:0.21.0'
|
||||
implementation 'org.commonmark:commonmark:0.22.0'
|
||||
implementation 'org.commonmark:commonmark-ext-gfm-tables:0.22.0'
|
||||
// https://mvnrepository.com/artifact/com.github.vladimir-bukhtoyarov/bucket4j-core
|
||||
implementation 'com.github.vladimir-bukhtoyarov:bucket4j-core:7.6.0'
|
||||
|
||||
developmentOnly("org.springframework.boot:spring-boot-devtools:3.2.2")
|
||||
compileOnly 'org.projectlombok:lombok:1.18.30'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.28'
|
||||
implementation 'com.fathzer:javaluator:3.0.3'
|
||||
|
||||
developmentOnly("org.springframework.boot:spring-boot-devtools:3.2.4")
|
||||
compileOnly 'org.projectlombok:lombok:1.18.32'
|
||||
annotationProcessor 'org.projectlombok:lombok:1.18.32'
|
||||
}
|
||||
|
||||
tasks.withType(JavaCompile) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
apiVersion: v2
|
||||
appVersion: 0.14.2
|
||||
description: locally hosted web application that allows you to perform various operations on PDF files
|
||||
appVersion: 0.22.6
|
||||
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
|
||||
|
||||
@@ -16,11 +16,11 @@ commonLabels: {}
|
||||
# team_name: dev
|
||||
|
||||
envs: []
|
||||
# - name: PP_HOME_NAME
|
||||
# - name: UI_APP_NAME
|
||||
# value: "Stirling PDF"
|
||||
# - name: APP_HOME_DESCRIPTION
|
||||
# - name: UI_HOME_DESCRIPTION
|
||||
# value: "Your locally hosted one-stop-shop for all your PDF needs."
|
||||
# - name: APP_NAVBAR_NAME
|
||||
# - name: UI_APP_NAVBAR_NAME
|
||||
# value: "Stirling PDF"
|
||||
# - name: ALLOW_GOOGLE_VISIBILITY
|
||||
# value: "true"
|
||||
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /stirling/latest/data:/usr/share/tesseract-ocr/5/tessdata:rw
|
||||
- /stirling/latest/data:/usr/share/tessdata:rw
|
||||
- /stirling/latest/config:/configs:rw
|
||||
- /stirling/latest/logs:/logs:rw
|
||||
environment:
|
||||
|
||||
@@ -15,12 +15,15 @@ services:
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /stirling/latest/data:/usr/share/tesseract-ocr/5/tessdata:rw
|
||||
- /stirling/latest/data:/usr/share/tessdata:rw
|
||||
- /stirling/latest/config:/configs:rw
|
||||
- /stirling/latest/logs:/logs:rw
|
||||
environment:
|
||||
DOCKER_ENABLE_SECURITY: "true"
|
||||
SECURITY_ENABLELOGIN: "true"
|
||||
PUID: 1002
|
||||
PGID: 1002
|
||||
UMASK: "022"
|
||||
SYSTEM_DEFAULTLOCALE: en-US
|
||||
UI_APPNAME: Stirling-PDF
|
||||
UI_HOMEDESCRIPTION: Demo site for Stirling-PDF Latest with Security
|
||||
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /stirling/latest/data:/usr/share/tesseract-ocr/5/tessdata:rw
|
||||
- /stirling/latest/data:/usr/share/tessdata:rw
|
||||
- /stirling/latest/config:/configs:rw
|
||||
- /stirling/latest/logs:/logs:rw
|
||||
environment:
|
||||
|
||||
@@ -15,7 +15,7 @@ services:
|
||||
ports:
|
||||
- 8080:8080
|
||||
volumes:
|
||||
- /stirling/latest/data:/usr/share/tesseract-ocr/5/tessdata:rw
|
||||
- /stirling/latest/data:/usr/share/tessdata:rw
|
||||
- /stirling/latest/config:/configs:rw
|
||||
- /stirling/latest/logs:/logs:rw
|
||||
environment:
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
"parameters": {
|
||||
"horizontalDivisions": 2,
|
||||
"verticalDivisions": 2,
|
||||
"fileInput": "automated"
|
||||
"fileInput": "automated",
|
||||
"merge": false
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
import cv2
|
||||
import sys
|
||||
import argparse
|
||||
import numpy as np
|
||||
|
||||
def is_blank_image(image_path, threshold=10, white_percent=99, white_value=255, blur_size=5):
|
||||
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)
|
||||
|
||||
if image is None:
|
||||
print(f"Error: Unable to read the image file: {image_path}")
|
||||
return False
|
||||
|
||||
# Apply Gaussian blur to reduce noise
|
||||
blurred_image = cv2.GaussianBlur(image, (blur_size, blur_size), 0)
|
||||
|
||||
_, thresholded_image = cv2.threshold(blurred_image, white_value - threshold, white_value, cv2.THRESH_BINARY)
|
||||
|
||||
# Calculate the percentage of white pixels in the thresholded image
|
||||
white_pixels = np.sum(thresholded_image == white_value)
|
||||
white_pixel_percentage = (white_pixels / thresholded_image.size) * 100
|
||||
|
||||
print(f"Page has white pixel percent of {white_pixel_percentage}")
|
||||
return white_pixel_percentage >= white_percent
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(description='Detect if an image is considered blank or not.')
|
||||
parser.add_argument('image_path', help='The path to the image file.')
|
||||
parser.add_argument('-t', '--threshold', type=int, default=10, help='Threshold for determining white pixels. The default value is 10.')
|
||||
parser.add_argument('-w', '--white_percent', type=float, default=99, help='The percentage of white pixels for an image to be considered blank. The default value is 99.')
|
||||
args = parser.parse_args()
|
||||
|
||||
blank = is_blank_image(args.image_path, args.threshold, args.white_percent)
|
||||
|
||||
# Return code 1: The image is considered blank.
|
||||
# Return code 0: The image is not considered blank.
|
||||
sys.exit(int(blank))
|
||||
@@ -14,6 +14,8 @@ if [ "$DOCKER_ENABLE_SECURITY" = "true" ] && [ "$VERSION_TAG" != "alpha" ]; then
|
||||
if [ $? -eq 0 ]; then # checks if curl was successful
|
||||
rm -f app.jar
|
||||
ln -s app-security.jar app.jar
|
||||
chown stirlingpdfuser:stirlingpdfgroup app.jar || true
|
||||
chmod 755 app.jar || true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Update the user and group IDs as per environment variables
|
||||
if [ ! -z "$PUID" ] && [ "$PUID" != "$(id -u stirlingpdfuser)" ]; then
|
||||
usermod -o -u "$PUID" stirlingpdfuser || true
|
||||
fi
|
||||
|
||||
if [ ! -z "$PGID" ] && [ "$PGID" != "$(getent group stirlingpdfgroup | cut -d: -f3)" ]; then
|
||||
groupmod -o -g "$PGID" stirlingpdfgroup || true
|
||||
fi
|
||||
umask "$UMASK" || true
|
||||
|
||||
|
||||
if [[ "$INSTALL_BOOK_AND_ADVANCED_HTML_OPS" == "true" ]]; then
|
||||
apk add --no-cache calibre@testing
|
||||
fi
|
||||
|
||||
/scripts/download-security-jar.sh
|
||||
|
||||
# Run the main command
|
||||
echo "Setting permissions and ownership for necessary directories..."
|
||||
if chown -R stirlingpdfuser:stirlingpdfgroup $HOME /logs /scripts /usr/share/fonts/opentype/noto /usr/share/tessdata /configs /customFiles /pipeline /app.jar; then
|
||||
chmod -R 755 /logs /scripts /usr/share/fonts/opentype/noto /usr/share/tessdata /configs /customFiles /pipeline /app.jar || true
|
||||
# If chown succeeds, execute the command as stirlingpdfuser
|
||||
exec su-exec stirlingpdfuser "$@"
|
||||
else
|
||||
# If chown fails, execute the command without changing the user context
|
||||
echo "[WARN] Chown failed, running as host user"
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
@@ -13,18 +13,47 @@ if [ -d /usr/share/tesseract-ocr/5/tessdata ]; then
|
||||
cp -r /usr/share/tesseract-ocr/5/tessdata/* /usr/share/tessdata || true;
|
||||
fi
|
||||
|
||||
# Update the user and group IDs as per environment variables
|
||||
if [ ! -z "$PUID" ] && [ "$PUID" != "$(id -u stirlingpdfuser)" ]; then
|
||||
usermod -o -u "$PUID" stirlingpdfuser || true
|
||||
fi
|
||||
|
||||
|
||||
if [ ! -z "$PGID" ] && [ "$PGID" != "$(getent group stirlingpdfgroup | cut -d: -f3)" ]; then
|
||||
groupmod -o -g "$PGID" stirlingpdfgroup || true
|
||||
fi
|
||||
umask "$UMASK" || true
|
||||
|
||||
|
||||
# Check if TESSERACT_LANGS environment variable is set and is not empty
|
||||
if [[ -n "$TESSERACT_LANGS" ]]; then
|
||||
# Convert comma-separated values to a space-separated list
|
||||
LANGS=$(echo $TESSERACT_LANGS | tr ',' ' ')
|
||||
|
||||
pattern='^[a-zA-Z]{2,4}(_[a-zA-Z]{2,4})?$'
|
||||
# Install each language pack
|
||||
for LANG in $LANGS; do
|
||||
apt-get install -y "tesseract-ocr-$LANG"
|
||||
if [[ $LANG =~ $pattern ]]; then
|
||||
apk add --no-cache "tesseract-ocr-data-$LANG"
|
||||
else
|
||||
echo "Skipping invalid language code"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
if [[ "$INSTALL_BOOK_AND_ADVANCED_HTML_OPS" == "true" ]]; then
|
||||
apk add --no-cache calibre@testing
|
||||
fi
|
||||
|
||||
/scripts/download-security-jar.sh
|
||||
|
||||
# Run the main command
|
||||
echo "Setting permissions and ownership for necessary directories..."
|
||||
# Attempt to change ownership of directories and files
|
||||
if chown -R stirlingpdfuser:stirlingpdfgroup $HOME /logs /scripts /usr/share/fonts/opentype/noto /usr/share/tessdata /configs /customFiles /pipeline /app.jar; then
|
||||
chmod -R 755 /logs /scripts /usr/share/fonts/opentype/noto /usr/share/tessdata /configs /customFiles /pipeline /app.jar || true
|
||||
# If chown succeeds, execute the command as stirlingpdfuser
|
||||
exec su-exec stirlingpdfuser "$@"
|
||||
else
|
||||
# If chown fails, execute the command without changing the user context
|
||||
echo "[WARN] Chown failed, running as host user"
|
||||
exec "$@"
|
||||
fi
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
package stirling.software.SPDF;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.Collections;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.core.env.Environment;
|
||||
@@ -14,14 +19,25 @@ import io.github.pixee.security.SystemCommand;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import stirling.software.SPDF.config.ConfigInitializer;
|
||||
import stirling.software.SPDF.utils.GeneralUtils;
|
||||
import stirling.software.SPDF.model.ApplicationProperties;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableScheduling
|
||||
public class SPdfApplication {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SPdfApplication.class);
|
||||
|
||||
@Autowired private Environment env;
|
||||
|
||||
@Autowired ApplicationProperties applicationProperties;
|
||||
|
||||
private static String serverPortStatic;
|
||||
|
||||
@Value("${server.port:8080}")
|
||||
public void setServerPortStatic(String port) {
|
||||
SPdfApplication.serverPortStatic = port;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
// Check if the BROWSER_OPEN environment variable is set to true
|
||||
@@ -30,7 +46,7 @@ public class SPdfApplication {
|
||||
|
||||
if (browserOpen) {
|
||||
try {
|
||||
String url = "http://localhost:" + getPort();
|
||||
String url = "http://localhost:" + getNonStaticPort();
|
||||
|
||||
String os = System.getProperty("os.name").toLowerCase();
|
||||
Runtime rt = Runtime.getRuntime();
|
||||
@@ -39,12 +55,13 @@ public class SPdfApplication {
|
||||
SystemCommand.runCommand(rt, "rundll32 url.dll,FileProtocolHandler " + url);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("Error opening browser: {}", e.getMessage());
|
||||
}
|
||||
}
|
||||
logger.info("Running configs {}", applicationProperties.toString());
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
public static void main(String[] args) throws IOException, InterruptedException {
|
||||
SpringApplication app = new SpringApplication(SPdfApplication.class);
|
||||
app.addInitializers(new ConfigInitializer());
|
||||
if (Files.exists(Paths.get("configs/settings.yml"))) {
|
||||
@@ -52,7 +69,7 @@ public class SPdfApplication {
|
||||
Collections.singletonMap(
|
||||
"spring.config.additional-location", "file:configs/settings.yml"));
|
||||
} else {
|
||||
System.out.println(
|
||||
logger.warn(
|
||||
"External configuration file 'configs/settings.yml' does not exist. Using default configuration and environment configuration instead.");
|
||||
}
|
||||
app.run(args);
|
||||
@@ -60,24 +77,30 @@ public class SPdfApplication {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
Thread.currentThread().interrupt();
|
||||
throw new RuntimeException("Thread interrupted while sleeping", e);
|
||||
}
|
||||
|
||||
GeneralUtils.createDir("customFiles/static/");
|
||||
GeneralUtils.createDir("customFiles/templates/");
|
||||
|
||||
System.out.println("Stirling-PDF Started.");
|
||||
|
||||
String url = "http://localhost:" + getPort();
|
||||
System.out.println("Navigate to " + url);
|
||||
try {
|
||||
Files.createDirectories(Path.of("customFiles/static/"));
|
||||
Files.createDirectories(Path.of("customFiles/templates/"));
|
||||
} catch (Exception e) {
|
||||
logger.error("Error creating directories: {}", e.getMessage());
|
||||
}
|
||||
printStartupLogs();
|
||||
}
|
||||
|
||||
public static String getPort() {
|
||||
String port = System.getProperty("local.server.port");
|
||||
if (port == null || port.isEmpty()) {
|
||||
port = "8080";
|
||||
private static void printStartupLogs() {
|
||||
logger.info("Stirling-PDF Started.");
|
||||
String url = "http://localhost:" + getStaticPort();
|
||||
logger.info("Navigate to {}", url);
|
||||
}
|
||||
return port;
|
||||
|
||||
public static String getStaticPort() {
|
||||
return serverPortStatic;
|
||||
}
|
||||
|
||||
public String getNonStaticPort() {
|
||||
return serverPortStatic;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,9 +79,10 @@ public class AppConfig {
|
||||
|
||||
@Bean(name = "bookAndHtmlFormatsInstalled")
|
||||
public boolean bookAndHtmlFormatsInstalled() {
|
||||
return applicationProperties
|
||||
.getSystem()
|
||||
.getCustomApplications()
|
||||
.isInstallBookAndHtmlFormats();
|
||||
String installOps = System.getProperty("INSTALL_BOOK_AND_ADVANCED_HTML_OPS");
|
||||
if (installOps == null) {
|
||||
installOps = System.getenv("INSTALL_BOOK_AND_ADVANCED_HTML_OPS");
|
||||
}
|
||||
return "true".equalsIgnoreCase(installOps);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,6 +79,16 @@ public class ConfigInitializer
|
||||
return parts.length > 0 ? parts[0].trim().replace("#", "").trim() : "";
|
||||
};
|
||||
|
||||
Function<String, Integer> getIndentationLevel =
|
||||
line -> {
|
||||
int count = 0;
|
||||
for (char ch : line.toCharArray()) {
|
||||
if (ch == ' ') count++;
|
||||
else break;
|
||||
}
|
||||
return count;
|
||||
};
|
||||
|
||||
Set<String> userKeys = userLines.stream().map(extractKey).collect(Collectors.toSet());
|
||||
|
||||
for (String line : templateLines) {
|
||||
@@ -134,10 +144,77 @@ public class ConfigInitializer
|
||||
.map(extractKey)
|
||||
.anyMatch(templateKey -> templateKey.equalsIgnoreCase(userKey));
|
||||
if (!isPresentInTemplate && !isCommented.apply(userLine)) {
|
||||
if (!childOfTemplateEntry(
|
||||
isCommented,
|
||||
extractKey,
|
||||
getIndentationLevel,
|
||||
userLines,
|
||||
userLine,
|
||||
templateLines)) {
|
||||
// check if userLine is a child of a entry within templateLines or not, if child
|
||||
// of parent in templateLines then dont add to mergedLines, if anything else
|
||||
// then add
|
||||
mergedLines.add(userLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Files.write(outputPath, mergedLines, StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
// New method to check if a userLine is a child of an entry in templateLines
|
||||
boolean childOfTemplateEntry(
|
||||
Function<String, Boolean> isCommented,
|
||||
Function<String, String> extractKey,
|
||||
Function<String, Integer> getIndentationLevel,
|
||||
List<String> userLines,
|
||||
String userLine,
|
||||
List<String> templateLines) {
|
||||
String userKey = extractKey.apply(userLine).trim();
|
||||
int userIndentation = getIndentationLevel.apply(userLine);
|
||||
|
||||
// Start by assuming the line is not a child of an entry in templateLines
|
||||
boolean isChild = false;
|
||||
|
||||
// Iterate backwards through userLines from the current line to find any parent
|
||||
for (int i = userLines.indexOf(userLine) - 1; i >= 0; i--) {
|
||||
String potentialParentLine = userLines.get(i);
|
||||
int parentIndentation = getIndentationLevel.apply(potentialParentLine);
|
||||
|
||||
// Check if we've reached a potential parent based on indentation
|
||||
if (parentIndentation < userIndentation) {
|
||||
String parentKey = extractKey.apply(potentialParentLine).trim();
|
||||
|
||||
// Now, check if this potential parent or any of its parents exist in templateLines
|
||||
boolean parentExistsInTemplate =
|
||||
templateLines.stream()
|
||||
.filter(line -> !isCommented.apply(line)) // Skip commented lines
|
||||
.anyMatch(
|
||||
templateLine -> {
|
||||
String templateKey =
|
||||
extractKey.apply(templateLine).trim();
|
||||
return parentKey.equalsIgnoreCase(templateKey);
|
||||
});
|
||||
|
||||
if (!parentExistsInTemplate) {
|
||||
// If the parent does not exist in template, check the next level parent
|
||||
userIndentation =
|
||||
parentIndentation; // Update userIndentation to the parent's indentation
|
||||
// for next iteration
|
||||
if (parentIndentation == 0) {
|
||||
// If we've reached the top-level parent and it's not in template, the
|
||||
// original line is considered not a child
|
||||
isChild = false;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// If any parent exists in template, the original line is considered a child
|
||||
isChild = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return isChild; // Return true if the line is not a child of any entry in templateLines
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ public class EndpointConfiguration {
|
||||
addEndpointToGroup("Other", "sign");
|
||||
addEndpointToGroup("Other", "flatten");
|
||||
addEndpointToGroup("Other", "repair");
|
||||
addEndpointToGroup("Other", "remove-blanks");
|
||||
addEndpointToGroup("Other", REMOVE_BLANKS);
|
||||
addEndpointToGroup("Other", "remove-annotations");
|
||||
addEndpointToGroup("Other", "compare");
|
||||
addEndpointToGroup("Other", "add-page-numbers");
|
||||
@@ -140,7 +140,6 @@ public class EndpointConfiguration {
|
||||
// CLI
|
||||
addEndpointToGroup("CLI", "compress-pdf");
|
||||
addEndpointToGroup("CLI", "extract-image-scans");
|
||||
addEndpointToGroup("CLI", "remove-blanks");
|
||||
addEndpointToGroup("CLI", "repair");
|
||||
addEndpointToGroup("CLI", "pdf-to-pdfa");
|
||||
addEndpointToGroup("CLI", "file-to-pdf");
|
||||
@@ -162,13 +161,13 @@ public class EndpointConfiguration {
|
||||
|
||||
// python
|
||||
addEndpointToGroup("Python", "extract-image-scans");
|
||||
addEndpointToGroup("Python", "remove-blanks");
|
||||
addEndpointToGroup("Python", REMOVE_BLANKS);
|
||||
addEndpointToGroup("Python", "html-to-pdf");
|
||||
addEndpointToGroup("Python", "url-to-pdf");
|
||||
|
||||
// openCV
|
||||
addEndpointToGroup("OpenCV", "extract-image-scans");
|
||||
addEndpointToGroup("OpenCV", "remove-blanks");
|
||||
addEndpointToGroup("OpenCV", REMOVE_BLANKS);
|
||||
|
||||
// LibreOffice
|
||||
addEndpointToGroup("LibreOffice", "repair");
|
||||
@@ -218,6 +217,7 @@ public class EndpointConfiguration {
|
||||
addEndpointToGroup("Java", "split-by-size-or-count");
|
||||
addEndpointToGroup("Java", "overlay-pdf");
|
||||
addEndpointToGroup("Java", "split-pdf-by-sections");
|
||||
addEndpointToGroup("Java", REMOVE_BLANKS);
|
||||
|
||||
// Javascript
|
||||
addEndpointToGroup("Javascript", "pdf-organizer");
|
||||
@@ -244,4 +244,6 @@ public class EndpointConfiguration {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static final String REMOVE_BLANKS = "remove-blanks";
|
||||
}
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
package stirling.software.SPDF.config;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.annotation.PostConstruct;
|
||||
import stirling.software.SPDF.model.ApplicationProperties;
|
||||
import stirling.software.SPDF.utils.ProcessExecutor;
|
||||
import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult;
|
||||
|
||||
@Component
|
||||
public class PostStartupProcesses {
|
||||
|
||||
@Autowired ApplicationProperties applicationProperties;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("RunningInDocker")
|
||||
private boolean runningInDocker;
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bookAndHtmlFormatsInstalled")
|
||||
private boolean bookAndHtmlFormatsInstalled;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PostStartupProcesses.class);
|
||||
|
||||
@PostConstruct
|
||||
public void runInstallCommandBasedOnEnvironment() throws IOException, InterruptedException {
|
||||
List<List<String>> commands = new ArrayList<>();
|
||||
// Checking for DOCKER_INSTALL_BOOK_FORMATS environment variable
|
||||
if (bookAndHtmlFormatsInstalled) {
|
||||
List<String> tmpList = new ArrayList<>();
|
||||
|
||||
tmpList = new ArrayList<>();
|
||||
tmpList.addAll(Arrays.asList("apk add --no-cache calibre"));
|
||||
commands.add(tmpList);
|
||||
}
|
||||
|
||||
if (!commands.isEmpty()) {
|
||||
// Run the command
|
||||
if (runningInDocker) {
|
||||
List<String> tmpList = new ArrayList<>();
|
||||
|
||||
for (List<String> list : commands) {
|
||||
ProcessExecutorResult returnCode =
|
||||
ProcessExecutor.getInstance(ProcessExecutor.Processes.INSTALL_APP, true)
|
||||
.runCommandWithOutputHandling(list);
|
||||
logger.info("RC for app installs {}", returnCode.getRc());
|
||||
}
|
||||
} else {
|
||||
|
||||
logger.info(
|
||||
"Not running inside Docker so skipping automated install process with command.");
|
||||
}
|
||||
|
||||
} else {
|
||||
if (runningInDocker) {
|
||||
logger.info("No custom apps to install.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package stirling.software.SPDF.config.security;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.authentication.BadCredentialsException;
|
||||
@@ -12,15 +13,19 @@ import org.springframework.stereotype.Component;
|
||||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import stirling.software.SPDF.model.User;
|
||||
|
||||
@Component
|
||||
public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationFailureHandler {
|
||||
|
||||
@Autowired private final LoginAttemptService loginAttemptService;
|
||||
|
||||
@Autowired
|
||||
public CustomAuthenticationFailureHandler(LoginAttemptService loginAttemptService) {
|
||||
@Autowired private final UserService userService; // Inject the UserService
|
||||
|
||||
public CustomAuthenticationFailureHandler(
|
||||
LoginAttemptService loginAttemptService, UserService userService) {
|
||||
this.loginAttemptService = loginAttemptService;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -33,17 +38,27 @@ public class CustomAuthenticationFailureHandler extends SimpleUrlAuthenticationF
|
||||
logger.error("Failed login attempt from IP: " + ip);
|
||||
|
||||
String username = request.getParameter("username");
|
||||
if (!isDemoUser(username)) {
|
||||
if (loginAttemptService.loginAttemptCheck(username)) {
|
||||
setDefaultFailureUrl("/login?error=locked");
|
||||
|
||||
} else {
|
||||
if (exception.getClass().isAssignableFrom(BadCredentialsException.class)) {
|
||||
setDefaultFailureUrl("/login?error=badcredentials");
|
||||
} else if (exception.getClass().isAssignableFrom(LockedException.class)) {
|
||||
if (exception.getClass().isAssignableFrom(LockedException.class)) {
|
||||
setDefaultFailureUrl("/login?error=locked");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (exception.getClass().isAssignableFrom(BadCredentialsException.class)) {
|
||||
setDefaultFailureUrl("/login?error=badcredentials");
|
||||
}
|
||||
|
||||
super.onAuthenticationFailure(request, response, exception);
|
||||
}
|
||||
|
||||
private boolean isDemoUser(String username) {
|
||||
Optional<User> user = userService.findByUsername(username);
|
||||
return user.isPresent()
|
||||
&& user.get().getAuthorities().stream()
|
||||
.anyMatch(authority -> "ROLE_DEMO_USER".equals(authority.getAuthority()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,9 @@ import org.springframework.security.authentication.dao.DaoAuthenticationProvider
|
||||
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||
import org.springframework.security.config.http.SessionCreationPolicy;
|
||||
import org.springframework.security.core.session.SessionRegistry;
|
||||
import org.springframework.security.core.session.SessionRegistryImpl;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
@@ -18,6 +21,7 @@ import org.springframework.security.web.authentication.rememberme.PersistentToke
|
||||
import org.springframework.security.web.savedrequest.NullRequestCache;
|
||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import stirling.software.SPDF.repository.JPATokenRepositoryImpl;
|
||||
|
||||
@Configuration
|
||||
@@ -44,6 +48,11 @@ public class SecurityConfiguration {
|
||||
|
||||
@Autowired private FirstLoginFilter firstLoginFilter;
|
||||
|
||||
@Bean
|
||||
public SessionRegistry sessionRegistry() {
|
||||
return new SessionRegistryImpl();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||
http.addFilterBefore(userAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
||||
@@ -53,6 +62,15 @@ public class SecurityConfiguration {
|
||||
http.csrf(csrf -> csrf.disable());
|
||||
http.addFilterBefore(rateLimitingFilter(), UsernamePasswordAuthenticationFilter.class);
|
||||
http.addFilterAfter(firstLoginFilter, UsernamePasswordAuthenticationFilter.class);
|
||||
http.sessionManagement(
|
||||
sessionManagement ->
|
||||
sessionManagement
|
||||
.sessionCreationPolicy(SessionCreationPolicy.IF_REQUIRED)
|
||||
.maximumSessions(10)
|
||||
.maxSessionsPreventsLogin(false)
|
||||
.sessionRegistry(sessionRegistry())
|
||||
.expiredUrl("/login?logout=true"));
|
||||
|
||||
http.formLogin(
|
||||
formLogin ->
|
||||
formLogin
|
||||
@@ -62,7 +80,7 @@ public class SecurityConfiguration {
|
||||
.defaultSuccessUrl("/")
|
||||
.failureHandler(
|
||||
new CustomAuthenticationFailureHandler(
|
||||
loginAttemptService))
|
||||
loginAttemptService, userService))
|
||||
.permitAll())
|
||||
.requestCache(requestCache -> requestCache.requestCache(new NullRequestCache()))
|
||||
.logout(
|
||||
@@ -71,7 +89,18 @@ public class SecurityConfiguration {
|
||||
new AntPathRequestMatcher("/logout"))
|
||||
.logoutSuccessUrl("/login?logout=true")
|
||||
.invalidateHttpSession(true) // Invalidate session
|
||||
.deleteCookies("JSESSIONID", "remember-me"))
|
||||
.deleteCookies("JSESSIONID", "remember-me")
|
||||
.addLogoutHandler(
|
||||
(request, response, authentication) -> {
|
||||
HttpSession session =
|
||||
request.getSession(false);
|
||||
if (session != null) {
|
||||
String sessionId = session.getId();
|
||||
sessionRegistry()
|
||||
.removeSessionInformation(
|
||||
sessionId);
|
||||
}
|
||||
}))
|
||||
.rememberMe(
|
||||
rememberMeConfigurer ->
|
||||
rememberMeConfigurer // Use the configurator directly
|
||||
|
||||
@@ -82,7 +82,7 @@ public class UserAuthenticationFilter extends OncePerRequestFilter {
|
||||
response.setStatus(HttpStatus.UNAUTHORIZED.value());
|
||||
response.getWriter()
|
||||
.write(
|
||||
"Authentication required. Please provide a X-API-KEY in request header.\nThis is found in Settings -> Account Settings -> API Key\nAlternativly you can disable authentication if this is unexpected");
|
||||
"Authentication required. Please provide a X-API-KEY in request header.\nThis is found in Settings -> Account Settings -> API Key\nAlternatively you can disable authentication if this is unexpected");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -176,6 +176,10 @@ public class UserService implements UserServiceInterface {
|
||||
return userRepository.findByUsername(username);
|
||||
}
|
||||
|
||||
public Optional<User> findByUsernameIgnoreCase(String username) {
|
||||
return userRepository.findByUsernameIgnoreCase(username);
|
||||
}
|
||||
|
||||
public void changeUsername(User user, String newUsername) {
|
||||
user.setUsername(newUsername);
|
||||
userRepository.save(user);
|
||||
@@ -194,4 +198,8 @@ public class UserService implements UserServiceInterface {
|
||||
public boolean isPasswordCorrect(User user, String currentPassword) {
|
||||
return passwordEncoder.matches(currentPassword, user.getPassword());
|
||||
}
|
||||
|
||||
public boolean isUsernameValid(String username) {
|
||||
return username.matches("[a-zA-Z0-9]+");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public class MergeController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(MergeController.class);
|
||||
|
||||
private PDDocument mergeDocuments(List<PDDocument> documents) throws IOException {
|
||||
public PDDocument mergeDocuments(List<PDDocument> documents) throws IOException {
|
||||
PDDocument mergedDoc = new PDDocument();
|
||||
for (PDDocument doc : documents) {
|
||||
for (PDPage page : doc.getPages()) {
|
||||
|
||||
@@ -2,6 +2,7 @@ package stirling.software.SPDF.controller.api;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.pdfbox.Loader;
|
||||
@@ -50,7 +51,9 @@ public class RearrangePagesPDFController {
|
||||
String[] pageOrderArr = pagesToDelete.split(",");
|
||||
|
||||
List<Integer> pagesToRemove =
|
||||
GeneralUtils.parsePageList(pageOrderArr, document.getNumberOfPages());
|
||||
GeneralUtils.parsePageList(pageOrderArr, document.getNumberOfPages(), false);
|
||||
|
||||
Collections.sort(pagesToRemove);
|
||||
|
||||
for (int i = pagesToRemove.size() - 1; i >= 0; i--) {
|
||||
int pageIndex = pagesToRemove.get(i);
|
||||
@@ -192,7 +195,7 @@ public class RearrangePagesPDFController {
|
||||
if (sortType != null && sortType.length() > 0) {
|
||||
newPageOrder = processSortTypes(sortType, totalPages);
|
||||
} else {
|
||||
newPageOrder = GeneralUtils.parsePageList(pageOrderArr, totalPages);
|
||||
newPageOrder = GeneralUtils.parsePageList(pageOrderArr, totalPages, false);
|
||||
}
|
||||
logger.info("newPageOrder = " + newPageOrder);
|
||||
logger.info("totalPages = " + totalPages);
|
||||
|
||||
@@ -49,10 +49,16 @@ public class SplitPDFController {
|
||||
// open the pdf document
|
||||
|
||||
PDDocument document = Loader.loadPDF(file.getBytes());
|
||||
int totalPages = document.getNumberOfPages();
|
||||
List<Integer> pageNumbers = request.getPageNumbersList(document, false);
|
||||
System.out.println(
|
||||
pageNumbers.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||
if (!pageNumbers.contains(totalPages - 1)) {
|
||||
// Create a mutable ArrayList so we can add to it
|
||||
pageNumbers = new ArrayList<>(pageNumbers);
|
||||
pageNumbers.add(totalPages - 1);
|
||||
}
|
||||
|
||||
List<Integer> pageNumbers = request.getPageNumbersList(document, true);
|
||||
if (!pageNumbers.contains(document.getNumberOfPages() - 1))
|
||||
pageNumbers.add(document.getNumberOfPages() - 1);
|
||||
logger.info(
|
||||
"Splitting PDF into pages: {}",
|
||||
pageNumbers.stream().map(String::valueOf).collect(Collectors.joining(",")));
|
||||
@@ -65,7 +71,7 @@ public class SplitPDFController {
|
||||
for (int i = previousPageNumber; i <= splitPoint; i++) {
|
||||
PDPage page = document.getPage(i);
|
||||
splitDocument.addPage(page);
|
||||
logger.debug("Adding page {} to split document", i);
|
||||
logger.info("Adding page {} to split document", i);
|
||||
}
|
||||
previousPageNumber = splitPoint + 1;
|
||||
|
||||
|
||||
@@ -53,8 +53,21 @@ public class SplitPdfBySectionsController {
|
||||
// Process the PDF based on split parameters
|
||||
int horiz = request.getHorizontalDivisions() + 1;
|
||||
int verti = request.getVerticalDivisions() + 1;
|
||||
|
||||
boolean merge = request.isMerge();
|
||||
List<PDDocument> splitDocuments = splitPdfPages(sourceDocument, verti, horiz);
|
||||
|
||||
String filename =
|
||||
Filenames.toSimpleFileName(file.getOriginalFilename())
|
||||
.replaceFirst("[.][^.]+$", "");
|
||||
if (merge) {
|
||||
MergeController mergeController = new MergeController();
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
mergeController.mergeDocuments(splitDocuments).save(baos);
|
||||
return WebResponseUtils.bytesToWebResponse(
|
||||
baos.toByteArray(),
|
||||
filename + "_split.pdf",
|
||||
MediaType.APPLICATION_OCTET_STREAM);
|
||||
}
|
||||
for (PDDocument doc : splitDocuments) {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
doc.save(baos);
|
||||
@@ -65,9 +78,6 @@ public class SplitPdfBySectionsController {
|
||||
sourceDocument.close();
|
||||
|
||||
Path zipFile = Files.createTempFile("split_documents", ".zip");
|
||||
String filename =
|
||||
Filenames.toSimpleFileName(file.getOriginalFilename())
|
||||
.replaceFirst("[.][^.]+$", "");
|
||||
byte[] data;
|
||||
|
||||
try (ZipOutputStream zipOut = new ZipOutputStream(Files.newOutputStream(zipFile))) {
|
||||
|
||||
@@ -10,6 +10,9 @@ import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.session.SessionInformation;
|
||||
import org.springframework.security.core.session.SessionRegistry;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
@@ -28,7 +31,6 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import stirling.software.SPDF.config.security.UserService;
|
||||
import stirling.software.SPDF.model.Role;
|
||||
import stirling.software.SPDF.model.User;
|
||||
import stirling.software.SPDF.model.api.user.UpdateUserDetails;
|
||||
import stirling.software.SPDF.model.api.user.UsernameAndPass;
|
||||
|
||||
@Controller
|
||||
@@ -50,67 +52,25 @@ public class UserController {
|
||||
return "redirect:/login?registered=true";
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@PostMapping("/change-username-and-password")
|
||||
public RedirectView changeUsernameAndPassword(
|
||||
Principal principal,
|
||||
@ModelAttribute UpdateUserDetails requestModel,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes) {
|
||||
|
||||
String currentPassword = requestModel.getPassword();
|
||||
String newPassword = requestModel.getNewPassword();
|
||||
String newUsername = requestModel.getNewUsername();
|
||||
|
||||
if (principal == null) {
|
||||
return new RedirectView("/change-creds?messageType=notAuthenticated");
|
||||
}
|
||||
|
||||
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
||||
|
||||
if (userOpt == null || userOpt.isEmpty()) {
|
||||
return new RedirectView("/change-creds?messageType=userNotFound");
|
||||
}
|
||||
|
||||
User user = userOpt.get();
|
||||
|
||||
if (!userService.isPasswordCorrect(user, currentPassword)) {
|
||||
return new RedirectView("/change-creds?messageType=incorrectPassword");
|
||||
}
|
||||
|
||||
if (!user.getUsername().equals(newUsername) && userService.usernameExists(newUsername)) {
|
||||
return new RedirectView("/change-creds?messageType=usernameExists");
|
||||
}
|
||||
|
||||
userService.changePassword(user, newPassword);
|
||||
if (newUsername != null
|
||||
&& newUsername.length() > 0
|
||||
&& !user.getUsername().equals(newUsername)) {
|
||||
userService.changeUsername(user, newUsername);
|
||||
}
|
||||
userService.changeFirstUse(user, false);
|
||||
|
||||
// Logout using Spring's utility
|
||||
new SecurityContextLogoutHandler().logout(request, response, null);
|
||||
|
||||
return new RedirectView("/login?messageType=credsUpdated");
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@PostMapping("/change-username")
|
||||
public RedirectView changeUsername(
|
||||
Principal principal,
|
||||
@RequestParam String currentPassword,
|
||||
@RequestParam String newUsername,
|
||||
@RequestParam(name = "currentPassword") String currentPassword,
|
||||
@RequestParam(name = "newUsername") String newUsername,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes) {
|
||||
|
||||
if (!userService.isUsernameValid(newUsername)) {
|
||||
return new RedirectView("/account?messageType=invalidUsername");
|
||||
}
|
||||
|
||||
if (principal == null) {
|
||||
return new RedirectView("/account?messageType=notAuthenticated");
|
||||
}
|
||||
|
||||
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
||||
Optional<User> userOpt = userService.findByUsernameIgnoreCase(principal.getName());
|
||||
|
||||
if (userOpt == null || userOpt.isEmpty()) {
|
||||
return new RedirectView("/account?messageType=userNotFound");
|
||||
@@ -118,6 +78,10 @@ public class UserController {
|
||||
|
||||
User user = userOpt.get();
|
||||
|
||||
if (user.getUsername().equals(newUsername)) {
|
||||
return new RedirectView("/account?messageType=usernameExists");
|
||||
}
|
||||
|
||||
if (!userService.isPasswordCorrect(user, currentPassword)) {
|
||||
return new RedirectView("/account?messageType=incorrectPassword");
|
||||
}
|
||||
@@ -133,15 +97,48 @@ public class UserController {
|
||||
// Logout using Spring's utility
|
||||
new SecurityContextLogoutHandler().logout(request, response, null);
|
||||
|
||||
return new RedirectView("/login?messageType=credsUpdated");
|
||||
return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED);
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@PostMapping("/change-password-on-login")
|
||||
public RedirectView changePasswordOnLogin(
|
||||
Principal principal,
|
||||
@RequestParam(name = "currentPassword") String currentPassword,
|
||||
@RequestParam(name = "newPassword") String newPassword,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes) {
|
||||
if (principal == null) {
|
||||
return new RedirectView("/change-creds?messageType=notAuthenticated");
|
||||
}
|
||||
|
||||
Optional<User> userOpt = userService.findByUsername(principal.getName());
|
||||
|
||||
if (userOpt == null || userOpt.isEmpty()) {
|
||||
return new RedirectView("/change-creds?messageType=userNotFound");
|
||||
}
|
||||
|
||||
User user = userOpt.get();
|
||||
|
||||
if (!userService.isPasswordCorrect(user, currentPassword)) {
|
||||
return new RedirectView("/change-creds?messageType=incorrectPassword");
|
||||
}
|
||||
|
||||
userService.changePassword(user, newPassword);
|
||||
userService.changeFirstUse(user, false);
|
||||
// Logout using Spring's utility
|
||||
new SecurityContextLogoutHandler().logout(request, response, null);
|
||||
|
||||
return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED);
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@PostMapping("/change-password")
|
||||
public RedirectView changePassword(
|
||||
Principal principal,
|
||||
@RequestParam String currentPassword,
|
||||
@RequestParam String newPassword,
|
||||
@RequestParam(name = "currentPassword") String currentPassword,
|
||||
@RequestParam(name = "newPassword") String newPassword,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response,
|
||||
RedirectAttributes redirectAttributes) {
|
||||
@@ -166,7 +163,7 @@ public class UserController {
|
||||
// Logout using Spring's utility
|
||||
new SecurityContextLogoutHandler().logout(request, response, null);
|
||||
|
||||
return new RedirectView("/login?messageType=credsUpdated");
|
||||
return new RedirectView(LOGIN_MESSAGETYPE_CREDSUPDATED);
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@@ -192,12 +189,24 @@ public class UserController {
|
||||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||||
@PostMapping("/admin/saveUser")
|
||||
public RedirectView saveUser(
|
||||
@RequestParam String username,
|
||||
@RequestParam String password,
|
||||
@RequestParam String role,
|
||||
@RequestParam(name = "username") String username,
|
||||
@RequestParam(name = "password") String password,
|
||||
@RequestParam(name = "role") String role,
|
||||
@RequestParam(name = "forceChange", required = false, defaultValue = "false")
|
||||
boolean forceChange) {
|
||||
|
||||
if (!userService.isUsernameValid(username)) {
|
||||
return new RedirectView("/addUsers?messageType=invalidUsername");
|
||||
}
|
||||
|
||||
Optional<User> userOpt = userService.findByUsernameIgnoreCase(username);
|
||||
|
||||
if (userOpt.isPresent()) {
|
||||
User user = userOpt.get();
|
||||
if (user != null && user.getUsername().equalsIgnoreCase(username)) {
|
||||
return new RedirectView("/addUsers?messageType=usernameExists");
|
||||
}
|
||||
}
|
||||
if (userService.usernameExists(username)) {
|
||||
return new RedirectView("/addUsers?messageType=usernameExists");
|
||||
}
|
||||
@@ -219,18 +228,39 @@ public class UserController {
|
||||
|
||||
@PreAuthorize("hasRole('ROLE_ADMIN')")
|
||||
@PostMapping("/admin/deleteUser/{username}")
|
||||
public String deleteUser(@PathVariable String username, Authentication authentication) {
|
||||
public RedirectView deleteUser(
|
||||
@PathVariable(name = "username") String username, Authentication authentication) {
|
||||
|
||||
if (!userService.usernameExists(username)) {
|
||||
return new RedirectView("/addUsers?messageType=deleteUsernameExists");
|
||||
}
|
||||
|
||||
// Get the currently authenticated username
|
||||
String currentUsername = authentication.getName();
|
||||
|
||||
// Check if the provided username matches the current session's username
|
||||
if (currentUsername.equals(username)) {
|
||||
throw new IllegalArgumentException("Cannot delete currently logined in user.");
|
||||
return new RedirectView("/addUsers?messageType=deleteCurrentUser");
|
||||
}
|
||||
invalidateUserSessions(username);
|
||||
userService.deleteUser(username);
|
||||
return new RedirectView("/addUsers");
|
||||
}
|
||||
|
||||
userService.deleteUser(username);
|
||||
return "redirect:/addUsers";
|
||||
@Autowired private SessionRegistry sessionRegistry;
|
||||
|
||||
private void invalidateUserSessions(String username) {
|
||||
for (Object principal : sessionRegistry.getAllPrincipals()) {
|
||||
if (principal instanceof UserDetails) {
|
||||
UserDetails userDetails = (UserDetails) principal;
|
||||
if (userDetails.getUsername().equals(username)) {
|
||||
for (SessionInformation session :
|
||||
sessionRegistry.getAllSessions(principal, false)) {
|
||||
session.expireNow();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@PreAuthorize("!hasAuthority('ROLE_DEMO_USER')")
|
||||
@@ -261,4 +291,6 @@ public class UserController {
|
||||
}
|
||||
return ResponseEntity.ok(apiKey);
|
||||
}
|
||||
|
||||
private static final String LOGIN_MESSAGETYPE_CREDSUPDATED = "/login?messageType=credsUpdated";
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ConvertBookToPDFController {
|
||||
|
||||
if (!bookAndHtmlFormatsInstalled) {
|
||||
throw new IllegalArgumentException(
|
||||
"bookAndHtmlFormatsInstalled flag is False, this functionality is not avaiable");
|
||||
"bookAndHtmlFormatsInstalled flag is False, this functionality is not available");
|
||||
}
|
||||
|
||||
if (fileInput == null) {
|
||||
|
||||
@@ -45,7 +45,7 @@ public class ConvertPDFToBookController {
|
||||
|
||||
if (!bookAndHtmlFormatsInstalled) {
|
||||
throw new IllegalArgumentException(
|
||||
"bookAndHtmlFormatsInstalled flag is False, this functionality is not avaiable");
|
||||
"bookAndHtmlFormatsInstalled flag is False, this functionality is not available");
|
||||
}
|
||||
|
||||
if (fileInput == null) {
|
||||
|
||||
@@ -28,10 +28,6 @@ import stirling.software.SPDF.utils.WebResponseUtils;
|
||||
@RequestMapping("/api/v1/convert")
|
||||
public class ConvertWebsiteToPDF {
|
||||
|
||||
@Autowired
|
||||
@Qualifier("bookAndHtmlFormatsInstalled")
|
||||
private boolean bookAndHtmlFormatsInstalled;
|
||||
|
||||
@PostMapping(consumes = "multipart/form-data", value = "/url/pdf")
|
||||
@Operation(
|
||||
summary = "Convert a URL to a PDF",
|
||||
@@ -53,11 +49,7 @@ public class ConvertWebsiteToPDF {
|
||||
|
||||
// Prepare the OCRmyPDF command
|
||||
List<String> command = new ArrayList<>();
|
||||
if (!bookAndHtmlFormatsInstalled) {
|
||||
command.add("weasyprint");
|
||||
} else {
|
||||
command.add("wkhtmltopdf");
|
||||
}
|
||||
command.add(URL);
|
||||
command.add(tempOutputFile.toString());
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ public class AutoRenameController {
|
||||
|
||||
// Sanitize the header string by removing characters not allowed in a filename.
|
||||
if (header != null && header.length() < 255) {
|
||||
header = header.replaceAll("[/\\\\?%*:|\"<>]", "");
|
||||
header = header.replaceAll("[/\\\\?%*:|\"<>]", "").trim();
|
||||
return WebResponseUtils.pdfDocToWebResponse(document, header + ".pdf");
|
||||
} else {
|
||||
logger.info("File has no good title to be found");
|
||||
|
||||
@@ -58,7 +58,7 @@ public class AutoSplitPdfController {
|
||||
|
||||
PDDocument document = Loader.loadPDF(file.getBytes());
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
List<PDDocument> splitDocuments = new ArrayList<>();
|
||||
List<ByteArrayOutputStream> splitDocumentsBoas = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ public class BlankPageController {
|
||||
List<Integer> pagesToKeepIndex = new ArrayList<>();
|
||||
int pageIndex = 0;
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
for (PDPage page : pages) {
|
||||
logger.info("checking page " + pageIndex);
|
||||
textStripper.setStartPage(pageIndex + 1);
|
||||
|
||||
@@ -2,9 +2,7 @@ package stirling.software.SPDF.controller.api.misc;
|
||||
|
||||
import java.awt.Image;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
@@ -75,8 +73,11 @@ public class CompressController {
|
||||
long inputFileSize = Files.size(tempInputFile);
|
||||
|
||||
// Prepare the output file path
|
||||
Path tempOutputFile = Files.createTempFile("output_", ".pdf");
|
||||
|
||||
Path tempOutputFile = null;
|
||||
byte[] pdfBytes;
|
||||
try {
|
||||
tempOutputFile = Files.createTempFile("output_", ".pdf");
|
||||
// Determine initial optimization level based on expected size reduction, only if in
|
||||
// autoMode
|
||||
if (autoMode) {
|
||||
@@ -134,11 +135,9 @@ public class CompressController {
|
||||
} else {
|
||||
// Increase optimization level for next iteration
|
||||
optimizeLevel++;
|
||||
if (autoMode && optimizeLevel > 3) {
|
||||
System.out.println("Skipping level 4 due to bad results in auto mode");
|
||||
if (autoMode && optimizeLevel > 4) {
|
||||
System.out.println("Skipping level 5 due to bad results in auto mode");
|
||||
sizeMet = true;
|
||||
} else if (optimizeLevel == 5) {
|
||||
|
||||
} else {
|
||||
System.out.println(
|
||||
"Increasing ghostscript optimisation level to " + optimizeLevel);
|
||||
@@ -148,25 +147,33 @@ public class CompressController {
|
||||
|
||||
if (expectedOutputSize != null && autoMode) {
|
||||
long outputFileSize = Files.size(tempOutputFile);
|
||||
byte[] fileBytes = Files.readAllBytes(tempOutputFile);
|
||||
if (outputFileSize > expectedOutputSize) {
|
||||
try (PDDocument doc = Loader.loadPDF(new File(tempOutputFile.toString()))) {
|
||||
try (PDDocument doc = Loader.loadPDF(fileBytes)) {
|
||||
long previousFileSize = 0;
|
||||
double scaleFactor = 1.0;
|
||||
double scaleFactorConst = 0.9f;
|
||||
double scaleFactor = 0.9f;
|
||||
while (true) {
|
||||
for (PDPage page : doc.getPages()) {
|
||||
PDResources res = page.getResources();
|
||||
|
||||
if (res != null && res.getXObjectNames() != null) {
|
||||
for (COSName name : res.getXObjectNames()) {
|
||||
PDXObject xobj = res.getXObject(name);
|
||||
if (xobj instanceof PDImageXObject) {
|
||||
if (xobj != null && xobj instanceof PDImageXObject) {
|
||||
PDImageXObject image = (PDImageXObject) xobj;
|
||||
|
||||
// Get the image in BufferedImage format
|
||||
BufferedImage bufferedImage = image.getImage();
|
||||
|
||||
// Calculate the new dimensions
|
||||
int newWidth = (int) (bufferedImage.getWidth() * scaleFactor);
|
||||
int newHeight = (int) (bufferedImage.getHeight() * scaleFactor);
|
||||
int newWidth =
|
||||
(int)
|
||||
(bufferedImage.getWidth()
|
||||
* scaleFactorConst);
|
||||
int newHeight =
|
||||
(int)
|
||||
(bufferedImage.getHeight()
|
||||
* scaleFactorConst);
|
||||
|
||||
// If the new dimensions are zero, skip this iteration
|
||||
if (newWidth == 0 || newHeight == 0) {
|
||||
@@ -176,7 +183,9 @@ public class CompressController {
|
||||
// Otherwise, proceed with the scaling
|
||||
Image scaledImage =
|
||||
bufferedImage.getScaledInstance(
|
||||
newWidth, newHeight, Image.SCALE_SMOOTH);
|
||||
newWidth,
|
||||
newHeight,
|
||||
Image.SCALE_SMOOTH);
|
||||
|
||||
// Convert the scaled image back to a BufferedImage
|
||||
BufferedImage scaledBufferedImage =
|
||||
@@ -192,25 +201,26 @@ public class CompressController {
|
||||
ByteArrayOutputStream compressedImageStream =
|
||||
new ByteArrayOutputStream();
|
||||
ImageIO.write(
|
||||
scaledBufferedImage, "jpeg", compressedImageStream);
|
||||
scaledBufferedImage,
|
||||
"jpeg",
|
||||
compressedImageStream);
|
||||
byte[] imageBytes = compressedImageStream.toByteArray();
|
||||
compressedImageStream.close();
|
||||
|
||||
// Convert compressed image back to PDImageXObject
|
||||
ByteArrayInputStream bais =
|
||||
new ByteArrayInputStream(imageBytes);
|
||||
PDImageXObject compressedImage =
|
||||
PDImageXObject.createFromByteArray(
|
||||
doc,
|
||||
imageBytes,
|
||||
image.getCOSObject().toString());
|
||||
|
||||
// Replace the image in the resources with the compressed
|
||||
// Replace the image in the resources with the
|
||||
// compressed
|
||||
// version
|
||||
res.put(name, compressedImage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// save the document to tempOutputFile again
|
||||
doc.save(tempOutputFile.toString());
|
||||
@@ -226,9 +236,10 @@ public class CompressController {
|
||||
System.out.println("Current scale factor: " + scaleFactor);
|
||||
|
||||
// The file is still too large, reduce scaleFactor and try again
|
||||
scaleFactor *= 0.9; // reduce scaleFactor by 10%
|
||||
// Avoid scaleFactor being too small, causing the image to shrink to 0
|
||||
if (scaleFactor < 0.2 || previousFileSize == currentSize) {
|
||||
scaleFactor *= 0.9f; // reduce scaleFactor by 10%
|
||||
// Avoid scaleFactor being too small, causing the image to shrink to
|
||||
// 0
|
||||
if (scaleFactor < 0.2f || previousFileSize == currentSize) {
|
||||
throw new RuntimeException(
|
||||
"Could not reach the desired size without excessively degrading image quality, lowest size recommended is "
|
||||
+ FileUtils.byteCountToDisplaySize(currentSize)
|
||||
@@ -247,7 +258,7 @@ public class CompressController {
|
||||
}
|
||||
|
||||
// Read the optimized PDF file
|
||||
byte[] pdfBytes = Files.readAllBytes(tempOutputFile);
|
||||
pdfBytes = Files.readAllBytes(tempOutputFile);
|
||||
|
||||
// Check if optimized file is larger than the original
|
||||
if (pdfBytes.length > inputFileSize) {
|
||||
@@ -258,10 +269,11 @@ public class CompressController {
|
||||
// Read the original file again
|
||||
pdfBytes = Files.readAllBytes(tempInputFile);
|
||||
}
|
||||
|
||||
} finally {
|
||||
// Clean up the temporary files
|
||||
Files.delete(tempInputFile);
|
||||
Files.delete(tempOutputFile);
|
||||
}
|
||||
|
||||
// Return the optimized PDF as a response
|
||||
String outputFilename =
|
||||
|
||||
@@ -73,11 +73,18 @@ public class ExtractImageScansController {
|
||||
|
||||
List<String> images = new ArrayList<>();
|
||||
|
||||
List<Path> tempImageFiles = new ArrayList<>();
|
||||
Path tempInputFile = null;
|
||||
Path tempZipFile = null;
|
||||
List<Path> tempDirs = new ArrayList<>();
|
||||
|
||||
try {
|
||||
// Check if input file is a PDF
|
||||
if ("pdf".equalsIgnoreCase(extension)) {
|
||||
// Load PDF document
|
||||
try (PDDocument document = Loader.loadPDF(form.getFileInput().getBytes())) {
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
int pageCount = document.getNumberOfPages();
|
||||
images = new ArrayList<>();
|
||||
|
||||
@@ -92,10 +99,11 @@ public class ExtractImageScansController {
|
||||
|
||||
// Add temp file path to images list
|
||||
images.add(tempFile.toString());
|
||||
tempImageFiles.add(tempFile);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Path tempInputFile = Files.createTempFile("input_", "." + extension);
|
||||
tempInputFile = Files.createTempFile("input_", "." + extension);
|
||||
Files.copy(
|
||||
form.getFileInput().getInputStream(),
|
||||
tempInputFile,
|
||||
@@ -110,6 +118,7 @@ public class ExtractImageScansController {
|
||||
for (int i = 0; i < images.size(); i++) {
|
||||
|
||||
Path tempDir = Files.createTempDirectory("openCV_output");
|
||||
tempDirs.add(tempDir);
|
||||
List<String> command =
|
||||
new ArrayList<>(
|
||||
Arrays.asList(
|
||||
@@ -134,7 +143,8 @@ public class ExtractImageScansController {
|
||||
.runCommandWithOutputHandling(command);
|
||||
|
||||
// Read the output photos in temp directory
|
||||
List<Path> tempOutputFiles = Files.list(tempDir).sorted().collect(Collectors.toList());
|
||||
List<Path> tempOutputFiles =
|
||||
Files.list(tempDir).sorted().collect(Collectors.toList());
|
||||
for (Path tempOutputFile : tempOutputFiles) {
|
||||
byte[] imageBytes = Files.readAllBytes(tempOutputFile);
|
||||
processedImageBytes.add(imageBytes);
|
||||
@@ -145,8 +155,9 @@ public class ExtractImageScansController {
|
||||
|
||||
// Create zip file if multiple images
|
||||
if (processedImageBytes.size() > 1) {
|
||||
String outputZipFilename = fileName.replaceFirst("[.][^.]+$", "") + "_processed.zip";
|
||||
Path tempZipFile = Files.createTempFile("output_", ".zip");
|
||||
String outputZipFilename =
|
||||
fileName.replaceFirst(REPLACEFIRST, "") + "_processed.zip";
|
||||
tempZipFile = Files.createTempFile("output_", ".zip");
|
||||
|
||||
try (ZipOutputStream zipOut =
|
||||
new ZipOutputStream(new FileOutputStream(tempZipFile.toFile()))) {
|
||||
@@ -154,7 +165,7 @@ public class ExtractImageScansController {
|
||||
for (int i = 0; i < processedImageBytes.size(); i++) {
|
||||
ZipEntry entry =
|
||||
new ZipEntry(
|
||||
fileName.replaceFirst("[.][^.]+$", "")
|
||||
fileName.replaceFirst(REPLACEFIRST, "")
|
||||
+ "_"
|
||||
+ (i + 1)
|
||||
+ ".png");
|
||||
@@ -176,8 +187,38 @@ public class ExtractImageScansController {
|
||||
byte[] imageBytes = processedImageBytes.get(0);
|
||||
return WebResponseUtils.bytesToWebResponse(
|
||||
imageBytes,
|
||||
fileName.replaceFirst("[.][^.]+$", "") + ".png",
|
||||
fileName.replaceFirst(REPLACEFIRST, "") + ".png",
|
||||
MediaType.IMAGE_PNG);
|
||||
}
|
||||
} finally {
|
||||
// Cleanup logic for all temporary files and directories
|
||||
tempImageFiles.forEach(
|
||||
path -> {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException e) {
|
||||
logger.error("Failed to delete temporary image file: " + path, e);
|
||||
}
|
||||
});
|
||||
|
||||
if (tempZipFile != null && Files.exists(tempZipFile)) {
|
||||
try {
|
||||
Files.delete(tempZipFile);
|
||||
} catch (IOException e) {
|
||||
logger.error("Failed to delete temporary zip file: " + tempZipFile, e);
|
||||
}
|
||||
}
|
||||
|
||||
tempDirs.forEach(
|
||||
dir -> {
|
||||
try {
|
||||
FileUtils.deleteDirectory(dir.toFile());
|
||||
} catch (IOException e) {
|
||||
logger.error("Failed to delete temporary directory: " + dir, e);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private static final String REPLACEFIRST = "[.][^.]+$";
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ public class FakeScanControllerWIP {
|
||||
|
||||
PDDocument document = Loader.loadPDF(inputFile.getBytes());
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
for (int page = 0; page < document.getNumberOfPages(); ++page) {
|
||||
BufferedImage image = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
|
||||
ImageIO.write(image, "png", new File("scanned-" + (page + 1) + ".png"));
|
||||
|
||||
@@ -41,7 +41,7 @@ public class OCRController {
|
||||
private static final Logger logger = LoggerFactory.getLogger(OCRController.class);
|
||||
|
||||
public List<String> getAvailableTesseractLanguages() {
|
||||
String tessdataDir = "/usr/share/tesseract-ocr/5/tessdata";
|
||||
String tessdataDir = "/usr/share/tessdata";
|
||||
File[] files = new File(tessdataDir).listFiles();
|
||||
if (files == null) {
|
||||
return Collections.emptyList();
|
||||
|
||||
@@ -88,7 +88,7 @@ public class StampController {
|
||||
// Load the input PDF
|
||||
PDDocument document = Loader.loadPDF(pdfFile.getBytes());
|
||||
|
||||
List<Integer> pageNumbers = request.getPageNumbersList(document, false);
|
||||
List<Integer> pageNumbers = request.getPageNumbersList(document, true);
|
||||
|
||||
for (int pageIndex : pageNumbers) {
|
||||
int zeroBasedIndex = pageIndex - 1;
|
||||
|
||||
@@ -36,7 +36,7 @@ public class ApiDocService {
|
||||
|
||||
private String getApiDocsUrl() {
|
||||
String contextPath = servletContext.getContextPath();
|
||||
String port = SPdfApplication.getPort();
|
||||
String port = SPdfApplication.getStaticPort();
|
||||
|
||||
return "http://localhost:" + port + contextPath + "/v1/api-docs";
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
@@ -50,9 +49,6 @@ public class PipelineController {
|
||||
@PostMapping("/handleData")
|
||||
public ResponseEntity<byte[]> handleData(@ModelAttribute HandleDataRequest request)
|
||||
throws JsonMappingException, JsonProcessingException {
|
||||
if (!Boolean.TRUE.equals(applicationProperties.getSystem().getEnableAlphaFunctionality())) {
|
||||
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
|
||||
MultipartFile[] files = request.getFileInput();
|
||||
String jsonString = request.getJson();
|
||||
|
||||
@@ -36,7 +36,6 @@ public class PipelineDirectoryProcessor {
|
||||
private static final Logger logger = LoggerFactory.getLogger(PipelineDirectoryProcessor.class);
|
||||
@Autowired private ObjectMapper objectMapper;
|
||||
@Autowired private ApiDocService apiDocService;
|
||||
@Autowired private ApplicationProperties applicationProperties;
|
||||
|
||||
final String watchedFoldersDir = "./pipeline/watchedFolders/";
|
||||
final String finishedFoldersDir = "./pipeline/finishedFolders/";
|
||||
@@ -45,9 +44,6 @@ public class PipelineDirectoryProcessor {
|
||||
|
||||
@Scheduled(fixedRate = 60000)
|
||||
public void scanFolders() {
|
||||
if (!Boolean.TRUE.equals(applicationProperties.getSystem().getEnableAlphaFunctionality())) {
|
||||
return;
|
||||
}
|
||||
Path watchedFolderPath = Paths.get(watchedFoldersDir);
|
||||
if (!Files.exists(watchedFolderPath)) {
|
||||
try {
|
||||
|
||||
@@ -64,7 +64,7 @@ public class PipelineProcessor {
|
||||
|
||||
private String getBaseUrl() {
|
||||
String contextPath = servletContext.getContextPath();
|
||||
String port = SPdfApplication.getPort();
|
||||
String port = SPdfApplication.getStaticPort();
|
||||
|
||||
return "http://localhost:" + port + contextPath + "/";
|
||||
}
|
||||
|
||||
@@ -83,6 +83,7 @@ public class RedactController {
|
||||
if (convertPDFToImage) {
|
||||
PDDocument imageDocument = new PDDocument();
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
for (int page = 0; page < document.getNumberOfPages(); ++page) {
|
||||
BufferedImage bim = pdfRenderer.renderImageWithDPI(page, 300, ImageType.RGB);
|
||||
PDPage newPage = new PDPage(new PDRectangle(bim.getWidth(), bim.getHeight()));
|
||||
|
||||
@@ -54,7 +54,7 @@ public class SanitizeController {
|
||||
boolean removeLinks = request.isRemoveLinks();
|
||||
boolean removeFonts = request.isRemoveFonts();
|
||||
|
||||
try (PDDocument document = Loader.loadPDF(inputFile.getBytes())) {
|
||||
PDDocument document = Loader.loadPDF(inputFile.getBytes());
|
||||
if (removeJavaScript) {
|
||||
sanitizeJavaScript(document);
|
||||
}
|
||||
@@ -81,7 +81,6 @@ public class SanitizeController {
|
||||
.replaceFirst("[.][^.]+$", "")
|
||||
+ "_sanitized.pdf");
|
||||
}
|
||||
}
|
||||
|
||||
private void sanitizeJavaScript(PDDocument document) throws IOException {
|
||||
// Get the root dictionary (catalog) of the PDF
|
||||
|
||||
@@ -2,6 +2,7 @@ package stirling.software.SPDF.controller.web;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -33,6 +34,8 @@ public class AccountWebController {
|
||||
return "redirect:/";
|
||||
}
|
||||
|
||||
model.addAttribute("currentPage", "login");
|
||||
|
||||
if (request.getParameter("error") != null) {
|
||||
|
||||
model.addAttribute("error", request.getParameter("error"));
|
||||
@@ -53,6 +56,7 @@ public class AccountWebController {
|
||||
public String showAddUserForm(Model model, Authentication authentication) {
|
||||
List<User> allUsers = userRepository.findAll();
|
||||
Iterator<User> iterator = allUsers.iterator();
|
||||
Map<String, String> roleDetails = Role.getAllRoleDetails();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
User user = iterator.next();
|
||||
@@ -60,6 +64,7 @@ public class AccountWebController {
|
||||
for (Authority authority : user.getAuthorities()) {
|
||||
if (authority.getAuthority().equals(Role.INTERNAL_API_USER.getRoleId())) {
|
||||
iterator.remove();
|
||||
roleDetails.remove(Role.INTERNAL_API_USER.getRoleId());
|
||||
break; // Break out of the inner loop once the user is removed
|
||||
}
|
||||
}
|
||||
@@ -68,6 +73,7 @@ public class AccountWebController {
|
||||
|
||||
model.addAttribute("users", allUsers);
|
||||
model.addAttribute("currentUsername", authentication.getName());
|
||||
model.addAttribute("roleDetails", roleDetails);
|
||||
return "addUsers";
|
||||
}
|
||||
|
||||
@@ -112,6 +118,7 @@ public class AccountWebController {
|
||||
model.addAttribute("role", user.get().getRolesAsString());
|
||||
model.addAttribute("settings", settingsJson);
|
||||
model.addAttribute("changeCredsFlag", user.get().isFirstLogin());
|
||||
model.addAttribute("currentPage", "account");
|
||||
}
|
||||
} else {
|
||||
return "redirect:/";
|
||||
|
||||
@@ -82,7 +82,7 @@ public class OtherWebController {
|
||||
}
|
||||
|
||||
public List<String> getAvailableTesseractLanguages() {
|
||||
String tessdataDir = "/usr/share/tesseract-ocr/5/tessdata";
|
||||
String tessdataDir = "/usr/share/tessdata";
|
||||
File[] files = new File(tessdataDir).listFiles();
|
||||
if (files == null) {
|
||||
return Collections.emptyList();
|
||||
|
||||
@@ -210,7 +210,6 @@ public class ApplicationProperties {
|
||||
private String rootURIPath;
|
||||
private String customStaticFilePath;
|
||||
private Integer maxFileSize;
|
||||
private CustomApplications customApplications;
|
||||
|
||||
private Boolean enableAlphaFunctionality;
|
||||
|
||||
@@ -262,14 +261,6 @@ public class ApplicationProperties {
|
||||
this.maxFileSize = maxFileSize;
|
||||
}
|
||||
|
||||
public CustomApplications getCustomApplications() {
|
||||
return customApplications != null ? customApplications : new CustomApplications();
|
||||
}
|
||||
|
||||
public void setCustomApplications(CustomApplications customApplications) {
|
||||
this.customApplications = customApplications;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "System [defaultLocale="
|
||||
@@ -282,31 +273,10 @@ public class ApplicationProperties {
|
||||
+ customStaticFilePath
|
||||
+ ", maxFileSize="
|
||||
+ maxFileSize
|
||||
+ ", customApplications="
|
||||
+ customApplications
|
||||
+ ", enableAlphaFunctionality="
|
||||
+ enableAlphaFunctionality
|
||||
+ "]";
|
||||
}
|
||||
|
||||
public static class CustomApplications {
|
||||
private boolean installBookAndHtmlFormats;
|
||||
|
||||
public boolean isInstallBookAndHtmlFormats() {
|
||||
return installBookAndHtmlFormats;
|
||||
}
|
||||
|
||||
public void setInstallBookAndHtmlFormats(boolean installBookAndHtmlFormats) {
|
||||
this.installBookAndHtmlFormats = installBookAndHtmlFormats;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CustomApplications [installBookAndHtmlFormats="
|
||||
+ installBookAndHtmlFormats
|
||||
+ "]";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class Ui {
|
||||
|
||||
@@ -1,34 +1,43 @@
|
||||
package stirling.software.SPDF.model;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public enum Role {
|
||||
|
||||
// Unlimited access
|
||||
ADMIN("ROLE_ADMIN", Integer.MAX_VALUE, Integer.MAX_VALUE),
|
||||
ADMIN("ROLE_ADMIN", Integer.MAX_VALUE, Integer.MAX_VALUE, "adminUserSettings.admin"),
|
||||
|
||||
// Unlimited access
|
||||
USER("ROLE_USER", Integer.MAX_VALUE, Integer.MAX_VALUE),
|
||||
USER("ROLE_USER", Integer.MAX_VALUE, Integer.MAX_VALUE, "adminUserSettings.user"),
|
||||
|
||||
// 40 API calls Per Day, 40 web calls
|
||||
LIMITED_API_USER("ROLE_LIMITED_API_USER", 40, 40),
|
||||
LIMITED_API_USER("ROLE_LIMITED_API_USER", 40, 40, "adminUserSettings.apiUser"),
|
||||
|
||||
// 20 API calls Per Day, 20 web calls
|
||||
EXTRA_LIMITED_API_USER("ROLE_EXTRA_LIMITED_API_USER", 20, 20),
|
||||
EXTRA_LIMITED_API_USER("ROLE_EXTRA_LIMITED_API_USER", 20, 20, "adminUserSettings.extraApiUser"),
|
||||
|
||||
// 0 API calls per day and 20 web calls
|
||||
WEB_ONLY_USER("ROLE_WEB_ONLY_USER", 0, 20),
|
||||
WEB_ONLY_USER("ROLE_WEB_ONLY_USER", 0, 20, "adminUserSettings.webOnlyUser"),
|
||||
|
||||
INTERNAL_API_USER("STIRLING-PDF-BACKEND-API-USER", Integer.MAX_VALUE, Integer.MAX_VALUE),
|
||||
INTERNAL_API_USER(
|
||||
"STIRLING-PDF-BACKEND-API-USER",
|
||||
Integer.MAX_VALUE,
|
||||
Integer.MAX_VALUE,
|
||||
"adminUserSettings.internalApiUser"),
|
||||
|
||||
DEMO_USER("ROLE_DEMO_USER", 100, 100);
|
||||
DEMO_USER("ROLE_DEMO_USER", 100, 100, "adminUserSettings.demoUser");
|
||||
|
||||
private final String roleId;
|
||||
private final int apiCallsPerDay;
|
||||
private final int webCallsPerDay;
|
||||
private final String roleName;
|
||||
|
||||
Role(String roleId, int apiCallsPerDay, int webCallsPerDay) {
|
||||
Role(String roleId, int apiCallsPerDay, int webCallsPerDay, String roleName) {
|
||||
this.roleId = roleId;
|
||||
this.apiCallsPerDay = apiCallsPerDay;
|
||||
this.webCallsPerDay = webCallsPerDay;
|
||||
this.roleName = roleName;
|
||||
}
|
||||
|
||||
public String getRoleId() {
|
||||
@@ -43,6 +52,27 @@ public enum Role {
|
||||
return webCallsPerDay;
|
||||
}
|
||||
|
||||
public String getRoleName() {
|
||||
return roleName;
|
||||
}
|
||||
|
||||
public static String getRoleNameByRoleId(String roleId) {
|
||||
// Using the fromString method to get the Role enum based on the roleId
|
||||
Role role = fromString(roleId);
|
||||
// Return the roleName of the found Role enum
|
||||
return role.getRoleName();
|
||||
}
|
||||
|
||||
// Method to retrieve all role IDs and role names
|
||||
public static Map<String, String> getAllRoleDetails() {
|
||||
// Using LinkedHashMap to preserve order
|
||||
Map<String, String> roleDetails = new LinkedHashMap<>();
|
||||
for (Role role : Role.values()) {
|
||||
roleDetails.put(role.getRoleId(), role.getRoleName());
|
||||
}
|
||||
return roleDetails;
|
||||
}
|
||||
|
||||
public static Role fromString(String roleId) {
|
||||
for (Role role : Role.values()) {
|
||||
if (role.getRoleId().equalsIgnoreCase(roleId)) {
|
||||
|
||||
@@ -44,6 +44,9 @@ public class User {
|
||||
@Column(name = "isFirstLogin")
|
||||
private Boolean isFirstLogin = false;
|
||||
|
||||
@Column(name = "roleName")
|
||||
private String roleName;
|
||||
|
||||
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "user")
|
||||
private Set<Authority> authorities = new HashSet<>();
|
||||
|
||||
@@ -53,6 +56,10 @@ public class User {
|
||||
@CollectionTable(name = "user_settings", joinColumns = @JoinColumn(name = "user_id"))
|
||||
private Map<String, String> settings = new HashMap<>(); // Key-value pairs of settings.
|
||||
|
||||
public String getRoleName() {
|
||||
return Role.getRoleNameByRoleId(getRolesAsString());
|
||||
}
|
||||
|
||||
public boolean isFirstLogin() {
|
||||
return isFirstLogin != null && isFirstLogin;
|
||||
}
|
||||
|
||||
@@ -33,13 +33,13 @@ public class PDFWithPageNums extends PDFFile {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
return GeneralUtils.parsePageString(pageNumbers, pageCount, zeroCount);
|
||||
return GeneralUtils.parsePageList(pageNumbers, pageCount, zeroCount);
|
||||
}
|
||||
|
||||
@Hidden
|
||||
public List<Integer> getPageNumbersList(PDDocument doc, boolean zeroCount) {
|
||||
int pageCount = 0;
|
||||
pageCount = doc.getNumberOfPages();
|
||||
return GeneralUtils.parsePageString(pageNumbers, pageCount, zeroCount);
|
||||
return GeneralUtils.parsePageList(pageNumbers, pageCount, zeroCount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,4 +15,7 @@ public class SplitPdfBySectionsRequest extends PDFFile {
|
||||
|
||||
@Schema(description = "Number of vertical divisions for each PDF page", example = "2")
|
||||
private int verticalDivisions;
|
||||
|
||||
@Schema(description = "Merge the split documents into a single PDF", example = "true")
|
||||
private boolean merge;
|
||||
}
|
||||
|
||||
@@ -12,6 +12,6 @@ public class PdfToTextOrRTFRequest extends PDFFile {
|
||||
|
||||
@Schema(
|
||||
description = "The output Text or RTF format",
|
||||
allowableValues = {"rtf", "txt:Text"})
|
||||
allowableValues = {"rtf", "txt"})
|
||||
private String outputFormat;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,16 @@ public class TextFinder extends PDFTextStripper {
|
||||
private final boolean wholeWordSearch;
|
||||
private final List<PDFText> textOccurrences = new ArrayList<>();
|
||||
|
||||
private class MatchInfo {
|
||||
int startIndex;
|
||||
int matchLength;
|
||||
|
||||
MatchInfo(int startIndex, int matchLength) {
|
||||
this.startIndex = startIndex;
|
||||
this.matchLength = matchLength;
|
||||
}
|
||||
}
|
||||
|
||||
public TextFinder(String searchText, boolean useRegex, boolean wholeWordSearch)
|
||||
throws IOException {
|
||||
this.searchText = searchText.toLowerCase();
|
||||
@@ -27,36 +37,37 @@ public class TextFinder extends PDFTextStripper {
|
||||
setSortByPosition(true);
|
||||
}
|
||||
|
||||
private List<Integer> findOccurrencesInText(String searchText, String content) {
|
||||
List<Integer> indexes = new ArrayList<>();
|
||||
private List<MatchInfo> findOccurrencesInText(String searchText, String content) {
|
||||
List<MatchInfo> matches = new ArrayList<>();
|
||||
|
||||
Pattern pattern;
|
||||
|
||||
if (useRegex) {
|
||||
// Use regex-based search
|
||||
pattern =
|
||||
wholeWordSearch
|
||||
? Pattern.compile("(\\b|_|\\.)" + searchText + "(\\b|_|\\.)")
|
||||
? Pattern.compile("\\b" + searchText + "\\b")
|
||||
: Pattern.compile(searchText);
|
||||
} else {
|
||||
// Use normal text search
|
||||
pattern =
|
||||
wholeWordSearch
|
||||
? Pattern.compile(
|
||||
"(\\b|_|\\.)" + Pattern.quote(searchText) + "(\\b|_|\\.)")
|
||||
? Pattern.compile("\\b" + Pattern.quote(searchText) + "\\b")
|
||||
: Pattern.compile(Pattern.quote(searchText));
|
||||
}
|
||||
|
||||
Matcher matcher = pattern.matcher(content);
|
||||
while (matcher.find()) {
|
||||
indexes.add(matcher.start());
|
||||
matches.add(new MatchInfo(matcher.start(), matcher.end() - matcher.start()));
|
||||
}
|
||||
return indexes;
|
||||
return matches;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void writeString(String text, List<TextPosition> textPositions) {
|
||||
for (Integer index : findOccurrencesInText(searchText, text.toLowerCase())) {
|
||||
if (index + searchText.length() <= textPositions.size()) {
|
||||
for (MatchInfo match : findOccurrencesInText(searchText, text.toLowerCase())) {
|
||||
int index = match.startIndex;
|
||||
if (index + match.matchLength <= textPositions.size()) {
|
||||
// Initial values based on the first character
|
||||
TextPosition first = textPositions.get(index);
|
||||
float minX = first.getX();
|
||||
@@ -65,7 +76,7 @@ public class TextFinder extends PDFTextStripper {
|
||||
float maxY = first.getY() + first.getHeight();
|
||||
|
||||
// Loop over the rest of the characters and adjust bounding box values
|
||||
for (int i = index; i < index + searchText.length(); i++) {
|
||||
for (int i = index; i < index + match.matchLength; i++) {
|
||||
TextPosition position = textPositions.get(i);
|
||||
minX = Math.min(minX, position.getX());
|
||||
minY = Math.min(minY, position.getY());
|
||||
|
||||
@@ -3,10 +3,14 @@ package stirling.software.SPDF.repository;
|
||||
import java.util.Optional;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
|
||||
import stirling.software.SPDF.model.User;
|
||||
|
||||
public interface UserRepository extends JpaRepository<User, String> {
|
||||
Optional<User> findByUsernameIgnoreCase(String username);
|
||||
|
||||
Optional<User> findByUsername(String username);
|
||||
|
||||
User findByApiKey(String apiKey);
|
||||
|
||||
@@ -12,11 +12,12 @@ import java.nio.file.Paths;
|
||||
import java.nio.file.SimpleFileVisitor;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import com.fathzer.soft.javaluator.DoubleEvaluator;
|
||||
|
||||
import io.github.pixee.security.HostValidator;
|
||||
import io.github.pixee.security.Urls;
|
||||
|
||||
@@ -115,91 +116,115 @@ public class GeneralUtils {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static List<Integer> parsePageString(String pageOrder, int totalPages) {
|
||||
return parsePageString(pageOrder, totalPages, false);
|
||||
public static List<Integer> parsePageList(String pages, int totalPages, boolean oneBased) {
|
||||
if (pages == null) {
|
||||
return List.of(1); // Default to first page if input is null
|
||||
}
|
||||
try {
|
||||
return parsePageList(pages.split(","), totalPages, oneBased);
|
||||
} catch (NumberFormatException e) {
|
||||
return List.of(1); // Default to first page if input is invalid
|
||||
}
|
||||
}
|
||||
|
||||
public static List<Integer> parsePageString(
|
||||
String pageOrder, int totalPages, boolean isOneBased) {
|
||||
if (pageOrder == null || pageOrder.isEmpty()) {
|
||||
return Collections.singletonList(1);
|
||||
}
|
||||
if (pageOrder.matches("\\d+")) {
|
||||
// Convert the single number string to an integer and return it in a list
|
||||
return Collections.singletonList(Integer.parseInt(pageOrder));
|
||||
}
|
||||
return parsePageList(pageOrder.split(","), totalPages, isOneBased);
|
||||
public static List<Integer> parsePageList(String[] pages, int totalPages) {
|
||||
return parsePageList(pages, totalPages, false);
|
||||
}
|
||||
|
||||
public static List<Integer> parsePageList(String[] pageOrderArr, int totalPages) {
|
||||
return parsePageList(pageOrderArr, totalPages, false);
|
||||
}
|
||||
public static List<Integer> parsePageList(String[] pages, int totalPages, boolean oneBased) {
|
||||
List<Integer> result = new ArrayList<>();
|
||||
int offset = oneBased ? 1 : 0;
|
||||
for (String page : pages) {
|
||||
if ("all".equalsIgnoreCase(page)) {
|
||||
|
||||
public static List<Integer> parsePageList(
|
||||
String[] pageOrderArr, int totalPages, boolean isOneBased) {
|
||||
List<Integer> newPageOrder = new ArrayList<>();
|
||||
|
||||
int adjustmentFactor = isOneBased ? 1 : 0;
|
||||
|
||||
// loop through the page order array
|
||||
for (String element : pageOrderArr) {
|
||||
if ("all".equalsIgnoreCase(element)) {
|
||||
for (int i = 0; i < totalPages; i++) {
|
||||
newPageOrder.add(i + adjustmentFactor);
|
||||
result.add(i + offset);
|
||||
}
|
||||
// As all pages are already added, no need to check further
|
||||
break;
|
||||
} else if (element.matches("\\d*n\\+?-?\\d*|\\d*\\+?n")) {
|
||||
// Handle page order as a function
|
||||
int coefficient = 0;
|
||||
int constant = 0;
|
||||
boolean coefficientExists = false;
|
||||
boolean constantExists = false;
|
||||
|
||||
if (element.contains("n")) {
|
||||
String[] parts = element.split("n");
|
||||
if (!"".equals(parts[0]) && parts[0] != null) {
|
||||
coefficient = Integer.parseInt(parts[0]);
|
||||
coefficientExists = true;
|
||||
}
|
||||
if (parts.length > 1 && !"".equals(parts[1]) && parts[1] != null) {
|
||||
constant = Integer.parseInt(parts[1]);
|
||||
constantExists = true;
|
||||
}
|
||||
} else if (element.contains("+")) {
|
||||
constant = Integer.parseInt(element.replace("+", ""));
|
||||
constantExists = true;
|
||||
}
|
||||
|
||||
for (int i = 1; i <= totalPages; i++) {
|
||||
int pageNum = coefficientExists ? coefficient * i : i;
|
||||
pageNum += constantExists ? constant : 0;
|
||||
|
||||
if (pageNum <= totalPages && pageNum > 0) {
|
||||
newPageOrder.add(pageNum - adjustmentFactor);
|
||||
}
|
||||
}
|
||||
} else if (element.contains("-")) {
|
||||
// split the range into start and end page
|
||||
String[] range = element.split("-");
|
||||
int start = Integer.parseInt(range[0]);
|
||||
int end = Integer.parseInt(range[1]);
|
||||
// check if the end page is greater than total pages
|
||||
if (end > totalPages) {
|
||||
end = totalPages;
|
||||
}
|
||||
// loop through the range of pages
|
||||
for (int j = start; j <= end; j++) {
|
||||
// print the current index
|
||||
newPageOrder.add(j - adjustmentFactor);
|
||||
} else if (page.contains(",")) {
|
||||
// Split the string into parts, could be single pages or ranges
|
||||
String[] parts = page.split(",");
|
||||
for (String part : parts) {
|
||||
result.addAll(handlePart(part, totalPages, offset));
|
||||
}
|
||||
} else {
|
||||
// if the element is a single page
|
||||
newPageOrder.add(Integer.parseInt(element) - adjustmentFactor);
|
||||
result.addAll(handlePart(page, totalPages, offset));
|
||||
}
|
||||
}
|
||||
return new ArrayList<>(
|
||||
new java.util.LinkedHashSet<>(result)); // Remove duplicates and maintain order
|
||||
}
|
||||
|
||||
return newPageOrder;
|
||||
public static List<Integer> evaluateNFunc(String expression, int maxValue) {
|
||||
List<Integer> results = new ArrayList<>();
|
||||
DoubleEvaluator evaluator = new DoubleEvaluator();
|
||||
|
||||
// Validate the expression
|
||||
if (!expression.matches("[0-9n+\\-*/() ]+")) {
|
||||
throw new IllegalArgumentException("Invalid expression");
|
||||
}
|
||||
|
||||
int n = 0;
|
||||
while (true) {
|
||||
// Replace 'n' with the current value of n, correctly handling numbers before 'n'
|
||||
String sanitizedExpression = insertMultiplicationBeforeN(expression, n);
|
||||
Double result = evaluator.evaluate(sanitizedExpression);
|
||||
|
||||
// Check if the result is null or not within bounds
|
||||
if (result == null || result <= 0 || result.intValue() > maxValue) {
|
||||
if (n != 0) break;
|
||||
} else {
|
||||
results.add(result.intValue());
|
||||
}
|
||||
n++;
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
private static String insertMultiplicationBeforeN(String expression, int nValue) {
|
||||
// Insert multiplication between a number and 'n' (e.g., "4n" becomes "4*n")
|
||||
String withMultiplication = expression.replaceAll("(\\d)n", "$1*n");
|
||||
// Now replace 'n' with its current value
|
||||
return withMultiplication.replaceAll("n", String.valueOf(nValue));
|
||||
}
|
||||
|
||||
private static List<Integer> handlePart(String part, int totalPages, int offset) {
|
||||
List<Integer> partResult = new ArrayList<>();
|
||||
|
||||
// First check for n-syntax because it should not be processed as a range
|
||||
if (part.contains("n")) {
|
||||
partResult = evaluateNFunc(part, totalPages);
|
||||
// Adjust the results according to the offset
|
||||
for (int i = 0; i < partResult.size(); i++) {
|
||||
int adjustedValue = partResult.get(i) - 1 + offset;
|
||||
partResult.set(i, adjustedValue);
|
||||
}
|
||||
} else if (part.contains("-")) {
|
||||
// Process ranges only if it's not n-syntax
|
||||
String[] rangeParts = part.split("-");
|
||||
try {
|
||||
int start = Integer.parseInt(rangeParts[0]);
|
||||
int end = Integer.parseInt(rangeParts[1]);
|
||||
for (int i = start; i <= end; i++) {
|
||||
if (i >= 1 && i <= totalPages) {
|
||||
partResult.add(i - 1 + offset);
|
||||
}
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
// Range is invalid, ignore this part
|
||||
}
|
||||
} else {
|
||||
// This is a single page number
|
||||
try {
|
||||
int pageNum = Integer.parseInt(part.trim());
|
||||
if (pageNum >= 1 && pageNum <= totalPages) {
|
||||
partResult.add(pageNum - 1 + offset);
|
||||
}
|
||||
} catch (NumberFormatException ignored) {
|
||||
// Ignore invalid numbers
|
||||
}
|
||||
}
|
||||
return partResult;
|
||||
}
|
||||
|
||||
public static boolean createDir(String path) {
|
||||
|
||||
@@ -214,6 +214,7 @@ public class PdfUtils {
|
||||
throws IOException, Exception {
|
||||
try (PDDocument document = Loader.loadPDF(inputStream)) {
|
||||
PDFRenderer pdfRenderer = new PDFRenderer(document);
|
||||
pdfRenderer.setSubsamplingAllowed(true);
|
||||
int pageCount = document.getNumberOfPages();
|
||||
|
||||
// Create a ByteArrayOutputStream to save the image(s) to
|
||||
|
||||
@@ -169,17 +169,20 @@ public class ProcessExecutor {
|
||||
errorReaderThread.join();
|
||||
outputReaderThread.join();
|
||||
|
||||
if (!liveUpdates) {
|
||||
if (outputLines.size() > 0) {
|
||||
String outputMessage = String.join("\n", outputLines);
|
||||
messages += outputMessage;
|
||||
if (!liveUpdates) {
|
||||
logger.info("Command output:\n" + outputMessage);
|
||||
}
|
||||
}
|
||||
|
||||
if (errorLines.size() > 0) {
|
||||
String errorMessage = String.join("\n", errorLines);
|
||||
messages += errorMessage;
|
||||
if (!liveUpdates) {
|
||||
logger.warn("Command error output:\n" + errorMessage);
|
||||
}
|
||||
if (exitCode != 0) {
|
||||
throw new IOException(
|
||||
"Command process failed with exit code "
|
||||
@@ -188,8 +191,13 @@ public class ProcessExecutor {
|
||||
+ errorMessage);
|
||||
}
|
||||
}
|
||||
} else if (exitCode != 0) {
|
||||
throw new IOException("Command process failed with exit code " + exitCode);
|
||||
|
||||
if (exitCode != 0) {
|
||||
throw new IOException(
|
||||
"Command process failed with exit code "
|
||||
+ exitCode
|
||||
+ "\nLogs: "
|
||||
+ messages);
|
||||
}
|
||||
} finally {
|
||||
semaphore.release();
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
fileToPDF.fileTypesList=Microsoft Word: (DOC, DOCX, DOT, DOTX) <br> \
|
||||
Microsoft Excel: (CSV, XLS, XLSX, XLT, XLTX, SLK, DIF) <br> \
|
||||
Microsoft PowerPoint: (PPT, PPTX) <br> \
|
||||
OpenDocument Formats: (ODT, OTT, ODS, OTS, ODP, OTP, ODG, OTG) <br> \
|
||||
Plain Text: (TXT, TEXT, XML) <br> \
|
||||
Rich Text Format: (RTF) <br> \
|
||||
Images: (BMP, GIF, JPEG, PNG, TIF, PBM, PGM, PPM, RAS, XBM, XPM, SVG, SVM, WMF) <br> \
|
||||
HTML: (HTML) <br> \
|
||||
Lotus Word Pro: (LWP) <br> \
|
||||
StarOffice formats: (SDA, SDC, SDD, SDW, STC, STD, STI, STW, SXD, SXG, SXI, SXW) <br> \
|
||||
Other formats: (DBF, FODS, VSD, VOR, VOR3, VOR4, UOP, PCT, PS, PDF)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,16 +11,19 @@ imgPrompt=اختر صورة
|
||||
genericSubmit=إرسال
|
||||
processTimeWarning=تحذير: يمكن أن تستغرق هذه العملية ما يصل إلى دقيقة حسب حجم الملف
|
||||
pageOrderPrompt=ترتيب الصفحات (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=اذهب
|
||||
true=\u0635\u062D\u064A\u062D
|
||||
false=\u062E\u0637\u0623
|
||||
unknown=\u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641
|
||||
save=\u062D\u0641\u0638
|
||||
close=\u0625\u063A\u0644\u0627\u0642
|
||||
true=صحيح
|
||||
false=خطأ
|
||||
unknown=غير معروف
|
||||
save=حفظ
|
||||
saveToBrowser=Save to Browser
|
||||
close=إغلاق
|
||||
filesSelected=الملفات المحددة
|
||||
noFavourites=لم تتم إضافة أي مفضلات
|
||||
downloadComplete=Download Complete
|
||||
bored=الانتظار بالملل؟
|
||||
alphabet=\u0627\u0644\u0623\u0628\u062C\u062F\u064A\u0629
|
||||
alphabet=الأبجدية
|
||||
downloadPdf=تنزيل PDF
|
||||
text=نص
|
||||
font=الخط
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -86,19 +94,19 @@ navbar.security=الأمان
|
||||
navbar.other=أخرى
|
||||
navbar.darkmode=الوضع الداكن
|
||||
navbar.pageOps=عمليات الصفحة
|
||||
navbar.settings=\u0625\u0639\u062F\u0627\u062F\u0627\u062A
|
||||
navbar.settings=إعدادات
|
||||
|
||||
#############
|
||||
# SETTINGS #
|
||||
#############
|
||||
settings.title=\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A
|
||||
settings.update=\u0627\u0644\u062A\u062D\u062F\u064A\u062B \u0645\u062A\u0627\u062D
|
||||
settings.appVersion=\u0625\u0635\u062F\u0627\u0631 \u0627\u0644\u062A\u0637\u0628\u064A\u0642:
|
||||
settings.downloadOption.title=\u062A\u062D\u062F\u064A\u062F \u062E\u064A\u0627\u0631 \u0627\u0644\u062A\u0646\u0632\u064A\u0644 (\u0644\u0644\u062A\u0646\u0632\u064A\u0644\u0627\u062A \u0630\u0627\u062A \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0648\u0627\u062D\u062F \u063A\u064A\u0631 \u0627\u0644\u0645\u0636\u063A\u0648\u0637):
|
||||
settings.downloadOption.1=\u0641\u062A\u062D \u0641\u064A \u0646\u0641\u0633 \u0627\u0644\u0646\u0627\u0641\u0630\u0629
|
||||
settings.downloadOption.2=\u0641\u062A\u062D \u0641\u064A \u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629
|
||||
settings.downloadOption.3=\u062A\u0646\u0632\u064A\u0644 \u0627\u0644\u0645\u0644\u0641
|
||||
settings.zipThreshold=\u0645\u0644\u0641\u0627\u062A \u0645\u0636\u063A\u0648\u0637\u0629 \u0639\u0646\u062F \u062A\u062C\u0627\u0648\u0632 \u0639\u062F\u062F \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0645 \u062A\u0646\u0632\u064A\u0644\u0647\u0627
|
||||
settings.title=الإعدادات
|
||||
settings.update=التحديث متاح
|
||||
settings.appVersion=إصدار التطبيق:
|
||||
settings.downloadOption.title=تحديد خيار التنزيل (للتنزيلات ذات الملف الواحد غير المضغوط):
|
||||
settings.downloadOption.1=فتح في نفس النافذة
|
||||
settings.downloadOption.2=فتح في نافذة جديدة
|
||||
settings.downloadOption.3=تنزيل الملف
|
||||
settings.zipThreshold=ملفات مضغوطة عند تجاوز عدد الملفات التي تم تنزيلها
|
||||
settings.signOut=Sign Out
|
||||
settings.accountSettings=Account Settings
|
||||
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -221,25 +232,25 @@ home.compressPdfs.desc=ضغط ملفات PDF لتقليل حجم الملف.
|
||||
compressPdfs.tags=squish,small,tiny
|
||||
|
||||
|
||||
home.changeMetadata.title=\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0648\u0635\u0641\u064A\u0629
|
||||
home.changeMetadata.desc=\u062A\u063A\u064A\u064A\u0631 / \u0625\u0632\u0627\u0644\u0629 / \u0625\u0636\u0627\u0641\u0629 \u0628\u064A\u0627\u0646\u0627\u062A \u0623\u0648\u0644\u064A\u0629 \u0645\u0646 \u0645\u0633\u062A\u0646\u062F PDF
|
||||
home.changeMetadata.title=تغيير البيانات الوصفية
|
||||
home.changeMetadata.desc=تغيير / إزالة / إضافة بيانات أولية من مستند PDF
|
||||
changeMetadata.tags==Title,author,date,creation,time,publisher,producer,stats
|
||||
|
||||
home.fileToPDF.title=\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0645\u0644\u0641 \u0625\u0644\u0649 PDF
|
||||
home.fileToPDF.desc=\u062A\u062D\u0648\u064A\u0644 \u0623\u064A \u0645\u0644\u0641 \u062A\u0642\u0631\u064A\u0628\u0627 \u0625\u0644\u0649 PDF (DOCX \u0648PNG \u0648XLS \u0648PPT \u0648TXT \u0648\u0627\u0644\u0645\u0632\u064A\u062F)
|
||||
home.fileToPDF.title=تحويل الملف إلى PDF
|
||||
home.fileToPDF.desc=تحويل أي ملف تقريبا إلى PDF (DOCX وPNG وXLS وPPT وTXT والمزيد)
|
||||
fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint
|
||||
|
||||
home.ocr.title=\u062A\u0634\u063A\u064A\u0644 OCR \u0639\u0644\u0649 PDF \u0648 / \u0623\u0648 \u0645\u0633\u062D \u0636\u0648\u0626\u064A
|
||||
home.ocr.desc=\u064A\u0642\u0648\u0645 \u0628\u0631\u0646\u0627\u0645\u062C \u0627\u0644\u062A\u0646\u0638\u064A\u0641 \u0628\u0645\u0633\u062D \u0648\u0627\u0643\u062A\u0634\u0627\u0641 \u0627\u0644\u0646\u0635 \u0645\u0646 \u0627\u0644\u0635\u0648\u0631 \u062F\u0627\u062E\u0644 \u0645\u0644\u0641 PDF \u0648\u064A\u0639\u064A\u062F \u0625\u0636\u0627\u0641\u062A\u0647 \u0643\u0646\u0635
|
||||
home.ocr.title=تشغيل OCR على PDF و / أو مسح ضوئي
|
||||
home.ocr.desc=يقوم برنامج التنظيف بمسح واكتشاف النص من الصور داخل ملف PDF ويعيد إضافته كنص
|
||||
ocr.tags=recognition,text,image,scan,read,identify,detection,editable
|
||||
|
||||
|
||||
home.extractImages.title=\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631
|
||||
home.extractImages.desc=\u064A\u0633\u062A\u062E\u0631\u062C \u062C\u0645\u064A\u0639 \u0627\u0644\u0635\u0648\u0631 \u0645\u0646 \u0645\u0644\u0641 PDF \u0648\u064A\u062D\u0641\u0638\u0647\u0627 \u0641\u064A \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0628\u0631\u064A\u062F\u064A
|
||||
home.extractImages.title=استخراج الصور
|
||||
home.extractImages.desc=يستخرج جميع الصور من ملف PDF ويحفظها في الرمز البريدي
|
||||
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||
|
||||
home.pdfToPDFA.title=\u062A\u062D\u0648\u064A\u0644 \u0645\u0644\u0641\u0627\u062A PDF \u0625\u0644\u0649 PDF / A
|
||||
home.pdfToPDFA.desc=\u062A\u062D\u0648\u064A\u0644 PDF \u0625\u0644\u0649 PDF / A \u0644\u0644\u062A\u062E\u0632\u064A\u0646 \u0637\u0648\u064A\u0644 \u0627\u0644\u0645\u062F\u0649
|
||||
home.pdfToPDFA.title=تحويل ملفات PDF إلى PDF / A
|
||||
home.pdfToPDFA.desc=تحويل PDF إلى PDF / A للتخزين طويل المدى
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation
|
||||
|
||||
home.PDFToWord.title=تحويل PDF إلى Word
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=المستند 1
|
||||
compare.document.2=المستند 2
|
||||
compare.submit=يقارن
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=تسجيل الدخول
|
||||
@@ -658,38 +693,38 @@ ScannerImageSplit.selectText.10=يضبط حجم الحدود المضافة وا
|
||||
|
||||
|
||||
#OCR
|
||||
ocr.title=\u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 / \u062A\u0646\u0638\u064A\u0641 \u0627\u0644\u0645\u0633\u062D \u0627\u0644\u0636\u0648\u0626\u064A
|
||||
ocr.header=\u0645\u0633\u062D \u0627\u0644\u0645\u0633\u062D \u0627\u0644\u0636\u0648\u0626\u064A / \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 (\u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641)
|
||||
ocr.selectText.1=\u062D\u062F\u062F \u0627\u0644\u0644\u063A\u0627\u062A \u0627\u0644\u062A\u064A \u0633\u064A\u062A\u0645 \u0627\u0643\u062A\u0634\u0627\u0641\u0647\u0627 \u062F\u0627\u062E\u0644 \u0645\u0644\u0641 PDF (\u0627\u0644\u0644\u063A\u0627\u062A \u0627\u0644\u0645\u062F\u0631\u062C\u0629 \u0647\u064A \u062A\u0644\u0643 \u0627\u0644\u062A\u064A \u062A\u0645 \u0627\u0643\u062A\u0634\u0627\u0641\u0647\u0627 \u062D\u0627\u0644\u064A\u064B\u0627):
|
||||
ocr.selectText.2=\u0625\u0646\u062A\u0627\u062C \u0645\u0644\u0641 \u0646\u0635\u064A \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635 OCR \u0628\u062C\u0627\u0646\u0628 \u0645\u0644\u0641 PDF \u0627\u0644\u0630\u064A \u062A\u0645 \u0625\u0639\u062F\u0627\u062F\u0647 \u0628\u0648\u0627\u0633\u0637\u0629 OCR
|
||||
ocr.selectText.3=\u062A\u0645 \u0645\u0633\u062D \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u0635\u062D\u064A\u062D\u0629 \u0636\u0648\u0626\u064A\u064B\u0627 \u0628\u0632\u0627\u0648\u064A\u0629 \u0645\u0646\u062D\u0631\u0641\u0629 \u0639\u0646 \u0637\u0631\u064A\u0642 \u062A\u062F\u0648\u064A\u0631\u0647\u0627 \u0645\u0631\u0629 \u0623\u062E\u0631\u0649 \u0641\u064A \u0645\u0643\u0627\u0646\u0647\u0627
|
||||
ocr.selectText.4=\u0635\u0641\u062D\u0629 \u0646\u0638\u064A\u0641\u0629 \u0644\u0630\u0644\u0643 \u0645\u0646 \u063A\u064A\u0631 \u0627\u0644\u0645\u062D\u062A\u0645\u0644 \u0623\u0646 \u064A\u062C\u062F OCR \u0646\u0635\u064B\u0627 \u0641\u064A \u0636\u0648\u0636\u0627\u0621 \u0627\u0644\u062E\u0644\u0641\u064A\u0629. (\u0644\u0627 \u064A\u0648\u062C\u062F \u062A\u063A\u064A\u064A\u0631 \u0641\u064A \u0627\u0644\u0625\u062E\u0631\u0627\u062C)
|
||||
ocr.selectText.5=\u0635\u0641\u062D\u0629 \u0646\u0638\u064A\u0641\u0629 \u060C \u0644\u0630\u0644\u0643 \u0645\u0646 \u063A\u064A\u0631 \u0627\u0644\u0645\u062D\u062A\u0645\u0644 \u0623\u0646 \u064A\u062C\u062F OCR \u0646\u0635\u064B\u0627 \u0641\u064A \u0636\u0648\u0636\u0627\u0621 \u0627\u0644\u062E\u0644\u0641\u064A\u0629 \u060C \u0648\u064A\u062D\u0627\u0641\u0638 \u0639\u0644\u0649 \u0627\u0644\u062A\u0646\u0638\u064A\u0641 \u0641\u064A \u0627\u0644\u0625\u062E\u0631\u0627\u062C.
|
||||
ocr.selectText.6=\u064A\u062A\u062C\u0627\u0647\u0644 \u0627\u0644\u0635\u0641\u062D\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635 \u062A\u0641\u0627\u0639\u0644\u064A \u060C \u0641\u0642\u0637 \u0635\u0641\u062D\u0627\u062A OCRs \u0627\u0644\u062A\u064A \u0647\u064A \u0635\u0648\u0631
|
||||
ocr.selectText.7=\u0641\u0631\u0636 \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 \u060C \u0633\u064A\u0624\u062F\u064A \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641 \u0639\u0644\u0649 \u0643\u0644 \u0635\u0641\u062D\u0629 \u0625\u0644\u0649 \u0625\u0632\u0627\u0644\u0629 \u062C\u0645\u064A\u0639 \u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0646\u0635 \u0627\u0644\u0623\u0635\u0644\u064A
|
||||
ocr.selectText.8=\u0639\u0627\u062F\u064A (\u062E\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 PDF \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649 \u0646\u0635)
|
||||
ocr.selectText.9=\u0625\u0639\u062F\u0627\u062F\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629
|
||||
ocr.selectText.10=\u0648\u0636\u0639 \u0627\u0644\u062A\u0639\u0631\u0641 \u0627\u0644\u0636\u0648\u0626\u064A \u0639\u0644\u0649 \u0627\u0644\u062D\u0631\u0648\u0641
|
||||
ocr.title=التعرف الضوئي على الحروف / تنظيف المسح الضوئي
|
||||
ocr.header=مسح المسح الضوئي / التعرف الضوئي على الحروف (التعرف الضوئي على الحروف)
|
||||
ocr.selectText.1=حدد اللغات التي سيتم اكتشافها داخل ملف PDF (اللغات المدرجة هي تلك التي تم اكتشافها حاليًا):
|
||||
ocr.selectText.2=إنتاج ملف نصي يحتوي على نص OCR بجانب ملف PDF الذي تم إعداده بواسطة OCR
|
||||
ocr.selectText.3=تم مسح الصفحات الصحيحة ضوئيًا بزاوية منحرفة عن طريق تدويرها مرة أخرى في مكانها
|
||||
ocr.selectText.4=صفحة نظيفة لذلك من غير المحتمل أن يجد OCR نصًا في ضوضاء الخلفية. (لا يوجد تغيير في الإخراج)
|
||||
ocr.selectText.5=صفحة نظيفة ، لذلك من غير المحتمل أن يجد OCR نصًا في ضوضاء الخلفية ، ويحافظ على التنظيف في الإخراج.
|
||||
ocr.selectText.6=يتجاهل الصفحات التي تحتوي على نص تفاعلي ، فقط صفحات OCRs التي هي صور
|
||||
ocr.selectText.7=فرض التعرف الضوئي على الحروف ، سيؤدي التعرف الضوئي على الحروف على كل صفحة إلى إزالة جميع عناصر النص الأصلي
|
||||
ocr.selectText.8=عادي (خطأ إذا كان PDF يحتوي على نص)
|
||||
ocr.selectText.9=إعدادات إضافية
|
||||
ocr.selectText.10=وضع التعرف الضوئي على الحروف
|
||||
ocr.selectText.11=إزالة الصور بعد التعرف الضوئي على الحروف (يزيل كل الصور ، يكون مفيدًا فقط إذا كان جزءًا من خطوة التحويل)
|
||||
ocr.selectText.12=نوع العرض (متقدم)
|
||||
ocr.help=\u064A\u0631\u062C\u0649 \u0642\u0631\u0627\u0621\u0629 \u0647\u0630\u0647 \u0627\u0644\u0648\u062B\u0627\u0626\u0642 \u062D\u0648\u0644 \u0643\u064A\u0641\u064A\u0629 \u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0647\u0630\u0627 \u0644\u0644\u063A\u0627\u062A \u0623\u062E\u0631\u0649 \u0648 / \u0623\u0648 \u0627\u0644\u0627\u0633\u062A\u062E\u062F\u0627\u0645 \u0644\u064A\u0633 \u0641\u064A \u0639\u0627\u0645\u0644 \u0627\u0644\u0625\u0631\u0633\u0627\u0621
|
||||
ocr.credit=\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 OCRmyPDF \u0648 Tesseract \u0644 OCR.
|
||||
ocr.submit=\u0645\u0639\u0627\u0644\u062C\u0629 PDF \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645 OCR
|
||||
ocr.help=يرجى قراءة هذه الوثائق حول كيفية استخدام هذا للغات أخرى و / أو الاستخدام ليس في عامل الإرساء
|
||||
ocr.credit=تستخدم هذه الخدمة OCRmyPDF و Tesseract ل OCR.
|
||||
ocr.submit=معالجة PDF باستخدام OCR
|
||||
|
||||
|
||||
#extractImages
|
||||
extractImages.title=\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631
|
||||
extractImages.header=\u0627\u0633\u062A\u062E\u0631\u0627\u062C \u0627\u0644\u0635\u0648\u0631
|
||||
extractImages.selectText=\u062D\u062F\u062F \u062A\u0646\u0633\u064A\u0642 \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0635\u0648\u0631 \u0627\u0644\u0645\u0633\u062A\u062E\u0631\u062C\u0629 \u0625\u0644\u0649
|
||||
extractImages.submit=\u0627\u0633\u062A\u062E\u0631\u0627\u062C
|
||||
extractImages.title=استخراج الصور
|
||||
extractImages.header=استخراج الصور
|
||||
extractImages.selectText=حدد تنسيق الصورة لتحويل الصور المستخرجة إلى
|
||||
extractImages.submit=استخراج
|
||||
|
||||
|
||||
#File to PDF
|
||||
fileToPDF.title=\u0645\u0644\u0641 \u0625\u0644\u0649 PDF
|
||||
fileToPDF.header=\u062A\u062D\u0648\u064A\u0644 \u0623\u064A \u0645\u0644\u0641 \u0625\u0644\u0649 PDF
|
||||
fileToPDF.credit=\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 \u0644\u064A\u0628\u0631 \u0623\u0648\u0641\u064A\u0633 \u0648\u0623\u0648\u0646\u0648\u0643\u0648\u0646\u0641 \u0644\u062A\u062D\u0648\u064A\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062A.
|
||||
fileToPDF.supportedFileTypes=\u064A\u062C\u0628 \u0623\u0646 \u062A\u062A\u0636\u0645\u0646 \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062A \u0627\u0644\u0645\u062F\u0639\u0648\u0645\u0629 \u0645\u0627 \u064A\u0644\u064A \u0648\u0644\u0643\u0646 \u0644\u0644\u062D\u0635\u0648\u0644 \u0639\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0645\u062D\u062F\u062B\u0629 \u0643\u0627\u0645\u0644\u0629 \u0628\u0627\u0644\u062A\u0646\u0633\u064A\u0642\u0627\u062A \u0627\u0644\u0645\u062F\u0639\u0648\u0645\u0629 \u060C \u064A\u0631\u062C\u0649 \u0627\u0644\u0631\u062C\u0648\u0639 \u0625\u0644\u0649 \u0648\u062B\u0627\u0626\u0642 LibreOffice
|
||||
fileToPDF.submit=\u062A\u062D\u0648\u064A\u0644 \u0625\u0644\u0649 PDF
|
||||
fileToPDF.title=ملف إلى PDF
|
||||
fileToPDF.header=تحويل أي ملف إلى PDF
|
||||
fileToPDF.credit=تستخدم هذه الخدمة ليبر أوفيس وأونوكونف لتحويل الملفات.
|
||||
fileToPDF.supportedFileTypes=يجب أن تتضمن أنواع الملفات المدعومة ما يلي ولكن للحصول على قائمة محدثة كاملة بالتنسيقات المدعومة ، يرجى الرجوع إلى وثائق LibreOffice
|
||||
fileToPDF.submit=تحويل إلى PDF
|
||||
|
||||
|
||||
#compress
|
||||
@@ -724,11 +759,23 @@ merge.submit=دمج
|
||||
pdfOrganiser.title=منظم الصفحة
|
||||
pdfOrganiser.header=منظم صفحات PDF
|
||||
pdfOrganiser.submit=إعادة ترتيب الصفحات
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=أداة متعددة PDF
|
||||
multiTool.header=أداة متعددة PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=مزيل الصفحة
|
||||
pageRemover.header=مزيل صفحة PDF
|
||||
pageRemover.pagesToDelete=الصفحات المراد حذفها (أدخل قائمة بأرقام الصفحات مفصولة بفواصل):
|
||||
pageRemover.submit=حذف الصفحات
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -771,23 +819,23 @@ imageToPDF.selectLabel=Image Fit Options
|
||||
imageToPDF.fillPage=Fill Page
|
||||
imageToPDF.fitDocumentToImage=Fit Page to Image
|
||||
imageToPDF.maintainAspectRatio=Maintain Aspect Ratios
|
||||
imageToPDF.selectText.2=\u062F\u0648\u0631\u0627\u0646 PDF \u062A\u0644\u0642\u0627\u0626\u064A\u064B\u0627
|
||||
imageToPDF.selectText.3=\u0627\u0644\u0645\u0646\u0637\u0642 \u0627\u0644\u0645\u062A\u0639\u062F\u062F \u0644\u0644\u0645\u0644\u0641\u0627\u062A (\u0645\u0641\u0639\u0651\u0644 \u0641\u0642\u0637 \u0625\u0630\u0627 \u0643\u0646\u062A \u062A\u0639\u0645\u0644 \u0645\u0639 \u0635\u0648\u0631 \u0645\u062A\u0639\u062F\u062F\u0629)
|
||||
imageToPDF.selectText.4=\u062F\u0645\u062C \u0641\u064A \u0645\u0644\u0641 PDF \u0648\u0627\u062D\u062F
|
||||
imageToPDF.selectText.5=\u062A\u062D\u0648\u064A\u0644 \u0625\u0644\u0649 \u0645\u0644\u0641\u0627\u062A PDF \u0645\u0646\u0641\u0635\u0644\u0629
|
||||
imageToPDF.selectText.2=دوران PDF تلقائيًا
|
||||
imageToPDF.selectText.3=المنطق المتعدد للملفات (مفعّل فقط إذا كنت تعمل مع صور متعددة)
|
||||
imageToPDF.selectText.4=دمج في ملف PDF واحد
|
||||
imageToPDF.selectText.5=تحويل إلى ملفات PDF منفصلة
|
||||
|
||||
|
||||
#pdfToImage
|
||||
pdfToImage.title=تحويل PDF إلى صورة
|
||||
pdfToImage.header=تحويل PDF إلى صورة
|
||||
pdfToImage.selectText=تنسيق الصورة
|
||||
pdfToImage.singleOrMultiple=\u0646\u0648\u0639 \u0646\u062A\u064A\u062C\u0629 \u0627\u0644\u0635\u0648\u0631\u0629
|
||||
pdfToImage.single=\u0635\u0648\u0631\u0629 \u0648\u0627\u062D\u062F\u0629 \u0643\u0628\u064A\u0631\u0629
|
||||
pdfToImage.multi=\u0635\u0648\u0631 \u0645\u062A\u0639\u062F\u062F\u0629
|
||||
pdfToImage.colorType=\u0646\u0648\u0639 \u0627\u0644\u0644\u0648\u0646
|
||||
pdfToImage.color=\u0627\u0644\u0644\u0648\u0646
|
||||
pdfToImage.grey=\u062A\u062F\u0631\u062C \u0627\u0644\u0631\u0645\u0627\u062F\u064A
|
||||
pdfToImage.blackwhite=\u0623\u0628\u064A\u0636 \u0648\u0623\u0633\u0648\u062F (\u0642\u062F \u064A\u0641\u0642\u062F \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A!)
|
||||
pdfToImage.singleOrMultiple=نوع نتيجة الصورة
|
||||
pdfToImage.single=صورة واحدة كبيرة
|
||||
pdfToImage.multi=صور متعددة
|
||||
pdfToImage.colorType=نوع اللون
|
||||
pdfToImage.color=اللون
|
||||
pdfToImage.grey=تدرج الرمادي
|
||||
pdfToImage.blackwhite=أبيض وأسود (قد يفقد البيانات!)
|
||||
pdfToImage.submit=تحول
|
||||
|
||||
|
||||
@@ -822,10 +870,12 @@ watermark.selectText.3=حجم الخط:
|
||||
watermark.selectText.4=دوران (0-360):
|
||||
watermark.selectText.5=widthSpacer (مسافة بين كل علامة مائية أفقيًا):
|
||||
watermark.selectText.6=heightSpacer (مسافة بين كل علامة مائية عموديًا):
|
||||
watermark.selectText.7=\u0627\u0644\u062A\u0639\u062A\u064A\u0645 (0\u066A - 100\u066A):
|
||||
watermark.selectText.7=التعتيم (0٪ - 100٪):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=إضافة علامة مائية
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -854,30 +904,30 @@ removePassword.submit=إزالة
|
||||
|
||||
|
||||
#changeMetadata
|
||||
changeMetadata.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646:
|
||||
changeMetadata.header=\u062A\u063A\u064A\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0648\u0635\u0641\u064A\u0629
|
||||
changeMetadata.selectText.1=\u064A\u0631\u062C\u0649 \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u062A\u063A\u064A\u0631\u0627\u062A \u0627\u0644\u062A\u064A \u062A\u0631\u063A\u0628 \u0641\u064A \u062A\u063A\u064A\u064A\u0631\u0647\u0627
|
||||
changeMetadata.selectText.2=\u062D\u0630\u0641 \u0643\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0623\u0648\u0644\u064A\u0629
|
||||
changeMetadata.selectText.3=\u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0627\u0644\u0623\u0648\u0644\u064A\u0629 \u0627\u0644\u0645\u062E\u0635\u0635\u0629:
|
||||
changeMetadata.author=\u0627\u0644\u0645\u0624\u0644\u0641:
|
||||
changeMetadata.creationDate=\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u0625\u0646\u0634\u0627\u0621 (yyyy / MM / dd HH: mm: ss):
|
||||
changeMetadata.creator=\u0627\u0644\u0645\u0646\u0634\u0626:
|
||||
changeMetadata.keywords=\u0627\u0644\u0643\u0644\u0645\u0627\u062A \u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629:
|
||||
changeMetadata.modDate=\u062A\u0627\u0631\u064A\u062E \u0627\u0644\u062A\u0639\u062F\u064A\u0644 (yyyy / MM / dd HH: mm: ss):
|
||||
changeMetadata.producer=\u0627\u0644\u0645\u0646\u062A\u062C:
|
||||
changeMetadata.subject=\u0627\u0644\u0645\u0648\u0636\u0648\u0639:
|
||||
changeMetadata.title=\u0627\u0644\u0639\u0646\u0648\u0627\u0646:
|
||||
changeMetadata.trapped=\u0645\u062D\u0627\u0635\u0631:
|
||||
changeMetadata.selectText.4=\u0628\u064A\u0627\u0646\u0627\u062A \u0648\u0635\u0641\u064A\u0629 \u0623\u062E\u0631\u0649:
|
||||
changeMetadata.selectText.5=\u0625\u0636\u0627\u0641\u0629 \u0625\u062F\u062E\u0627\u0644 \u0628\u064A\u0627\u0646\u0627\u062A \u0623\u0648\u0644\u064A\u0629 \u0645\u062E\u0635\u0635
|
||||
changeMetadata.submit=\u062A\u063A\u064A\u064A\u0631
|
||||
changeMetadata.title=العنوان:
|
||||
changeMetadata.header=تغيير البيانات الوصفية
|
||||
changeMetadata.selectText.1=يرجى تعديل المتغيرات التي ترغب في تغييرها
|
||||
changeMetadata.selectText.2=حذف كل البيانات الأولية
|
||||
changeMetadata.selectText.3=إظهار البيانات الأولية المخصصة:
|
||||
changeMetadata.author=المؤلف:
|
||||
changeMetadata.creationDate=تاريخ الإنشاء (yyyy / MM / dd HH: mm: ss):
|
||||
changeMetadata.creator=المنشئ:
|
||||
changeMetadata.keywords=الكلمات الرئيسية:
|
||||
changeMetadata.modDate=تاريخ التعديل (yyyy / MM / dd HH: mm: ss):
|
||||
changeMetadata.producer=المنتج:
|
||||
changeMetadata.subject=الموضوع:
|
||||
changeMetadata.trapped=محاصر:
|
||||
changeMetadata.selectText.4=بيانات وصفية أخرى:
|
||||
changeMetadata.selectText.5=إضافة إدخال بيانات أولية مخصص
|
||||
changeMetadata.submit=تغيير
|
||||
|
||||
|
||||
#pdfToPDFA
|
||||
pdfToPDFA.title=PDF \u0625\u0644\u0649 PDF / A
|
||||
pdfToPDFA.header=PDF \u0625\u0644\u0649 PDF / A
|
||||
pdfToPDFA.credit=\u062A\u0633\u062A\u062E\u062F\u0645 \u0647\u0630\u0647 \u0627\u0644\u062E\u062F\u0645\u0629 OCRmyPDF \u0644\u062A\u062D\u0648\u064A\u0644 PDF / A.
|
||||
pdfToPDFA.submit=\u062A\u062D\u0648\u064A\u0644
|
||||
pdfToPDFA.title=PDF إلى PDF / A
|
||||
pdfToPDFA.header=PDF إلى PDF / A
|
||||
pdfToPDFA.credit=تستخدم هذه الخدمة OCRmyPDF لتحويل PDF / A.
|
||||
pdfToPDFA.submit=تحويل
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=??????
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Изберете изображение(я)
|
||||
genericSubmit=Подайте
|
||||
processTimeWarning=Предупреждение: Този процес може да отнеме до минута в зависимост от размера на файла
|
||||
pageOrderPrompt=Персонализиран ред на страниците (Въведете разделен със запетаи списък с номера на страници или функции като 2n+1):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Давай
|
||||
true=Вярно
|
||||
false=Невярно
|
||||
unknown=Непознат
|
||||
save=Съхранете
|
||||
saveToBrowser=Save to Browser
|
||||
close=Затворете
|
||||
filesSelected=избрани файлове
|
||||
noFavourites=Няма добавени любими
|
||||
downloadComplete=Download Complete
|
||||
bored=Отекчени сте да чакате?
|
||||
alphabet=Азбука
|
||||
downloadPdf=Изтеглете PDF
|
||||
@@ -42,7 +45,7 @@ red=Червено
|
||||
green=Зелено
|
||||
blue=Синьо
|
||||
custom=Персонализиране...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=Потребителят не е автентикира
|
||||
userNotFoundMessage=Потребителят не е намерен
|
||||
incorrectPasswordMessage=Текущата парола е неправилна.
|
||||
usernameExistsMessage=Новият потребител вече съществува.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Настройки на акаунта
|
||||
|
||||
changeCreds.title=Промяна на идентификационните данни
|
||||
changeCreds.header=Актуализирайте данните за акаунта си
|
||||
changeCreds.changeUserAndPassword=Използвате идентификационни данни за вход по подразбиране. Моля, въведете нова парола (и потребителско име, ако искате)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Ново потребителско име
|
||||
changeCreds.oldPassword=Текуща парола
|
||||
changeCreds.newPassword=Нова парола
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Настройки на акаунта
|
||||
account.adminSettings=Настройки на администратора - Преглед и добавяне на потребители
|
||||
account.userControlSettings=Настройки за потребителски контрол
|
||||
account.changeUsername=Промени потребител
|
||||
account.changeUsername=Промени потребител
|
||||
account.newUsername=Ново потребителско име
|
||||
account.password=Парола за потвърждение
|
||||
account.oldPassword=Стара парола
|
||||
account.newPassword=Нова парола
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Настройки за администраторск
|
||||
adminUserSettings.admin=Администратор
|
||||
adminUserSettings.user=Потребител
|
||||
adminUserSettings.addUser=Добавяне на нов потребител
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Роли
|
||||
adminUserSettings.role=Роля
|
||||
adminUserSettings.actions=Действия
|
||||
adminUserSettings.apiUser=Ограничен API потребител
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Само за уеб-потребител
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Принудете потребителя да промени потребителското име/парола при влизане
|
||||
adminUserSettings.submit=Съхранете потребителя
|
||||
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=единична страница
|
||||
|
||||
home.showJS.title=Показване на Javascript
|
||||
home.showJS.desc=Търси и показва всеки JS, инжектиран в PDF
|
||||
showJS.tags=Редактиране,Скриване,затъмняване,черен,маркер,скрит
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Автоматично редактиране
|
||||
home.autoRedact.desc=Автоматично редактира (зачернява) текст в PDF въз основа на въведен текст
|
||||
showJS.tags=Редактиране,Скриване,затъмняване,черен,маркер,скрит
|
||||
autoRedact.tags=Редактиране,Скриване,затъмняване,черен,маркер,скрит
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Вход
|
||||
login.header=Вход
|
||||
login.signin=Впишете се
|
||||
login.rememberme=Запомни ме
|
||||
login.invalid=Невалидно потребителско име или парола.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Преобразуване към единична стр
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Дезинфектирай PDF
|
||||
sanitizePDF.header=Дезинфектира PDF файл
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Документ 1
|
||||
compare.document.2=Документ 2
|
||||
compare.submit=Сравнявай
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Подпишете
|
||||
@@ -724,11 +759,23 @@ merge.submit=Обединяване
|
||||
pdfOrganiser.title=Организатор на страници
|
||||
pdfOrganiser.header=Организатор на PDF страници
|
||||
pdfOrganiser.submit=Пренареждане на страниците
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Мулти инструмент
|
||||
multiTool.header=PDF Мулти инструмент
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Премахване на страници
|
||||
pageRemover.header=Премахване на PDF страници
|
||||
pageRemover.pagesToDelete=Страници за изтриване (Въведете списък с номера на страници, разделени със запетая) :
|
||||
pageRemover.submit=Изтриване на страници
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Непрозрачност (0% - 100%):
|
||||
watermark.selectText.8=Тип воден знак:
|
||||
watermark.selectText.9=Изображение за воден знак:
|
||||
watermark.submit=Добавяне на воден знак
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Ключови думи:
|
||||
changeMetadata.modDate=Дата на промяна (гггг/ММ/дд ЧЧ:мм:сс):
|
||||
changeMetadata.producer=Продуцент:
|
||||
changeMetadata.subject=Тема:
|
||||
changeMetadata.title=Заглавие:
|
||||
changeMetadata.trapped=В капан:
|
||||
changeMetadata.selectText.4=Други метаданни:
|
||||
changeMetadata.selectText.5=Добавяне на персонализиране метаданни
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF към PDF/A
|
||||
pdfToPDFA.header=PDF към PDF/A
|
||||
pdfToPDFA.credit=Тази услуга използва OCRmyPDF за PDF/A преобразуване.
|
||||
pdfToPDFA.submit=Преобразуване
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=????????
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Selecciona Imatge(s)
|
||||
genericSubmit=Envia
|
||||
processTimeWarning=Alerta: Aquest procés pot tardar 1 minut depenent de la mida de l'arxiu
|
||||
pageOrderPrompt=Ordre de Pàgines (Llista separada per comes) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Anar
|
||||
true=Verdader
|
||||
false=Fals
|
||||
unknown=Desconegut
|
||||
save=Desa
|
||||
saveToBrowser=Save to Browser
|
||||
close=Tanca
|
||||
filesSelected=fitxers seleccionats
|
||||
noFavourites=No s'ha afegit cap favorit
|
||||
downloadComplete=Download Complete
|
||||
bored=Avorrit esperant?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Descarregueu PDF
|
||||
@@ -42,7 +45,7 @@ red=Vermell
|
||||
green=Verd
|
||||
blue=Blau
|
||||
custom=Personalitzat...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Opcions del compte
|
||||
account.adminSettings=Opcions d'Admin - Veure i afegir usuaris
|
||||
account.userControlSettings=Opcions de Control d'Usuari
|
||||
account.changeUsername=Canvia nom usuari
|
||||
account.changeUsername=Canvia nom usuari
|
||||
account.newUsername=Nom d'usuari nou
|
||||
account.password=Confirma contrasenya
|
||||
account.oldPassword=Password Antic
|
||||
account.newPassword=Password Nou
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Usuari Admin Opcions Control
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=Usuari
|
||||
adminUserSettings.addUser=Afegir Usuari
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Rols
|
||||
adminUserSettings.role=Rol
|
||||
adminUserSettings.actions=Accions
|
||||
adminUserSettings.apiUser=Usuari amb API limitada
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Usuari només WEB
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Desar Usuari
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Accedir
|
||||
login.header=Accedir
|
||||
login.signin=Accedir
|
||||
login.rememberme=Recordar
|
||||
login.invalid=Nom usuari / password no vàlid
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Comparar
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Sign
|
||||
@@ -724,11 +759,23 @@ merge.submit=Fusiona
|
||||
pdfOrganiser.title=Organitzador de pàgines
|
||||
pdfOrganiser.header=Organitzador de pàgines PDF
|
||||
pdfOrganiser.submit=Reorganitza Pàgines
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Multi Tool
|
||||
multiTool.header=PDF Multi Tool
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Eliminació Pàgines
|
||||
pageRemover.header=Eliminació Pàgines PDF
|
||||
pageRemover.pagesToDelete=Pàgines a esborrar (Números de pàgina) :
|
||||
pageRemover.submit=Esborra Pàgines
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacitat (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Afegir Marca d'Aigua
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Keywords:
|
||||
changeMetadata.modDate=Data Modificació (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Productor:
|
||||
changeMetadata.subject=Assumpte:
|
||||
changeMetadata.title=Títol:
|
||||
changeMetadata.trapped=Atrapat:
|
||||
changeMetadata.selectText.4=Altres Metadades:
|
||||
changeMetadata.selectText.5=Afegir entrada personalizada
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF a PDF/A
|
||||
pdfToPDFA.header=PDF a PDF/A
|
||||
pdfToPDFA.credit=Utilitza OCRmyPDF per la conversió a PDF/A
|
||||
pdfToPDFA.submit=Converteix
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Extracte
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -8,17 +8,20 @@ pdfPrompt=PDF auswählen
|
||||
multiPdfPrompt=PDFs auswählen(2+)
|
||||
multiPdfDropPrompt=Wählen Sie alle gewünschten PDFs aus (oder ziehen Sie sie per Drag & Drop hierhin)
|
||||
imgPrompt=Wählen Sie ein Bild
|
||||
genericSubmit=Einreichen
|
||||
genericSubmit=Absenden
|
||||
processTimeWarning=Achtung: Abhängig von der Dateigröße kann dieser Prozess bis zu einer Minute dauern
|
||||
pageOrderPrompt=Seitenreihenfolge (Geben Sie eine durch Komma getrennte Liste von Seitenzahlen ein):
|
||||
pageSelectionPrompt=Benutzerdefinierte Seitenauswahl (Geben Sie eine durch Kommas getrennte Liste von Seitenzahlen 1,5,6 oder Funktionen wie 2n+1 ein):
|
||||
goToPage=Los
|
||||
true=Wahr
|
||||
false=Falsch
|
||||
unknown=Unbekannt
|
||||
save=Speichern
|
||||
saveToBrowser=Im Browser speichern
|
||||
close=Schließen
|
||||
filesSelected=Dateien ausgewählt
|
||||
noFavourites=Keine Favoriten hinzugefügt
|
||||
downloadComplete=Download abgeschlossen
|
||||
bored=Langeweile beim Warten?
|
||||
alphabet=Alphabet
|
||||
downloadPdf=PDF herunterladen
|
||||
@@ -42,38 +45,43 @@ red=Rot
|
||||
green=Grün
|
||||
blue=Blau
|
||||
custom=benutzerdefiniert...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=In Arbeit, funktioniert möglicherweise nicht oder ist fehlerhaft. Bitte melden Sie alle Probleme!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
yes=Ja
|
||||
no=Nein
|
||||
changedCredsMessage=Anmeldedaten geändert!
|
||||
notAuthenticatedMessage=Benutzer nicht authentifiziert.
|
||||
userNotFoundMessage=Benutzer nicht gefunden.
|
||||
incorrectPasswordMessage=Das Passwort ist falsch.
|
||||
usernameExistsMessage=Neuer Benutzername existiert bereits.
|
||||
invalidUsernameMessage=Ungültiger Benutzername. Der Benutzername darf nur Buchstaben und Zahlen enthalten.
|
||||
deleteCurrentUserMessage=Der aktuell angemeldete Benutzer kann nicht gelöscht werden.
|
||||
deleteUsernameExistsMessage=Der Benutzername existiert nicht und kann nicht gelöscht werden.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.header=Pipeline-Menü (Beta)
|
||||
pipeline.uploadButton=Benutzerdefinierter Upload
|
||||
pipeline.configureButton=Konfigurieren
|
||||
pipeline.defaultOption=Benutzerdefiniert
|
||||
pipeline.submitButton=Speichern
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Pipeline Configuration
|
||||
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||
pipelineOptions.saveSettings=Save Operation Settings
|
||||
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||
pipelineOptions.selectOperation=Select Operation
|
||||
pipelineOptions.addOperationButton=Add operation
|
||||
pipelineOptions.header=Pipeline-Konfiguration
|
||||
pipelineOptions.pipelineNameLabel=Pipeline-Name
|
||||
pipelineOptions.saveSettings=Operations-Einstellungen speichern
|
||||
pipelineOptions.pipelineNamePrompt=Geben Sie hier den Namen der Pipeline ein
|
||||
pipelineOptions.selectOperation=Vorgang auswählen
|
||||
pipelineOptions.addOperationButton=Vorgang hinzufügen
|
||||
pipelineOptions.pipelineHeader=Pipeline:
|
||||
pipelineOptions.saveButton=Download
|
||||
pipelineOptions.validateButton=Validate
|
||||
pipelineOptions.saveButton=Herunterladen
|
||||
pipelineOptions.validateButton=Validieren
|
||||
|
||||
|
||||
|
||||
@@ -84,7 +92,7 @@ pipelineOptions.validateButton=Validate
|
||||
navbar.convert=Konvertieren
|
||||
navbar.security=Sicherheit
|
||||
navbar.other=Anderes
|
||||
navbar.darkmode=Dark Mode
|
||||
navbar.darkmode=Dunkler Modus
|
||||
navbar.pageOps=Seitenoperationen
|
||||
navbar.settings=Einstellungen
|
||||
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Kontoeinstellungen
|
||||
|
||||
changeCreds.title=Anmeldeinformationen ändern
|
||||
changeCreds.header=Aktualisieren Sie Ihre Kontodaten
|
||||
changeCreds.changeUserAndPassword=Sie verwenden Standard-Anmeldeinformationen. Bitte geben Sie ein neues Passwort (und ggf. einen Benutzernamen) ein.
|
||||
changeCreds.changePassword=Sie verwenden die Standard-Zugangsdaten. Bitte geben Sie ein neues Passwort ein.
|
||||
changeCreds.newUsername=Neuer Benutzername
|
||||
changeCreds.oldPassword=Aktuelles Passwort
|
||||
changeCreds.newPassword=Neues Passwort
|
||||
@@ -120,14 +128,14 @@ account.accountSettings=Kontoeinstellungen
|
||||
account.adminSettings=Admin Einstellungen - Benutzer anzeigen und hinzufügen
|
||||
account.userControlSettings=Benutzerkontrolle
|
||||
account.changeUsername=Benutzername ändern
|
||||
account.changeUsername=Benutzername ändern
|
||||
account.newUsername=Neuer Benutzername
|
||||
account.password=Bestätigungspasswort
|
||||
account.oldPassword=Altes Passwort
|
||||
account.newPassword=Neues Passwort
|
||||
account.changePassword=Password ändern
|
||||
account.changePassword=Passwort ändern
|
||||
account.confirmNewPassword=Neues Passwort bestätigen
|
||||
account.signOut=Abmelden
|
||||
account.yourApiKey=Dein API Schlüssel
|
||||
account.yourApiKey=Dein API-Schlüssel
|
||||
account.syncTitle=Browsereinstellungen mit Konto synchronisieren
|
||||
account.settingsCompare=Einstellungen vergleichen:
|
||||
account.property=Eigenschaft
|
||||
@@ -138,15 +146,18 @@ account.syncToAccount=Synchronisiere Konto <- Browser
|
||||
|
||||
adminUserSettings.title=Benutzerkontrolle
|
||||
adminUserSettings.header=Administrator-Benutzerkontrolle
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.admin=Administrator
|
||||
adminUserSettings.user=Benutzer
|
||||
adminUserSettings.addUser=Neuen Benutzer hinzufügen
|
||||
adminUserSettings.usernameInfo=Der Benutzername darf nur Buchstaben und Zahlen enthalten, keine Leerzeichen oder Sonderzeichen.
|
||||
adminUserSettings.roles=Rollen
|
||||
adminUserSettings.role=Rolle
|
||||
adminUserSettings.actions=Aktion
|
||||
adminUserSettings.apiUser=Eingeschränkter API-Benutzer
|
||||
adminUserSettings.extraApiUser=Zusätzlicher eingeschränkter API-Benutzer
|
||||
adminUserSettings.webOnlyUser=Nur Web-Benutzer
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.demoUser=Demo-Benutzer (Keine benutzerdefinierten Einstellungen)
|
||||
adminUserSettings.internalApiUser=Interner API-Benutzer
|
||||
adminUserSettings.forceChange=Benutzer dazu zwingen, Benutzernamen/Passwort bei der Anmeldung zu ändern
|
||||
adminUserSettings.submit=Benutzer speichern
|
||||
|
||||
@@ -159,7 +170,7 @@ home.searchBar=Suche nach Funktionen...
|
||||
|
||||
home.viewPdf.title=PDF anzeigen
|
||||
home.viewPdf.desc=Anzeigen, Kommentieren, Text oder Bilder hinzufügen
|
||||
viewPdf.tags=view,read,annotate,text,image
|
||||
viewPdf.tags=anzeigen,lesen,kommentieren,text,bild
|
||||
|
||||
home.multiTool.title=PDF-Multitool
|
||||
home.multiTool.desc=Seiten zusammenführen, drehen, neu anordnen und entfernen
|
||||
@@ -167,88 +178,88 @@ multiTool.tags=Multi Tool,Multi operation,UI,click drag,front end,client side
|
||||
|
||||
home.merge.title=Zusammenführen
|
||||
home.merge.desc=Mehrere PDF-Dateien zu einer einzigen zusammenführen.
|
||||
merge.tags=merge,Page operations,Back end,server side
|
||||
merge.tags=zusammenführen,seitenvorgänge,back end,serverseite
|
||||
|
||||
home.split.title=Aufteilen
|
||||
home.split.desc=PDFs in mehrere Dokumente aufteilen.
|
||||
split.tags=Page operations,divide,Multi Page,cut,server side
|
||||
split.tags=seitenoperationen,teilen,mehrseitig,ausschneiden,serverseitig
|
||||
|
||||
home.rotate.title=Drehen
|
||||
home.rotate.desc=Drehen Sie Ihre PDFs ganz einfach.
|
||||
rotate.tags=server side
|
||||
rotate.tags=serverseitig
|
||||
|
||||
|
||||
home.imageToPdf.title=Bild zu PDF
|
||||
home.imageToPdf.desc=Konvertieren Sie ein Bild (PNG, JPEG, GIF) in ein PDF.
|
||||
imageToPdf.tags=conversion,img,jpg,picture,photo
|
||||
imageToPdf.tags=konvertierung,img,jpg,bild,foto
|
||||
|
||||
home.pdfToImage.title=PDF zu Bild
|
||||
home.pdfToImage.desc=Konvertieren Sie ein PDF in ein Bild (PNG, JPEG, GIF).
|
||||
pdfToImage.tags=conversion,img,jpg,picture,photo
|
||||
pdfToImage.tags=konvertierung,img,jpg,bild,foto
|
||||
|
||||
home.pdfOrganiser.title=Organisieren
|
||||
home.pdfOrganiser.desc=Seiten entfernen und Seitenreihenfolge ändern.
|
||||
pdfOrganiser.tags=duplex,even,odd,sort,move
|
||||
pdfOrganiser.tags=duplex,gerade,ungerade,sortieren,verschieben
|
||||
|
||||
|
||||
home.addImage.title=Bild einfügen
|
||||
home.addImage.desc=Fügt ein Bild an eine bestimmte Stelle im PDF ein (in Arbeit).
|
||||
addImage.tags=img,jpg,picture,photo
|
||||
addImage.tags=img,jpg,bild,foto
|
||||
|
||||
home.watermark.title=Wasserzeichen hinzufügen
|
||||
home.watermark.desc=Fügen Sie ein eigenes Wasserzeichen zu Ihrem PDF hinzu.
|
||||
watermark.tags=Text,repeating,label,own,copyright,trademark,img,jpg,picture,photo
|
||||
watermark.tags=text,wiederholend,beschriftung,besitzen,urheberrecht,marke,img,jpg,bild,foto
|
||||
|
||||
home.permissions.title=Berechtigungen ändern
|
||||
home.permissions.desc=Die Berechtigungen für Ihr PDF-Dokument verändern.
|
||||
permissions.tags=read,write,edit,print
|
||||
permissions.tags=lesen,schreiben,bearbeiten,drucken
|
||||
|
||||
|
||||
home.removePages.title=Entfernen
|
||||
home.removePages.desc=Ungewollte Seiten aus dem PDF entfernen.
|
||||
removePages.tags=Remove pages,delete pages
|
||||
removePages.tags=seiten entfernen,seiten löschen
|
||||
|
||||
home.addPassword.title=Passwort hinzufügen
|
||||
home.addPassword.desc=Das PDF mit einem Passwort verschlüsseln.
|
||||
addPassword.tags=secure,security
|
||||
addPassword.tags=sicher,sicherheit
|
||||
|
||||
home.removePassword.title=Passwort entfernen
|
||||
home.removePassword.desc=Den Passwortschutz eines PDFs entfernen.
|
||||
removePassword.tags=secure,Decrypt,security,unpassword,delete password
|
||||
removePassword.tags=sichern,entschlüsseln,sicherheit,passwort aufheben,passwort löschen
|
||||
|
||||
home.compressPdfs.title=Komprimieren
|
||||
home.compressPdfs.desc=PDF komprimieren um die Dateigröße zu reduzieren.
|
||||
compressPdfs.tags=squish,small,tiny
|
||||
compressPdfs.tags=komprimieren,verkleinern,minimieren
|
||||
|
||||
|
||||
home.changeMetadata.title=Metadaten ändern
|
||||
home.changeMetadata.desc=Ändern/Entfernen/Hinzufügen von Metadaten aus einem PDF-Dokument
|
||||
changeMetadata.tags==Title,author,date,creation,time,publisher,producer,stats
|
||||
changeMetadata.tags==titel,autor,datum,erstellung,uhrzeit,herausgeber,produzent,statistiken
|
||||
|
||||
home.fileToPDF.title=Datei in PDF konvertieren
|
||||
home.fileToPDF.desc=Konvertieren Sie nahezu jede Datei in PDF (DOCX, PNG, XLS, PPT, TXT und mehr)
|
||||
fileToPDF.tags=transformation,format,document,picture,slide,text,conversion,office,docs,word,excel,powerpoint
|
||||
fileToPDF.tags=transformation,format,dokument,bild,folie,text,konvertierung,büro,dokumente,word,excel,powerpoint
|
||||
|
||||
home.ocr.title=Führe OCR/Cleanup-Scans aus
|
||||
home.ocr.desc=Cleanup scannt und erkennt Text aus Bildern in einer PDF-Datei und fügt ihn erneut als Text hinzu.
|
||||
ocr.tags=recognition,text,image,scan,read,identify,detection,editable
|
||||
ocr.tags=erkennung,text,bild,scannen,lesen,identifizieren,erkennung,bearbeitbar
|
||||
|
||||
|
||||
home.extractImages.title=Bilder extrahieren
|
||||
home.extractImages.desc=Extrahiert alle Bilder aus einer PDF-Datei und speichert sie als Zip-Archiv
|
||||
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||
extractImages.tags=bild,foto,speichern,archivieren,zippen,erfassen,greifen
|
||||
|
||||
home.pdfToPDFA.title=PDF zu PDF/A konvertieren
|
||||
home.pdfToPDFA.desc=PDF zu PDF/A für Langzeitarchivierung konvertieren
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation
|
||||
pdfToPDFA.tags=archiv,langfristig,standard,konvertierung,speicherung,aufbewahrung
|
||||
|
||||
home.PDFToWord.title=PDF zu Word
|
||||
home.PDFToWord.desc=PDF in Word-Formate konvertieren (DOC, DOCX und ODT)
|
||||
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile
|
||||
PDFToWord.tags=doc,docx,odt,word,transformation,format,konvertierung,office,microsoft,docfile
|
||||
|
||||
home.PDFToPresentation.title=PDF zu Präsentation
|
||||
home.PDFToPresentation.desc=PDF in Präsentationsformate konvertieren (PPT, PPTX und ODP)
|
||||
PDFToPresentation.tags=slides,show,office,microsoft
|
||||
PDFToPresentation.tags=folien,show,büro,microsoft
|
||||
|
||||
home.PDFToText.title=PDF in Text/RTF
|
||||
home.PDFToText.desc=PDF in Text- oder RTF-Format konvertieren
|
||||
@@ -256,88 +267,88 @@ PDFToText.tags=richformat,richtextformat,rich text format
|
||||
|
||||
home.PDFToHTML.title=PDF in HTML
|
||||
home.PDFToHTML.desc=PDF in HTML-Format konvertieren
|
||||
PDFToHTML.tags=web content,browser friendly
|
||||
PDFToHTML.tags=webinhalte,browserfreundlich
|
||||
|
||||
|
||||
home.PDFToXML.title=PDF in XML
|
||||
home.PDFToXML.desc=PDF in XML-Format konvertieren
|
||||
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
|
||||
PDFToXML.tags=datenextraktion,strukturierter inhalt,interop,transformation,konvertierung
|
||||
|
||||
home.ScannerImageSplit.title=Gescannte Fotos erkennen/aufteilen
|
||||
home.ScannerImageSplit.desc=Teilt mehrere Fotos innerhalb eines Fotos/PDF
|
||||
ScannerImageSplit.tags=separate,auto-detect,scans,multi-photo,organize
|
||||
ScannerImageSplit.tags=separat,automatische erkennung,scans,mehrere fotos,organisieren
|
||||
|
||||
home.sign.title=Signieren
|
||||
home.sign.desc=Fügt PDF-Signaturen durch Zeichnung, Text oder Bild hinzu
|
||||
sign.tags=authorize,initials,drawn-signature,text-sign,image-signature
|
||||
sign.tags=autorisieren,initialen,gezeichnete signatur,textzeichen,bildsignatur
|
||||
|
||||
home.flatten.title=Abflachen
|
||||
home.flatten.desc=Alle interaktiven Elemente und Formulare aus einem PDF entfernen
|
||||
flatten.tags=static,deactivate,non-interactive,streamline
|
||||
flatten.tags=statisch,deaktivieren,nicht interaktiv,optimieren
|
||||
|
||||
home.repair.title=Reparatur
|
||||
home.repair.desc=Versucht, ein beschädigtes/kaputtes PDF zu reparieren
|
||||
repair.tags=fix,restore,correction,recover
|
||||
repair.tags=reparieren,wiederherstellen,korrigieren,wiederherstellen
|
||||
|
||||
home.removeBlanks.title=Leere Seiten entfernen
|
||||
home.removeBlanks.desc=Erkennt und entfernt leere Seiten aus einem Dokument
|
||||
removeBlanks.tags=cleanup,streamline,non-content,organize
|
||||
removeBlanks.tags=aufräumen,rationalisieren,nicht inhaltsreich,organisieren
|
||||
|
||||
home.removeAnnotations.title=Remove Annotations
|
||||
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||
home.removeAnnotations.title=Anmerkungen entfernen
|
||||
home.removeAnnotations.desc=Entfernt alle Kommentare/Anmerkungen aus einem PDF
|
||||
removeAnnotations.tags=kommentare,hervorheben,notizen,markieren,entfernen
|
||||
|
||||
home.compare.title=Vergleichen
|
||||
home.compare.desc=Vergleicht und zeigt die Unterschiede zwischen zwei PDF-Dokumenten an
|
||||
compare.tags=differentiate,contrast,changes,analysis
|
||||
compare.tags=differenzieren,kontrastieren,verändern,analysieren
|
||||
|
||||
home.certSign.title=Mit Zertifikat signieren
|
||||
home.certSign.desc=Ein PDF mit einem Zertifikat/Schlüssel (PEM/P12) signieren
|
||||
certSign.tags=authenticate,PEM,P12,official,encrypt
|
||||
certSign.tags=authentifizieren,pem,p12,offiziell,verschlüsseln
|
||||
|
||||
home.pageLayout.title=Mehrseitiges Layout
|
||||
home.pageLayout.desc=Mehrere Seiten eines PDF zu einer Seite zusammenführen
|
||||
pageLayout.tags=merge,composite,single-view,organize
|
||||
pageLayout.tags=zusammenführen,zusammensetzen,einzelansicht,organisieren
|
||||
|
||||
home.scalePages.title=Seitengröße/Skalierung anpassen
|
||||
home.scalePages.desc=Größe/Skalierung der Seite und/oder des Inhalts ändern
|
||||
scalePages.tags=resize,modify,dimension,adapt
|
||||
scalePages.tags=größe ändern,ändern,dimensionieren,anpassen
|
||||
|
||||
home.pipeline.title=Pipeline (Fortgeschritten)
|
||||
home.pipeline.desc=Mehrere Aktionen auf ein PDF anwenden, definiert durch einen Pipeline Skript
|
||||
pipeline.tags=automate,sequence,scripted,batch-process
|
||||
home.pipeline.desc=Mehrere Aktionen auf ein PDF anwenden, definiert durch ein Pipeline Skript
|
||||
pipeline.tags=automatisieren,sequenzieren,skriptgesteuert,batch prozess
|
||||
|
||||
home.add-page-numbers.title=Seitenzahlen hinzufügen
|
||||
home.add-page-numbers.desc=Hinzufügen von Seitenzahlen an einer bestimmten Stelle
|
||||
add-page-numbers.tags=paginate,label,organize,index
|
||||
add-page-numbers.tags=paginieren,beschriften,organisieren,indizieren
|
||||
|
||||
home.auto-rename.title=PDF automatisch umbenennen
|
||||
home.auto-rename.desc=PDF-Datei anhand von erkannten Kopfzeilen umbenennen
|
||||
auto-rename.tags=auto-detect,header-based,organize,relabel
|
||||
auto-rename.tags=automatisch erkennen,header basiert,organisieren,neu kennzeichnen
|
||||
|
||||
home.adjust-contrast.title=Farben/Kontrast anpassen
|
||||
home.adjust-contrast.desc=Kontrast, Sättigung und Helligkeit einer PDF anpassen
|
||||
adjust-contrast.tags=color-correction,tune,modify,enhance
|
||||
adjust-contrast.tags=farbkorrektur,abstimmung,änderung,verbesserung
|
||||
|
||||
home.crop.title=PDF zuschneiden
|
||||
home.crop.desc=PDF zuschneiden um die Größe zu verändern (Text bleibt erhalten!)
|
||||
crop.tags=trim,shrink,edit,shape
|
||||
crop.tags=trimmen,verkleinern,bearbeiten,formen
|
||||
|
||||
home.autoSplitPDF.title=PDF automatisch teilen
|
||||
home.autoSplitPDF.desc=Physisch gescannte PDF anhand von Splitter-Seiten und QR-Codes aufteilen
|
||||
autoSplitPDF.tags=QR-based,separate,scan-segment,organize
|
||||
autoSplitPDF.tags=qr basiert,trennen,segment scannen,organisieren
|
||||
|
||||
home.sanitizePdf.title=PDF Bereinigen
|
||||
home.sanitizePdf.desc=Entfernen von Skripten und anderen Elementen aus PDF-Dateien
|
||||
sanitizePdf.tags=clean,secure,safe,remove-threats
|
||||
sanitizePdf.tags=sauber,sicher,sicher,bedrohungen entfernen
|
||||
|
||||
home.URLToPDF.title=URL/Website zu PDF
|
||||
home.URLToPDF.desc=Konvertiert jede http(s)URL zu PDF
|
||||
URLToPDF.tags=web-capture,save-page,web-to-doc,archive
|
||||
URLToPDF.tags=web capture,seite speichern,web to doc,archiv
|
||||
|
||||
home.HTMLToPDF.title=HTML zu PDF
|
||||
home.HTMLToPDF.desc=Konvertiert jede HTML-Datei oder Zip-Archiv zu PDF
|
||||
HTMLToPDF.tags=markup,web-content,transformation,convert
|
||||
HTMLToPDF.tags=markup,webinhalt,transformation,konvertierung
|
||||
|
||||
|
||||
home.MarkdownToPDF.title=Markdown zu PDF
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=einzelseite
|
||||
|
||||
home.showJS.title=Javascript anzeigen
|
||||
home.showJS.desc=Alle Javascript Funktionen in einer PDF anzeigen
|
||||
showJS.tags=JS
|
||||
showJS.tags=js
|
||||
|
||||
home.autoRedact.title=Automatisch zensieren/schwärzen
|
||||
home.autoRedact.desc=Automatisches Zensieren (Schwärzen) von Text in einer PDF-Datei basierend auf dem eingegebenen Text
|
||||
showJS.tags=zensieren,schwärzen
|
||||
autoRedact.tags=zensieren,schwärzen
|
||||
|
||||
home.tableExtraxt.title=Tabelle extrahieren
|
||||
home.tableExtraxt.desc=Tabelle aus PDF in CSV extrahieren
|
||||
@@ -386,9 +397,18 @@ home.split-by-sections.title=PDF in Abschnitte teilen
|
||||
home.split-by-sections.desc=Teilen Sie jede Seite einer PDF-Datei in kleinere horizontale und vertikale Abschnitte auf
|
||||
split-by-sections.tags=abschnitte,teilen,bearbeiten
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
home.AddStampRequest.title=Stempel zu PDF hinzufügen
|
||||
home.AddStampRequest.desc=Fügen Sie an festgelegten Stellen Text oder Bildstempel hinzu
|
||||
AddStampRequest.tags=stempeln,bild hinzufügen,bild zentrieren,wasserzeichen,pdf,einbetten,anpassen
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF zum Buch
|
||||
home.PDFToBook.desc=Konvertiert PDF mit Calibre in Buch-/Comic-Formate
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Buch als PDF
|
||||
home.BookToPDF.desc=Konvertiert Buch-/Comic-Formate mithilfe von Calibre in PDF
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
@@ -398,11 +418,12 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Anmelden
|
||||
login.header=Anmelden
|
||||
login.signin=Anmelden
|
||||
login.rememberme=Angemeldet bleiben
|
||||
login.invalid=Ungültiger Benutzername oder Passwort.
|
||||
login.invalid=Benutzername oder Passwort ungültig.
|
||||
login.locked=Ihr Konto wurde gesperrt.
|
||||
login.signinTitle=Bitte melden Sie sich an
|
||||
login.signinTitle=Bitte melden Sie sich an.
|
||||
|
||||
|
||||
#auto-redact
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Zusammenfassen
|
||||
pageExtracter.title=Seiten extrahieren
|
||||
pageExtracter.header=Seiten extrahieren
|
||||
pageExtracter.submit=Extrahieren
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -466,37 +488,38 @@ HTMLToPDF.header=HTML zu PDF
|
||||
HTMLToPDF.help=Akzeptiert HTML-Dateien und ZIPs mit html/css/images etc.
|
||||
HTMLToPDF.submit=Konvertieren
|
||||
HTMLToPDF.credit=Verwendet WeasyPrint
|
||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.printBackground=Render the background of websites.
|
||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||
HTMLToPDF.none=None
|
||||
HTMLToPDF.print=Print
|
||||
HTMLToPDF.screen=Screen
|
||||
HTMLToPDF.zoom=Zoomstufe zur Darstellung der Website.
|
||||
HTMLToPDF.pageWidth=Breite der Seite in Zentimetern. (Leer auf Standard)
|
||||
HTMLToPDF.pageHeight=Höhe der Seite in Zentimetern. (Leer auf Standard)
|
||||
HTMLToPDF.marginTop=Oberer Rand der Seite in Millimetern. (Leer auf Standard)
|
||||
HTMLToPDF.marginBottom=Unterer Rand der Seite in Millimetern. (Leer auf Standard)
|
||||
HTMLToPDF.marginLeft=Linker Rand der Seite in Millimetern. (Leer auf Standard)
|
||||
HTMLToPDF.marginRight=Linker Rand der Seite in Millimetern. (Leer auf Standard)
|
||||
HTMLToPDF.printBackground=Den Hintergrund der Website rendern.
|
||||
HTMLToPDF.defaultHeader=Standardkopfzeile aktivieren (Name und Seitenzahl)
|
||||
HTMLToPDF.cssMediaType=CSS-Medientyp der Seite ändern.
|
||||
HTMLToPDF.none=Keine
|
||||
HTMLToPDF.print=Drucken
|
||||
HTMLToPDF.screen=Bildschirm
|
||||
|
||||
|
||||
#AddStampRequest
|
||||
AddStampRequest.header=Stamp PDF
|
||||
AddStampRequest.title=Stamp PDF
|
||||
AddStampRequest.stampType=Stamp Type
|
||||
AddStampRequest.stampText=Stamp Text
|
||||
AddStampRequest.stampImage=Stamp Image
|
||||
AddStampRequest.header=PDF Stempel
|
||||
AddStampRequest.title=PDF Stempel
|
||||
AddStampRequest.stampType=Stempeltyp
|
||||
AddStampRequest.stampText=Stempeltext
|
||||
AddStampRequest.stampImage=Stampelbild
|
||||
AddStampRequest.alphabet=Alphabet
|
||||
AddStampRequest.fontSize=Font/Image Size
|
||||
AddStampRequest.rotation=Rotation
|
||||
AddStampRequest.opacity=Opacity
|
||||
AddStampRequest.fontSize=Schriftart/Bildgröße
|
||||
AddStampRequest.rotation=Drehung
|
||||
AddStampRequest.opacity=Deckkraft
|
||||
AddStampRequest.position=Position
|
||||
AddStampRequest.overrideX=Override X Coordinate
|
||||
AddStampRequest.overrideY=Override Y Coordinate
|
||||
AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
AddStampRequest.overrideX=X-Koordinate überschreiben
|
||||
AddStampRequest.overrideY=Y-Koordinate überschreiben
|
||||
AddStampRequest.customMargin=Benutzerdefinierter Rand
|
||||
AddStampRequest.customColor=Benutzerdefinierte Textfarbe
|
||||
AddStampRequest.submit=Abschicken
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDF Bereinigen
|
||||
@@ -548,7 +571,7 @@ crop.submit=Abschicken
|
||||
#autoSplitPDF
|
||||
autoSplitPDF.title=PDF automatisch teilen
|
||||
autoSplitPDF.header=PDF automatisch teilen
|
||||
autoSplitPDF.description=Drucken Sie, fügen Sie ein, scannen Sie, laden Sie hoch, und lassen Sie uns Ihre Dokumente automatisch trennen. Kein manuelles Sortieren erforderlich.
|
||||
autoSplitPDF.description=Drucken Sie, fügen Sie ein, scannen Sie, laden Sie hoch und lassen Sie uns Ihre Dokumente automatisch trennen. Kein manuelles Sortieren erforderlich.
|
||||
autoSplitPDF.selectText.1=Drucken Sie einige Trennblätter aus (schwarz/weiß ist ausreichend).
|
||||
autoSplitPDF.selectText.2=Scannen Sie alle Dokumente auf einmal, indem Sie das Trennblatt zwischen die Dokumente einlegen.
|
||||
autoSplitPDF.selectText.3=Laden Sie die einzelne große gescannte PDF-Datei hoch und überlassen Sie Stirling PDF den Rest.
|
||||
@@ -568,7 +591,7 @@ pipeline.title=Pipeline
|
||||
pageLayout.title=Mehrseitiges Layout
|
||||
pageLayout.header=Mehrseitiges Layout
|
||||
pageLayout.pagesPerSheet=Seiten pro Blatt:
|
||||
pageLayout.addBorder=Add Borders
|
||||
pageLayout.addBorder=Ränder hinzufügen
|
||||
pageLayout.submit=Abschicken
|
||||
|
||||
|
||||
@@ -584,11 +607,11 @@ scalePages.submit=Abschicken
|
||||
certSign.title=Zertifikatsignierung
|
||||
certSign.header=Signieren Sie ein PDF mit Ihrem Zertifikat (in Arbeit)
|
||||
certSign.selectPDF=Wählen Sie eine PDF-Datei zum Signieren aus:
|
||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
||||
certSign.jksNote=Hinweis: Wenn Ihr Zertifikatstyp unten nicht aufgeführt ist, konvertieren Sie ihn bitte mit dem Befehlszeilentool keytool in eine Java Keystore-Datei (.jks). Wählen Sie dann unten die Option „.jks-Datei“ aus.
|
||||
certSign.selectKey=Wählen Sie Ihre private Schlüsseldatei aus (PKCS#8-Format, könnte .pem oder .der sein):
|
||||
certSign.selectCert=Wählen Sie Ihre Zertifikatsdatei aus (X.509-Format, könnte .pem oder .der sein):
|
||||
certSign.selectP12=Wählen Sie Ihre PKCS#12-Keystore-Datei (.p12 oder .pfx) aus (optional, falls angegeben, sollte sie Ihren privaten Schlüssel und Ihr Zertifikat enthalten):
|
||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||
certSign.selectJKS=Wählen Sie Ihre Java Keystore-Datei (.jks oder .keystore):
|
||||
certSign.certType=Zertifikattyp
|
||||
certSign.password=Geben Sie Ihr Keystore- oder Private-Key-Passwort ein (falls vorhanden):
|
||||
certSign.showSig=Signatur anzeigen
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokument 1
|
||||
compare.document.2=Dokument 2
|
||||
compare.submit=Vergleichen
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Bücher und Comics zu PDF
|
||||
BookToPDF.header=Buch zu PDF
|
||||
BookToPDF.credit=Verwendet Calibre
|
||||
BookToPDF.submit=Konvertieren
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF zu Buch
|
||||
PDFToBook.header=PDF zu Buch
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Verwendet Calibre
|
||||
PDFToBook.submit=Konvertieren
|
||||
|
||||
#sign
|
||||
sign.title=Signieren
|
||||
@@ -724,28 +759,41 @@ merge.submit=Zusammenführen
|
||||
pdfOrganiser.title=Seiten anordnen
|
||||
pdfOrganiser.header=PDF Seitenorganisation
|
||||
pdfOrganiser.submit=Seiten anordnen
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF-Multitool
|
||||
multiTool.header=PDF-Multitool
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
viewPdf.header=View PDF
|
||||
viewPdf.title=PDF anzeigen
|
||||
viewPdf.header=PDF anzeigen
|
||||
|
||||
#pageRemover
|
||||
pageRemover.title=Seiten entfernen
|
||||
pageRemover.header=PDF Seiten entfernen
|
||||
pageRemover.pagesToDelete=Seiten zu entfernen (geben Sie eine Kommagetrennte Liste der Seitenzahlen an):
|
||||
pageRemover.submit=Seiten löschen
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
rotate.title=PDF drehen
|
||||
rotate.header=PDF drehen
|
||||
rotate.selectAngle=Wählen Sie den Winkel (in Vielfachen von 90 Grad):
|
||||
rotate.submit=Drehen
|
||||
rotate.submit=Herunterladen
|
||||
|
||||
|
||||
#merge
|
||||
@@ -767,10 +815,10 @@ split.submit=Aufteilen
|
||||
imageToPDF.title=Bild zu PDF
|
||||
imageToPDF.header=Bild zu PDF
|
||||
imageToPDF.submit=Umwandeln
|
||||
imageToPDF.selectLabel=Image Fit Options
|
||||
imageToPDF.fillPage=Fill Page
|
||||
imageToPDF.fitDocumentToImage=Fit Page to Image
|
||||
imageToPDF.maintainAspectRatio=Maintain Aspect Ratios
|
||||
imageToPDF.selectLabel=Bild anpassen
|
||||
imageToPDF.fillPage=Seite füllen
|
||||
imageToPDF.fitDocumentToImage=Seite an Bild anpassen
|
||||
imageToPDF.maintainAspectRatio=Seitenverhältnisse beibehalten
|
||||
imageToPDF.selectText.2=PDF automatisch drehen
|
||||
imageToPDF.selectText.3=Mehrere Dateien verarbeiten (nur aktiv, wenn Sie mit mehreren Bildern arbeiten)
|
||||
imageToPDF.selectText.4=In ein einziges PDF zusammenführen
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Deckkraft (0% - 100 %):
|
||||
watermark.selectText.8=Wasserzeichen Typ:
|
||||
watermark.selectText.9=Wasserzeichen-Bild:
|
||||
watermark.submit=Wasserzeichen hinzufügen
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -860,13 +910,12 @@ changeMetadata.selectText.1=Bitte bearbeiten Sie die Variablen, die Sie ändern
|
||||
changeMetadata.selectText.2=Alle Metadaten löschen
|
||||
changeMetadata.selectText.3=Benutzerdefinierte Metadaten anzeigen:
|
||||
changeMetadata.author=Autor:
|
||||
changeMetadata.creationDate=Erstellungsdatum (jjjj/MM/tt HH:mm:ss):
|
||||
changeMetadata.creationDate=Erstellungsdatum (JJJJ/MM/TT HH:mm:ss):
|
||||
changeMetadata.creator=Ersteller:
|
||||
changeMetadata.keywords=Schlüsselwörter:
|
||||
changeMetadata.modDate=Änderungsdatum (JJJJ/MM/TT HH:mm:ss):
|
||||
changeMetadata.producer=Produzent:
|
||||
changeMetadata.subject=Betreff:
|
||||
changeMetadata.title=Titel:
|
||||
changeMetadata.trapped=Gefangen:
|
||||
changeMetadata.selectText.4=Andere Metadaten:
|
||||
changeMetadata.selectText.5=Benutzerdefinierten Metadateneintrag hinzufügen
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF zu PDF/A
|
||||
pdfToPDFA.header=PDF zu PDF/A
|
||||
pdfToPDFA.credit=Dieser Dienst verwendet OCRmyPDF für die PDF/A-Konvertierung
|
||||
pdfToPDFA.submit=Konvertieren
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -905,15 +955,15 @@ PDFToText.submit=Konvertieren
|
||||
|
||||
|
||||
#PDFToHTML
|
||||
PDFToHTML.title=PDF in HTML
|
||||
PDFToHTML.header=PDF in HTML
|
||||
PDFToHTML.title=PDF zu HTML
|
||||
PDFToHTML.header=PDF zu HTML
|
||||
PDFToHTML.credit=Dieser Dienst verwendet LibreOffice für die Dateikonvertierung.
|
||||
PDFToHTML.submit=Konvertieren
|
||||
|
||||
|
||||
#PDFToXML
|
||||
PDFToXML.title=PDF in XML
|
||||
PDFToXML.header=PDF in XML
|
||||
PDFToXML.title=PDF zu XML
|
||||
PDFToXML.header=PDF zu XML
|
||||
PDFToXML.credit=Dieser Dienst verwendet LibreOffice für die Dateikonvertierung.
|
||||
PDFToXML.submit=Konvertieren
|
||||
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Seite mit der zu extrahierenden Tabelle wählen
|
||||
PDFToCSV.submit=Extrahieren
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=PDF nach Größe oder Anzahl teilen
|
||||
split-by-size-or-count.header=PDF nach Größe oder Anzahl teilen
|
||||
split-by-size-or-count.type.label=Teil-Modus wählen
|
||||
split-by-size-or-count.type.size=Nach Größe
|
||||
@@ -958,13 +1009,14 @@ split-by-sections.vertical.label=Vertikale Teiler
|
||||
split-by-sections.horizontal.placeholder=Anzahl horizontaler Teiler eingeben
|
||||
split-by-sections.vertical.placeholder=Anzahl vertikaler Teiler eingeben
|
||||
split-by-sections.submit=PDF teilen
|
||||
|
||||
split-by-sections.merge=In eine PDF zusammenfügen
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
licenses.title=3rd Party Licenses
|
||||
licenses.header=3rd Party Licenses
|
||||
licenses.module=Module
|
||||
licenses.nav=Lizenzen
|
||||
licenses.title=Lizenzen von Drittanbietern
|
||||
licenses.header=Lizenzen von Drittanbietern
|
||||
licenses.module=Modul
|
||||
licenses.version=Version
|
||||
licenses.license=License
|
||||
licenses.license=Lizenz
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr = left to right, rtl = right to left)
|
||||
@@ -17,9 +17,11 @@ true=True
|
||||
false=False
|
||||
unknown=Unknown
|
||||
save=Save
|
||||
saveToBrowser=Save to Browser
|
||||
close=Close
|
||||
filesSelected=files selected
|
||||
noFavourites=No favourites added
|
||||
downloadComplete=Download Complete
|
||||
bored=Bored Waiting?
|
||||
alphabet=Alphabet
|
||||
downloadPdf=Download PDF
|
||||
@@ -43,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -52,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -107,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,8 +127,8 @@ account.title=Account Settings
|
||||
account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=New Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -142,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange = Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -367,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=Redact,Hide,black out,black,marker,hidden
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -392,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle,epub,mobi,azw3,docx,rtf,txt,html,lit,fb2,pdb,lrf
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -399,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -436,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -499,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -622,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Compare
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Sign
|
||||
@@ -725,11 +759,23 @@ merge.submit=Merge
|
||||
pdfOrganiser.title=Page Organiser
|
||||
pdfOrganiser.header=PDF Page Organiser
|
||||
pdfOrganiser.submit=Rearrange Pages
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Multi Tool
|
||||
multiTool.header=PDF Multi Tool
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -740,6 +786,7 @@ pageRemover.title=Page Remover
|
||||
pageRemover.header=PDF Page remover
|
||||
pageRemover.pagesToDelete=Pages to delete (Enter a comma-separated list of page numbers) :
|
||||
pageRemover.submit=Delete Pages
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -827,6 +874,8 @@ watermark.selectText.7=Opacity (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Add Watermark
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -867,7 +916,6 @@ changeMetadata.keywords=Keywords:
|
||||
changeMetadata.modDate=Modification Date (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producer:
|
||||
changeMetadata.subject=Subject:
|
||||
changeMetadata.title=Title:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Other Metadata:
|
||||
changeMetadata.selectText.5=Add Custom Metadata Entry
|
||||
@@ -879,6 +927,7 @@ pdfToPDFA.title=PDF To PDF/A
|
||||
pdfToPDFA.header=PDF To PDF/A
|
||||
pdfToPDFA.credit=This service uses OCRmyPDF for PDF/A conversion
|
||||
pdfToPDFA.submit=Convert
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -925,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Extract
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -959,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Select Image(s)
|
||||
genericSubmit=Submit
|
||||
processTimeWarning=Warning: This process can take up to a minute depending on file-size
|
||||
pageOrderPrompt=Custom Page Order (Enter a comma-separated list of page numbers or Functions like 2n+1) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Go
|
||||
true=True
|
||||
false=False
|
||||
unknown=Unknown
|
||||
save=Save
|
||||
saveToBrowser=Save to Browser
|
||||
close=Close
|
||||
filesSelected=files selected
|
||||
noFavourites=No favorites added
|
||||
downloadComplete=Download Complete
|
||||
bored=Bored Waiting?
|
||||
alphabet=Alphabet
|
||||
downloadPdf=Download PDF
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Compare
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Sign
|
||||
@@ -724,11 +759,23 @@ merge.submit=Merge
|
||||
pdfOrganiser.title=Page Organizer
|
||||
pdfOrganiser.header=PDF Page Organizer
|
||||
pdfOrganiser.submit=Rearrange Pages
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Multi Tool
|
||||
multiTool.header=PDF Multi Tool
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Page Remover
|
||||
pageRemover.header=PDF Page remover
|
||||
pageRemover.pagesToDelete=Pages to delete (Enter a comma-separated list of page numbers) :
|
||||
pageRemover.submit=Delete Pages
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacity (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Add Watermark
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Keywords:
|
||||
changeMetadata.modDate=Modification Date (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producer:
|
||||
changeMetadata.subject=Subject:
|
||||
changeMetadata.title=Title:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Other Metadata:
|
||||
changeMetadata.selectText.5=Add Custom Metadata Entry
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF To PDF/A
|
||||
pdfToPDFA.header=PDF To PDF/A
|
||||
pdfToPDFA.credit=This service uses OCRmyPDF for PDF/A conversion
|
||||
pdfToPDFA.submit=Convert
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Extract
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Seleccionar Imagen(es)
|
||||
genericSubmit=Enviar
|
||||
processTimeWarning=Advertencia: este proceso puede tardar hasta un minuto dependiendo del tamaño del archivo
|
||||
pageOrderPrompt=Orden de páginas (Introduzca una lista de números de página separados por coma):
|
||||
pageSelectionPrompt=Selección de página personalizada (Intruduzca una lista de números de página separados por comas 1,5,6 o funciones como 2n+1) :
|
||||
goToPage=Ir a
|
||||
true=Verdadero
|
||||
false=Falso
|
||||
unknown=Desconocido
|
||||
save=Guardar
|
||||
saveToBrowser=Guardar en el Navegador
|
||||
close=Cerrar
|
||||
filesSelected=archivos seleccionados
|
||||
noFavourites=No se agregaron favoritos
|
||||
downloadComplete=Descarga finalizada
|
||||
bored=¿Cansado de esperar?
|
||||
alphabet=Alfabeto
|
||||
downloadPdf=Descargar PDF
|
||||
@@ -51,27 +54,32 @@ notAuthenticatedMessage=Usuario no autentificado.
|
||||
userNotFoundMessage=Usuario no encontrado.
|
||||
incorrectPasswordMessage=La contraseña actual no es correcta.
|
||||
usernameExistsMessage=El nuevo nombre de usuario está en uso.
|
||||
invalidUsernameMessage=Nombre de usuario no válido, El nombre de ususario debe contener únicamente números y caracteres alfabéticos.
|
||||
deleteCurrentUserMessage=No puede eliminar el usuario que tiene la sesión actualmente en uso.
|
||||
deleteUsernameExistsMessage=El usuario no existe y no puede eliminarse.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Menu Pipeline (Alfa)
|
||||
pipeline.header=Menú de canalización (Alfa)
|
||||
pipeline.uploadButton=Cargar personalización
|
||||
pipeline.configureButton=Configurar
|
||||
pipeline.defaultOption=Personalizar
|
||||
pipeline.submitButton=Enviar
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Configuración Pipeline
|
||||
pipelineOptions.pipelineNameLabel=Nombre del Pipeline
|
||||
pipelineOptions.saveSettings=Guardar configuración de la oiperación
|
||||
pipelineOptions.pipelineNamePrompt=Introduzca aquí el nombre del pipeline
|
||||
pipelineOptions.header=Configuración de la canalización
|
||||
pipelineOptions.pipelineNameLabel=Nombre de la canalización
|
||||
pipelineOptions.saveSettings=Guardar configuración de la canalización
|
||||
pipelineOptions.pipelineNamePrompt=Introduzca aquí el nombre de la canalización
|
||||
pipelineOptions.selectOperation=Seleccione la operación
|
||||
pipelineOptions.addOperationButton=Añadir operación
|
||||
pipelineOptions.pipelineHeader=Pipeline:
|
||||
pipelineOptions.pipelineHeader=Canalización:
|
||||
pipelineOptions.saveButton=Descargar
|
||||
pipelineOptions.validateButton=Validar
|
||||
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Configuración de la cuenta
|
||||
|
||||
changeCreds.title=Cambiar Credenciales
|
||||
changeCreds.header=Actualice los detalles de su cuenta
|
||||
changeCreds.changeUserAndPassword=Está usando las credenciales por defecto. Por favor, introduzca una nueva contraseña (y usuario si lo desea)
|
||||
changeCreds.changePassword=Está usando las credenciales de inicio de sesión por defecto. Por favor, introduzca una contraseña nueva
|
||||
changeCreds.newUsername=Nuevo usuario
|
||||
changeCreds.oldPassword=Contraseña actual
|
||||
changeCreds.newPassword=Nueva contraseña
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Configuración de la cuenta
|
||||
account.adminSettings=Configuración de Administrador - Ver y Añadir Usuarios
|
||||
account.userControlSettings=Configuración de control de usuario
|
||||
account.changeUsername=Cambiar nombre de usuario
|
||||
account.changeUsername=Cambiar nombre de usuario
|
||||
account.newUsername=nuevo nombre de usuario
|
||||
account.password=Confirmar contraseña
|
||||
account.oldPassword=Contraseña anterior
|
||||
account.newPassword=Nueva Contraseña
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Configuración de control de usuario administrador
|
||||
adminUserSettings.admin=Administrador
|
||||
adminUserSettings.user=Usuario
|
||||
adminUserSettings.addUser=Añadir Nuevo Usuario
|
||||
adminUserSettings.usernameInfo=El nombrede usuario debe contener únicamente letras y números, no espacios ni caracteres especiales.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Rol
|
||||
adminUserSettings.actions=Acciones
|
||||
adminUserSettings.apiUser=Usuario limitado de API
|
||||
adminUserSettings.extraApiUser=Otro usuario limitado de API
|
||||
adminUserSettings.webOnlyUser=Usuario solo web
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.demoUser=Usuario Demo (Sin ajustes personalizados)
|
||||
adminUserSettings.internalApiUser=Usuario interno de API
|
||||
adminUserSettings.forceChange=Forzar usuario a cambiar usuario/contraseña en el acceso
|
||||
adminUserSettings.submit=Guardar Usuario
|
||||
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redactar
|
||||
home.autoRedact.desc=Redactar automáticamente (ocultar) texto en un PDF según el texto introducido
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redactar,Ocultar,ocultar,negro,subrayador,oculto
|
||||
|
||||
home.tableExtraxt.title=PDF a CSV
|
||||
home.tableExtraxt.desc=Extraer Tablas de un PDF convirtiéndolas a CSV
|
||||
@@ -386,9 +397,18 @@ home.split-by-sections.title=Dividir PDF por Secciones
|
||||
home.split-by-sections.desc=Dividir cada página de un PDF en secciones verticales y horizontales más pequeñas
|
||||
split-by-sections.tags=Dividir sección, Dividir, Personalizar
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
home.AddStampRequest.title=Añadir Sello a PDF
|
||||
home.AddStampRequest.desc=Añadir texto o sello de imagen en ubicaciones específicas
|
||||
AddStampRequest.tags=Sello, Añadir imagen, centrar imagen, Marca de agua, PDF, Incrustar, Personalizar
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF a Libro
|
||||
home.PDFToBook.desc=Convierte PDF a formatos de Libro/Cómic usando Calibre
|
||||
PDFToBook.tags=Libro,Cómic,Calibre,Convertir,Manga,Amazon,Kindle
|
||||
|
||||
home.BookToPDF.title=Libro a PDF
|
||||
home.BookToPDF.desc=Convierte formatos de Libro/Cómic a PDF usando Calibre
|
||||
BookToPDF.tags=Libro,Cómic,Calibre,Convertir,manga,Amazon,Kindle
|
||||
|
||||
|
||||
###########################
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Iniciar sesión
|
||||
login.header=Iniciar sesión
|
||||
login.signin=Iniciar sesión
|
||||
login.rememberme=Recordarme
|
||||
login.invalid=Nombre de usuario o contraseña erróneos.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convertir a página única
|
||||
pageExtracter.title=Extraer Páginas
|
||||
pageExtracter.header=Extraer Páginas
|
||||
pageExtracter.submit=Extraer
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Personalizar margen
|
||||
AddStampRequest.customColor=Personalizar color de texto
|
||||
AddStampRequest.submit=Enviar
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Desinfectar archivo PDF
|
||||
sanitizePDF.header=Desinfectar un archivo PDF
|
||||
@@ -561,7 +584,7 @@ autoSplitPDF.submit=Entregar
|
||||
|
||||
|
||||
#pipeline
|
||||
pipeline.title=Pipeline
|
||||
pipeline.title=Canalización
|
||||
|
||||
|
||||
#pageLayout
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Documento 1
|
||||
compare.document.2=Documento 2
|
||||
compare.submit=Comparar
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Libros y Cómics a PDF
|
||||
BookToPDF.header=Libro a PDF
|
||||
BookToPDF.credit=Usa Calibre
|
||||
BookToPDF.submit=Convertir
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF a Libro
|
||||
PDFToBook.header=PDF a Libro
|
||||
PDFToBook.selectText.1=Formato
|
||||
PDFToBook.credit=Utiliza Calibre
|
||||
PDFToBook.submit=Convertir
|
||||
|
||||
#sign
|
||||
sign.title=Firmar
|
||||
@@ -724,11 +759,23 @@ merge.submit=Unir
|
||||
pdfOrganiser.title=Organizador de páginas
|
||||
pdfOrganiser.header=Organizador de páginas PDF
|
||||
pdfOrganiser.submit=Organizar páginas
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Multi-herramienta PDF
|
||||
multiTool.header=Multi-herramienta PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=Ver PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Eliminador de páginas
|
||||
pageRemover.header=Eliminador de páginas PDF
|
||||
pageRemover.pagesToDelete=Páginas a eliminar (introducir una lista de números de página separados por coma):
|
||||
pageRemover.submit=Eliminar Páginas
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacidad (0% - 100%):
|
||||
watermark.selectText.8=Tipo de marca de agua:
|
||||
watermark.selectText.9=Imagen de marca de agua:
|
||||
watermark.submit=Añadir marca de agua
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Palabras clave:
|
||||
changeMetadata.modDate=Fecha de modificación (aaaa/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Productor:
|
||||
changeMetadata.subject=Asunto:
|
||||
changeMetadata.title=Título:
|
||||
changeMetadata.trapped=Capturado:
|
||||
changeMetadata.selectText.4=Otros Metadatos:
|
||||
changeMetadata.selectText.5=Agregar entrada de metadatos personalizados
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF a PDF/A
|
||||
pdfToPDFA.header=PDF a PDF/A
|
||||
pdfToPDFA.credit=Este servicio usa OCRmyPDF para la conversión a PDF/A
|
||||
pdfToPDFA.submit=Convertir
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Elija una página para extraer la tabla
|
||||
PDFToCSV.submit=Extraer
|
||||
|
||||
#split-by-size-or-count
|
||||
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.type.label=Seleccionar tipo de división
|
||||
split-by-size-or-count.type.size=Por tamaño
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Divisiones Verticales
|
||||
split-by-sections.horizontal.placeholder=Introduzca el número de divisiones horizontales
|
||||
split-by-sections.vertical.placeholder=Introduzca el número de divisiones verticales
|
||||
split-by-sections.submit=Dividir PDF
|
||||
|
||||
split-by-sections.merge=Unir en Un PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licencias
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Hautatu Irudia(k)
|
||||
genericSubmit=Bidali
|
||||
processTimeWarning=Oharra: prozesu honetarako minutu bat ere beharko da fitxategiaren tamaiaren arabera
|
||||
pageOrderPrompt=Orrialdeen ordena (sartu komaz bereizitako orrialde-zenbakien zerrenda)
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Joan
|
||||
true=Egiazkoa
|
||||
false=Faltsua
|
||||
unknown=Ezezaguna
|
||||
save=Gorde
|
||||
saveToBrowser=Save to Browser
|
||||
close=Itxi
|
||||
filesSelected=Hautatutako fitxategiak
|
||||
noFavourites=Ez dira gogokoak gehitu
|
||||
downloadComplete=Download Complete
|
||||
bored=Itxaroten aspertuta?
|
||||
alphabet=Alfabetoa
|
||||
downloadPdf=PDFa deskargatu
|
||||
@@ -42,7 +45,7 @@ red=Gorria
|
||||
green=Berdea
|
||||
blue=Urdina
|
||||
custom=Pertsonalizatu...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Kontuaren ezarpenak
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Kontuaren ezarpenak
|
||||
account.adminSettings=Admin ezarpenak - Ikusi eta gehitu Erabiltzaileak
|
||||
account.userControlSettings=Erabiltzaile ezarpen kontrolak
|
||||
account.changeUsername=Aldatu erabiltzaile izena
|
||||
account.changeUsername=Aldatu erabiltzaile izena
|
||||
account.newUsername=Erabiltzaile izen berria
|
||||
account.password=Konfirmatu pasahitza
|
||||
account.oldPassword=Pasahitz zaharra
|
||||
account.newPassword=Pasahitz berria
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin Erabiltzailearen Ezarpenen Kontrolak
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=Erabiltzaile
|
||||
adminUserSettings.addUser=Erabiltzaile berria
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Rolak
|
||||
adminUserSettings.role=Rol
|
||||
adminUserSettings.actions=Ekintzak
|
||||
adminUserSettings.apiUser=APIren erabiltzaile mugatua
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web-erabiltzailea bakarrik
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Gorde Erabiltzailea
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Idatzi
|
||||
home.autoRedact.desc=Auto Idatzi testua pdf fitxategian sarrerako testuan oinarritua
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Saioa hasi
|
||||
login.header=Saioa hasi
|
||||
login.signin=Saioa hasi
|
||||
login.rememberme=Oroitu nazazu
|
||||
login.invalid=Okerreko erabiltzaile izena edo pasahitza.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Orrialde bakarrera bihurtu
|
||||
pageExtracter.title=Atera orriak
|
||||
pageExtracter.header=Atera orriak
|
||||
pageExtracter.submit=Atera
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDF-a desinfektatu
|
||||
sanitizePDF.header=PDF fitxategi bat desinfektatu
|
||||
@@ -621,6 +644,18 @@ compare.document.1=1. dokumentua
|
||||
compare.document.2=2. dokumentua
|
||||
compare.submit=Konparatu
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Sinatu
|
||||
@@ -724,11 +759,23 @@ merge.submit=Elkartu
|
||||
pdfOrganiser.title=Orrialdeen antolatzailea
|
||||
pdfOrganiser.header=PDF orrialdeen antolatzailea
|
||||
pdfOrganiser.submit=Antolatu orrialdeak
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF erabilera anitzeko tresna
|
||||
multiTool.header=PDF erabilera anitzeko tresna
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Orrialdeen ezabatzailea
|
||||
pageRemover.header=PDF orrialdeen ezabatzailea
|
||||
pageRemover.pagesToDelete=Ezabatu beharreko orrialdeak (sartu komaz bereizitako orrialde-zenbakien zerrenda):
|
||||
pageRemover.submit=Ezabatu orrialdeak
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opakutasuna (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Gehitu ur-marka
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Gako-hitzak:
|
||||
changeMetadata.modDate=Aldatze-data (aaaa/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Ekoizlea:
|
||||
changeMetadata.subject=Gaia:
|
||||
changeMetadata.title=Izenburua:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Beste metadatu batzuk:
|
||||
changeMetadata.selectText.5=Gehitu metadatu pertsonalizatuen sarrera
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDFa PDF/A bihurtu
|
||||
pdfToPDFA.header=PDFa PDF/A bihurtu
|
||||
pdfToPDFA.credit=Zerbitzu honek OCRmyPDF erabiltzen du PDFak PDF/A bihurtzeko
|
||||
pdfToPDFA.submit=Bihurtu
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Extracto
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -9,17 +9,20 @@ multiPdfPrompt=Sélectionnez les PDF
|
||||
multiPdfDropPrompt=Sélectionnez (ou glissez-déposez) tous les PDF dont vous avez besoin
|
||||
imgPrompt=Choisir une image
|
||||
genericSubmit=Envoyer
|
||||
processTimeWarning=Attention, ce processus peut prendre jusqu\u2019à une minute en fonction de la taille du fichier.
|
||||
pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1)\u00a0:
|
||||
processTimeWarning=Attention, ce processus peut prendre jusqu’à une minute en fonction de la taille du fichier.
|
||||
pageOrderPrompt=Ordre des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
|
||||
pageSelectionPrompt=Sélection des pages (entrez une liste de numéros de page séparés par des virgules ou des fonctions telles que 2n+1) :
|
||||
goToPage=Aller
|
||||
true=Vrai
|
||||
false=Faux
|
||||
unknown=Inconnu
|
||||
save=Enregistrer
|
||||
saveToBrowser=Save to Browser
|
||||
close=Fermer
|
||||
filesSelected=fichiers sélectionnés
|
||||
noFavourites=Aucun favori ajouté
|
||||
bored=Ennuyé d\u2019attendre\u00a0?
|
||||
downloadComplete=Téléchargement terminé
|
||||
bored=Ennuyé d’attendre ?
|
||||
alphabet=Alphabet
|
||||
downloadPdf=Télécharger le PDF
|
||||
text=Texte
|
||||
@@ -30,9 +33,9 @@ sizes.small=Petit
|
||||
sizes.medium=Moyen
|
||||
sizes.large=Grand
|
||||
sizes.x-large=Très grand
|
||||
error.pdfPassword=Le document PDF est protégé par un mot de passe et le mot de passe n\u2019a pas été fourni ou était incorrect
|
||||
error.pdfPassword=Le document PDF est protégé par un mot de passe et le mot de passe n’a pas été fourni ou était incorrect
|
||||
delete=Supprimer
|
||||
username=Nom d\u2019utilisateur
|
||||
username=Nom d’utilisateur
|
||||
password=Mot de passe
|
||||
welcome=Bienvenue
|
||||
property=Propriété
|
||||
@@ -41,39 +44,44 @@ white=Blanc
|
||||
red=Rouge
|
||||
green=Vert
|
||||
blue=Bleu
|
||||
custom=Personnalisé\u2026
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
changedCredsMessage=Les identifiants ont été mis à jour\u00a0!
|
||||
custom=Personnalisé…
|
||||
WorkInProgess=En cours de développement, merci de nous remonter les problèmes que vous pourriez constater!
|
||||
poweredBy=Propulsé par
|
||||
yes=Oui
|
||||
no=Non
|
||||
changedCredsMessage=Les identifiants ont été mis à jour !
|
||||
notAuthenticatedMessage=Utilisateur non authentifié.
|
||||
userNotFoundMessage=Utilisateur non trouvé.
|
||||
incorrectPasswordMessage=Le mot de passe actuel est incorrect.
|
||||
usernameExistsMessage=Le nouveau nom d\u2019utilisateur existe déjà.
|
||||
usernameExistsMessage=Le nouveau nom d’utilisateur existe déjà.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.header=Menu Pipeline (Alpha)
|
||||
pipeline.uploadButton=Télécharger une personnalisation
|
||||
pipeline.configureButton=Configurer
|
||||
pipeline.defaultOption=Personnaliser
|
||||
pipeline.submitButton=Soumettre
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Pipeline Configuration
|
||||
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||
pipelineOptions.saveSettings=Save Operation Settings
|
||||
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||
pipelineOptions.selectOperation=Select Operation
|
||||
pipelineOptions.addOperationButton=Add operation
|
||||
pipelineOptions.header=Configuration du pipeline
|
||||
pipelineOptions.pipelineNameLabel=Nom du pipeline
|
||||
pipelineOptions.saveSettings=Sauvegarder la configuration
|
||||
pipelineOptions.pipelineNamePrompt=Entrez ici le nom du pipeline
|
||||
pipelineOptions.selectOperation=Sélectionner une opération
|
||||
pipelineOptions.addOperationButton=Ajouter une opération
|
||||
pipelineOptions.pipelineHeader=Pipeline:
|
||||
pipelineOptions.saveButton=Download
|
||||
pipelineOptions.validateButton=Validate
|
||||
pipelineOptions.saveButton=Télécharger
|
||||
pipelineOptions.validateButton=Valider
|
||||
|
||||
|
||||
|
||||
@@ -93,8 +101,8 @@ navbar.settings=Paramètres
|
||||
#############
|
||||
settings.title=Paramètres
|
||||
settings.update=Mise à jour disponible
|
||||
settings.appVersion=Version de l\u2019application\u00a0:
|
||||
settings.downloadOption.title=Choisissez l\u2019option de téléchargement (pour les téléchargements à fichier unique non ZIP)\u00a0:
|
||||
settings.appVersion=Version de l’application :
|
||||
settings.downloadOption.title=Choisissez l’option de téléchargement (pour les téléchargements à fichier unique non ZIP) :
|
||||
settings.downloadOption.1=Ouvrir dans la même fenêtre
|
||||
settings.downloadOption.2=Ouvrir dans une nouvelle fenêtre
|
||||
settings.downloadOption.3=Télécharger le fichier
|
||||
@@ -106,8 +114,8 @@ settings.accountSettings=Paramètres du compte
|
||||
|
||||
changeCreds.title=Modifiez vos identifiants
|
||||
changeCreds.header=Mettez à jour vos identifiants de connexion
|
||||
changeCreds.changeUserAndPassword=Vous utilisez les identifiants de connexion par défaut. Veuillez entrer un nouveau mot de passe (et nom d\u2019utilisateur si vous le souhaitez)
|
||||
changeCreds.newUsername=Nouveau nom d\u2019utilisateur
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Nouveau nom d’utilisateur
|
||||
changeCreds.oldPassword=Mot de passe actuel
|
||||
changeCreds.newPassword=Nouveau mot de passe
|
||||
changeCreds.confirmNewPassword=Confirmer le nouveau mot de passe
|
||||
@@ -117,10 +125,10 @@ changeCreds.submit=Soumettre les modifications
|
||||
|
||||
account.title=Paramètres du compte
|
||||
account.accountSettings=Paramètres du compte
|
||||
account.adminSettings=Paramètres d\u2019administration \u2013 Voir et ajouter des utilisateurs
|
||||
account.adminSettings=Paramètres d’administration – Voir et ajouter des utilisateurs
|
||||
account.userControlSettings=Contrôle des paramètres des utilisateurs
|
||||
account.changeUsername=Modifier le nom d\u2019utilisateur
|
||||
account.changeUsername=Modifier le nom d\u2019utilisateur
|
||||
account.changeUsername=Modifier le nom d’utilisateur
|
||||
account.newUsername=Nouveau nom d’utilisateur
|
||||
account.password=Mot de passe de confirmation
|
||||
account.oldPassword=Ancien mot de passe
|
||||
account.newPassword=Nouveau mot de passe
|
||||
@@ -132,8 +140,8 @@ account.syncTitle=Synchroniser les paramètres du navigateur avec le compte
|
||||
account.settingsCompare=Comparaison des paramètres
|
||||
account.property=Propriété
|
||||
account.webBrowserSettings=Paramètres du navigateur
|
||||
account.syncToBrowser=Synchroniser\u00a0: Compte → Navigateur
|
||||
account.syncToAccount=Synchroniser\u00a0: Compte ← Navigateur
|
||||
account.syncToBrowser=Synchroniser : Compte → Navigateur
|
||||
account.syncToAccount=Synchroniser : Compte ← Navigateur
|
||||
|
||||
|
||||
adminUserSettings.title=Administration des paramètres des utilisateurs
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Administration des paramètres des utilisateurs
|
||||
adminUserSettings.admin=Administateur
|
||||
adminUserSettings.user=Utilisateur
|
||||
adminUserSettings.addUser=Ajouter un utilisateur
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Rôles
|
||||
adminUserSettings.role=Rôle
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Utilisateur API limité
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Utilisateur Web uniquement
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Forcer l\u2019utilisateur à changer son nom d\u2019utilisateur/mot de passe lors de la connexion
|
||||
adminUserSettings.demoUser=Demo User (Paramètres par défaut)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Forcer l’utilisateur à changer son nom d’utilisateur/mot de passe lors de la connexion
|
||||
adminUserSettings.submit=Ajouter
|
||||
|
||||
#############
|
||||
@@ -158,7 +169,7 @@ home.searchBar=Rechercher des fonctionnalités...
|
||||
|
||||
|
||||
home.viewPdf.title=Visionner le PDF
|
||||
home.viewPdf.desc=Visionner, annoter, ajouter du texte ou des images
|
||||
home.viewPdf.desc=Visionner, annoter, ajouter du texte ou des images.
|
||||
viewPdf.tags=visualiser,lire,annoter,texte,image
|
||||
|
||||
home.multiTool.title=Outil multifonction PDF
|
||||
@@ -167,7 +178,7 @@ multiTool.tags=outil multifonction,opération multifonction,interface utilisateu
|
||||
|
||||
home.merge.title=Fusionner
|
||||
home.merge.desc=Fusionnez facilement plusieurs PDF en un seul.
|
||||
merge.tags=fusionner,opérations sur les pages,backeend,server side,merge
|
||||
merge.tags=fusionner,opérations sur les pages,backend,server side,merge
|
||||
|
||||
home.split.title=Diviser
|
||||
home.split.desc=Divisez un PDF en plusieurs documents.
|
||||
@@ -187,7 +198,7 @@ home.pdfToImage.desc=Convertissez un PDF en image (PNG, JPEG, GIF).
|
||||
pdfToImage.tags=conversion,img,jpg,image,photo
|
||||
|
||||
home.pdfOrganiser.title=Organiser
|
||||
home.pdfOrganiser.desc=Supprimez ou réorganisez les pages dans n\u2019importe quel ordre.
|
||||
home.pdfOrganiser.desc=Supprimez ou réorganisez les pages dans n’importe quel ordre.
|
||||
pdfOrganiser.tags=organiser,recto-verso,duplex,even,odd,sort,move
|
||||
|
||||
|
||||
@@ -197,7 +208,7 @@ addImage.tags=img,jpg,image,photo
|
||||
|
||||
home.watermark.title=Ajouter un filigrane
|
||||
home.watermark.desc=Ajoutez un filigrane personnalisé à votre PDF.
|
||||
watermark.tags=texte,filigrane,label,propriété,droit d\u2019auteur,marque déposée,img,jpg,image,photo,copyright,trademark
|
||||
watermark.tags=texte,filigrane,label,propriété,droit d’auteur,marque déposée,img,jpg,image,photo,copyright,trademark
|
||||
|
||||
home.permissions.title=Modifier les permissions
|
||||
home.permissions.desc=Modifiez les permissions de votre PDF.
|
||||
@@ -226,16 +237,16 @@ home.changeMetadata.desc=Modifiez, supprimez ou ajoutez des métadonnées à un
|
||||
changeMetadata.tags=métadonnées,titre,auteur,date,création,heure,éditeur,statistiques,title,author,date,creation,time,publisher,producer,stats,metadata
|
||||
|
||||
home.fileToPDF.title=Fichier en PDF
|
||||
home.fileToPDF.desc=Convertissez presque n\u2019importe quel fichiers en PDF (DOCX, PNG, XLS, PPT, TXT et plus).
|
||||
home.fileToPDF.desc=Convertissez presque n’importe quel fichiers en PDF (DOCX, PNG, XLS, PPT, TXT et plus).
|
||||
fileToPDF.tags=convertion,transformation,format,document,image,slide,texte,conversion,office,docs,word,excel,powerpoint
|
||||
|
||||
home.ocr.title=OCR / Nettoyage des numérisations
|
||||
home.ocr.desc=Utilisez l\u2019OCR pour analyser et détecter le texte des images d\u2019un PDF et le rajouter en temps que tel.
|
||||
home.ocr.desc=Utilisez l’OCR pour analyser et détecter le texte des images d’un PDF et le rajouter en temps que tel.
|
||||
ocr.tags=ocr,reconnaissance,texte,image,numérisation,scan,read,identify,detection,editable
|
||||
|
||||
|
||||
home.extractImages.title=Extraire les images
|
||||
home.extractImages.desc=Extrayez toutes les images d\u2019un PDF et enregistrez-les dans un ZIP.
|
||||
home.extractImages.desc=Extrayez toutes les images d’un PDF et enregistrez-les dans un ZIP.
|
||||
extractImages.tags=image,photo,save,archive,zip,capture,grab
|
||||
|
||||
home.pdfToPDFA.title=PDF en PDF/A
|
||||
@@ -264,7 +275,7 @@ home.PDFToXML.desc=Convertissez un PDF au format XML.
|
||||
PDFToXML.tags=xml,extraction de données,contenu structuré,interopérabilité,data-extraction,structured-content,interop,transformation,convert
|
||||
|
||||
home.ScannerImageSplit.title=Diviser les photos numérisées
|
||||
home.ScannerImageSplit.desc=Divisez plusieurs photos à partir d\u2019une photo ou d\u2019un PDF.
|
||||
home.ScannerImageSplit.desc=Divisez plusieurs photos à partir d’une photo ou d’un PDF.
|
||||
ScannerImageSplit.tags=diviser,détecter automatiquement,numériser,separate,auto-detect,scans,multi-photo,organize
|
||||
|
||||
home.sign.title=Signer
|
||||
@@ -272,7 +283,7 @@ home.sign.desc=Ajoutez une signature au PDF avec un dessin, du texte ou une imag
|
||||
sign.tags=signer,authorize,initials,drawn-signature,text-sign,image-signature
|
||||
|
||||
home.flatten.title=Rendre inerte
|
||||
home.flatten.desc=Supprimez tous les éléments et formulaires interactifs d\u2019un PDF.
|
||||
home.flatten.desc=Supprimez tous les éléments et formulaires interactifs d’un PDF.
|
||||
flatten.tags=inerte,static,deactivate,non-interactive,streamline
|
||||
|
||||
home.repair.title=Réparer
|
||||
@@ -280,12 +291,12 @@ home.repair.desc=Essayez de réparer un PDF corrompu ou cassé.
|
||||
repair.tags=réparer,restaurer,corriger,récupérer,fix,restore,correction,recover
|
||||
|
||||
home.removeBlanks.title=Supprimer les pages vierges
|
||||
home.removeBlanks.desc=Détectez et supprimez les pages vierges d\u2019un PDF.
|
||||
home.removeBlanks.desc=Détectez et supprimez les pages vierges d’un PDF.
|
||||
removeBlanks.tags=pages vierges,supprimer,nettoyer,cleanup,streamline,non-content,organize
|
||||
|
||||
home.removeAnnotations.title=Remove Annotations
|
||||
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||
home.removeAnnotations.title=Supprimer les annotations
|
||||
home.removeAnnotations.desc=Supprimer tous les commentaires/annotations d’un PDF.
|
||||
removeAnnotations.tags=commentaires,supprimer,annotations,highlight,notes,markup,remove
|
||||
|
||||
home.compare.title=Comparer
|
||||
home.compare.desc=Comparez et visualisez les différences entre deux PDF.
|
||||
@@ -296,11 +307,11 @@ home.certSign.desc=Signez un PDF avec un certificat ou une clé (PEM/P12).
|
||||
certSign.tags=signer,chiffrer,certificat,authenticate,PEM,P12,official,encrypt
|
||||
|
||||
home.pageLayout.title=Fusionner des pages
|
||||
home.pageLayout.desc=Fusionnez plusieurs pages d\u2019un PDF en une seule.
|
||||
home.pageLayout.desc=Fusionnez plusieurs pages d’un PDF en une seule.
|
||||
pageLayout.tags=fusionner,merge,composite,single-view,organize
|
||||
|
||||
home.scalePages.title=Ajuster l\u2019échelle ou la taille
|
||||
home.scalePages.desc=Modifiez la taille ou l\u2019échelle d\u2019une page et/ou de son contenu.
|
||||
home.scalePages.title=Ajuster l’échelle ou la taille
|
||||
home.scalePages.desc=Modifiez la taille ou l’échelle d’une page et/ou de son contenu.
|
||||
scalePages.tags=ajuster,redimensionner,resize,modify,dimension,adapt
|
||||
|
||||
home.pipeline.title=Pipeline (avancé)
|
||||
@@ -316,11 +327,11 @@ home.auto-rename.desc=Renommez automatiquement un fichier PDF en fonction de son
|
||||
auto-rename.tags=renommer,détection automatique,réétiqueter,auto-detect,header-based,organize,relabel
|
||||
|
||||
home.adjust-contrast.title=Ajuster les couleurs
|
||||
home.adjust-contrast.desc=Ajustez le contraste, la saturation et la luminosité d\u2019un PDF.
|
||||
home.adjust-contrast.desc=Ajustez le contraste, la saturation et la luminosité d’un PDF.
|
||||
adjust-contrast.tags=ajuster,couleurs,amélioration,color-correction,tune,modify,enhance
|
||||
|
||||
home.crop.title=Redimensionner
|
||||
home.crop.desc=Redimmensionnez un PDF pour réduire sa taille (en conservant le texte\u00a0!).
|
||||
home.crop.desc=Redimmensionnez un PDF pour réduire sa taille (en conservant le texte !).
|
||||
crop.tags=redimensionner,trim,shrink,edit,shape
|
||||
|
||||
home.autoSplitPDF.title=Séparer automatiquement les pages
|
||||
@@ -332,16 +343,16 @@ home.sanitizePdf.desc=Supprimez les scripts et autres éléments des PDF.
|
||||
sanitizePdf.tags=assainir,sécurisé,clean,secure,safe,remove-threats
|
||||
|
||||
home.URLToPDF.title=URL en PDF
|
||||
home.URLToPDF.desc=Convertissez n\u2019importe quelle URL http(s) en PDF.
|
||||
home.URLToPDF.desc=Convertissez n’importe quelle URL http(s) en PDF.
|
||||
URLToPDF.tags=pdf,contenu Web,save-page,web-to-doc,archive
|
||||
|
||||
home.HTMLToPDF.title=HTML en PDF
|
||||
home.HTMLToPDF.desc=Convertissez n\u2019importe quel fichier HTML ou ZIP en PDF.
|
||||
home.HTMLToPDF.desc=Convertissez n’importe quel fichier HTML ou ZIP en PDF.
|
||||
HTMLToPDF.tags=html,markup,contenu Web,transformation,convert
|
||||
|
||||
|
||||
home.MarkdownToPDF.title=Markdown en PDF
|
||||
home.MarkdownToPDF.desc=Convertissez n\u2019importe quel fichier Markdown en PDF.
|
||||
home.MarkdownToPDF.desc=Convertissez n’importe quel fichier Markdown en PDF.
|
||||
MarkdownToPDF.tags=markdown,markup,contenu Web,transformation,convert
|
||||
|
||||
|
||||
@@ -362,14 +373,14 @@ PdfToSinglePage.tags=fusionner,merge,une seule page,single page
|
||||
|
||||
home.showJS.title=Afficher le JavaScript
|
||||
home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF.
|
||||
showJS.tags=caviarder,redact,auto
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Caviarder automatiquement
|
||||
home.autoRedact.desc=Caviardez automatiquement les informations sensibles d\u2019un PDF.
|
||||
showJS.tags=caviarder,redact,auto
|
||||
home.autoRedact.desc=Caviardez automatiquement les informations sensibles d’un PDF.
|
||||
autoRedact.tags=caviarder,redact,auto
|
||||
|
||||
home.tableExtraxt.title=PDF en CSV
|
||||
home.tableExtraxt.desc=Extrait les tableaux d\u2019un PDF et les transforme en CSV
|
||||
home.tableExtraxt.desc=Extrait les tableaux d’un PDF et les transforme en CSV.
|
||||
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||
|
||||
|
||||
@@ -379,16 +390,25 @@ autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||
|
||||
|
||||
home.overlay-pdfs.title=Incrustation de PDF
|
||||
home.overlay-pdfs.desc=Incrustation d\u2019un PDF sur un autre PDF
|
||||
overlay-pdfs.tags=Overlay
|
||||
home.overlay-pdfs.desc=Incrustation d’un PDF sur un autre PDF.
|
||||
overlay-pdfs.tags=Overlay,incrustation
|
||||
|
||||
home.split-by-sections.title=Split PDF by Sections
|
||||
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections
|
||||
split-by-sections.tags=Section Split, Divide, Customize
|
||||
home.split-by-sections.title=Séparer un PDF en sections
|
||||
home.split-by-sections.desc=Diviser chaque page d’un PDF en sections horizontales/verticales plus petites.
|
||||
split-by-sections.tags=Sections,Diviser,Section Split, Divide, Customize
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
home.AddStampRequest.title=Ajouter un tampon sur un PDF
|
||||
home.AddStampRequest.desc=Ajouter un texte ou l’image d’un tampon à un emplacement défini.
|
||||
AddStampRequest.tags=Tampon,Ajouter,Stamp,Add image,center image,Watermark,PDF,Embed,Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
@@ -398,9 +418,10 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Connexion
|
||||
login.header=Connexion
|
||||
login.signin=Connexion
|
||||
login.rememberme=Se souvenir de moi
|
||||
login.invalid=Nom d\u2019utilisateur ou mot de passe invalide.
|
||||
login.invalid=Nom d’utilisateur ou mot de passe invalide.
|
||||
login.locked=Votre compte a été verrouillé.
|
||||
login.signinTitle=Veuillez vous connecter
|
||||
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convertir en une seule page
|
||||
pageExtracter.title=Extraire des pages
|
||||
pageExtracter.header=Extraire des pages
|
||||
pageExtracter.submit=Extraire
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -466,37 +488,38 @@ HTMLToPDF.header=HTML en PDF
|
||||
HTMLToPDF.help=Accepte les fichiers HTML et les ZIP contenant du HTML, du CSS, des images, etc. (requis).
|
||||
HTMLToPDF.submit=Convertir
|
||||
HTMLToPDF.credit=Utilise WeasyPrint.
|
||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.printBackground=Render the background of websites.
|
||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||
HTMLToPDF.none=None
|
||||
HTMLToPDF.print=Print
|
||||
HTMLToPDF.screen=Screen
|
||||
HTMLToPDF.zoom=Niveau de zoom pour l’affichage du site web.
|
||||
HTMLToPDF.pageWidth=Largeur de la page en centimètres. (Vide par défaut)
|
||||
HTMLToPDF.pageHeight=Hauteur de la page en centimètres. (Vide par défaut)
|
||||
HTMLToPDF.marginTop=Marge supérieure de la page en millimètres. (Vide par défaut)
|
||||
HTMLToPDF.marginBottom=Marge inférieure de la page en millimètres. (Vide par défaut)
|
||||
HTMLToPDF.marginLeft=Marge gauche de la page en millimètres. (Vide par défaut)
|
||||
HTMLToPDF.marginRight=Marge droite de la page en millimètres. (Vide par défaut)
|
||||
HTMLToPDF.printBackground=Restituer l’image de fond des sites web.
|
||||
HTMLToPDF.defaultHeader=Activer l’entête par défaut (Nom et numéro de page)
|
||||
HTMLToPDF.cssMediaType=Modifier le type de média CSS de la page.
|
||||
HTMLToPDF.none=Aucun
|
||||
HTMLToPDF.print=Imprimer
|
||||
HTMLToPDF.screen=Écran
|
||||
|
||||
|
||||
#AddStampRequest
|
||||
AddStampRequest.header=Stamp PDF
|
||||
AddStampRequest.title=Stamp PDF
|
||||
AddStampRequest.stampType=Stamp Type
|
||||
AddStampRequest.stampText=Stamp Text
|
||||
AddStampRequest.stampImage=Stamp Image
|
||||
AddStampRequest.header=Tampon PDF
|
||||
AddStampRequest.title=Tampon PDF
|
||||
AddStampRequest.stampType=Type de tampon
|
||||
AddStampRequest.stampText=Tampon texte
|
||||
AddStampRequest.stampImage=Tampon image
|
||||
AddStampRequest.alphabet=Alphabet
|
||||
AddStampRequest.fontSize=Font/Image Size
|
||||
AddStampRequest.fontSize=Taille de fonte/image
|
||||
AddStampRequest.rotation=Rotation
|
||||
AddStampRequest.opacity=Opacity
|
||||
AddStampRequest.opacity=Opacité
|
||||
AddStampRequest.position=Position
|
||||
AddStampRequest.overrideX=Override X Coordinate
|
||||
AddStampRequest.overrideY=Override Y Coordinate
|
||||
AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
AddStampRequest.overrideX=Définir coordonnées X
|
||||
AddStampRequest.overrideY=Définir coordonnées Y
|
||||
AddStampRequest.customMargin=Marge personnalisée
|
||||
AddStampRequest.customColor=Couleur de texte personnalisée
|
||||
AddStampRequest.submit=Soumettre
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Assainir
|
||||
@@ -551,9 +574,9 @@ autoSplitPDF.header=Séparer automatiquement les pages
|
||||
autoSplitPDF.description=Imprimez, insérez, numérisez, téléchargez et laissez-nous séparer automatiquement vos documents. Aucun travail de tri manuel nécessaire.
|
||||
autoSplitPDF.selectText.1=Imprimez des feuilles de séparation ci-dessous (le mode noir et blanc convient).
|
||||
autoSplitPDF.selectText.2=Numérisez tous vos documents en une seule fois en insérant les feuilles intercalaires entre eux.
|
||||
autoSplitPDF.selectText.3=Téléchargez le fichier PDF numérisé et laissez Stirling PDF s\u2019occuper du reste.
|
||||
autoSplitPDF.selectText.3=Téléchargez le fichier PDF numérisé et laissez Stirling PDF s’occuper du reste.
|
||||
autoSplitPDF.selectText.4=Les feuilles de séparation sont automatiquement détectées et supprimées, garantissant un document final soigné.
|
||||
autoSplitPDF.formPrompt=PDF contenant des feuilles de séparation de Stirling PDF\u00a0:
|
||||
autoSplitPDF.formPrompt=PDF contenant des feuilles de séparation de Stirling PDF :
|
||||
autoSplitPDF.duplexMode=Mode recto-verso
|
||||
autoSplitPDF.dividerDownload1=Auto Splitter Divider (minimal).pdf
|
||||
autoSplitPDF.dividerDownload2=Auto Splitter Divider (with instructions).pdf
|
||||
@@ -573,10 +596,10 @@ pageLayout.submit=Fusionner
|
||||
|
||||
|
||||
#scalePages
|
||||
scalePages.title=Ajuster la taille ou l\u2019échelle
|
||||
scalePages.header=Ajuster la taille ou l\u2019échelle
|
||||
scalePages.pageSize=Taille d\u2019une page du document
|
||||
scalePages.scaleFactor=Niveau de zoom (recadrage) d\u2019une page
|
||||
scalePages.title=Ajuster la taille ou l’échelle
|
||||
scalePages.header=Ajuster la taille ou l’échelle
|
||||
scalePages.pageSize=Taille d’une page du document
|
||||
scalePages.scaleFactor=Niveau de zoom (recadrage) d’une page
|
||||
scalePages.submit=Ajuster
|
||||
|
||||
|
||||
@@ -584,11 +607,11 @@ scalePages.submit=Ajuster
|
||||
certSign.title=Signer avec un certificat
|
||||
certSign.header=Signer avec un certificat (Travail en cours)
|
||||
certSign.selectPDF=PDF à signer
|
||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
||||
certSign.jksNote=Note: Si votre type de certificat n’est pas listé ci-dessous, merci de le convertir en fichier Java Keystore (.jks) en utilisant l’outil en ligne de commande keytool. Puis choisissez l’option Fichier .jks ci-dessous.
|
||||
certSign.selectKey=Fichier de clé privée (format PKCS#8, peut être .pem ou .der)
|
||||
certSign.selectCert=Fichier de certificat (format X.509, peut être .pem ou .der)
|
||||
certSign.selectP12=Fichier keystore de clés PKCS#12 (.p12 ou .pfx) (facultatif, s\u2019il n\u2019est fourni, il doit contenir votre clé privée et votre certificat)
|
||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||
certSign.selectP12=Fichier keystore de clés PKCS#12 (.p12 ou .pfx) (facultatif, s’il n’est fourni, il doit contenir votre clé privée et votre certificat)
|
||||
certSign.selectJKS=Sélectionner votre fichier Java Keystore File (.jks or .keystore):
|
||||
certSign.certType=Type de certificat
|
||||
certSign.password=Mot de passe keystore ou clé privée le cas échéant
|
||||
certSign.showSig=Afficher la signature
|
||||
@@ -602,16 +625,16 @@ certSign.submit=Signer
|
||||
removeBlanks.title=Supprimer les pages vierges
|
||||
removeBlanks.header=Supprimer les pages vierges
|
||||
removeBlanks.threshold=Seuil de blancheur des pixels
|
||||
removeBlanks.thresholdDesc=Seuil pour déterminer à quel point un pixel blanc doit être blanc pour être classé comme «\u00a0blanc\u00a0» (0 = noir, 255 = blanc pur).
|
||||
removeBlanks.thresholdDesc=Seuil pour déterminer à quel point un pixel blanc doit être blanc pour être classé comme « blanc » (0 = noir, 255 = blanc pur).
|
||||
removeBlanks.whitePercent=Pourcentage de blanc
|
||||
removeBlanks.whitePercentDesc=Pourcentage de la page qui doit contenir des pixels « blancs » à supprimer.
|
||||
removeBlanks.submit=Supprimer les pages vierges
|
||||
|
||||
|
||||
#removeAnnotations
|
||||
removeAnnotations.title=Remove Annotations
|
||||
removeAnnotations.header=Remove Annotations
|
||||
removeAnnotations.submit=Remove
|
||||
removeAnnotations.title=Supprimer les annotations
|
||||
removeAnnotations.header=Supprimer les annotations
|
||||
removeAnnotations.submit=Supprimer
|
||||
|
||||
|
||||
#compare
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Comparer
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Signer
|
||||
@@ -646,15 +681,15 @@ flatten.submit=Rendre inerte
|
||||
|
||||
#ScannerImageSplit
|
||||
ScannerImageSplit.selectText.1=Seuil de rotation
|
||||
ScannerImageSplit.selectText.2=Définit l\u2019angle absolu minimum requis pour la rotation de l\u2019image (par défaut\u00a0: 10).
|
||||
ScannerImageSplit.selectText.2=Définit l’angle absolu minimum requis pour la rotation de l’image (par défaut : 10).
|
||||
ScannerImageSplit.selectText.3=Tolérance
|
||||
ScannerImageSplit.selectText.4=Détermine la plage de variation de couleur autour de la couleur d\u2019arrière-plan estimée (par défaut\u00a0: 20).
|
||||
ScannerImageSplit.selectText.4=Détermine la plage de variation de couleur autour de la couleur d’arrière-plan estimée (par défaut : 20).
|
||||
ScannerImageSplit.selectText.5=Surface minimale
|
||||
ScannerImageSplit.selectText.6=Définit la surface minimale pour une photo (par défaut\u00a0: 8\u202f000).
|
||||
ScannerImageSplit.selectText.6=Définit la surface minimale pour une photo (par défaut : 8 000).
|
||||
ScannerImageSplit.selectText.7=Surface de contour minimale
|
||||
ScannerImageSplit.selectText.8=Définit la surface de contour minimale pour une photo (par défaut\u00a0: 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.10=Définit la taille de la bordure ajoutée et supprimée pour éviter les bordures blanches dans la sortie (par défaut\u00a0: 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).
|
||||
|
||||
|
||||
#OCR
|
||||
@@ -663,24 +698,24 @@ ocr.header=OCR (Reconnaissance optique de caractères) / Nettoyage des numérisa
|
||||
ocr.selectText.1=Langues à détecter dans le PDF (celles listées sont celles actuellement détectées)
|
||||
ocr.selectText.2=Produire un fichier texte contenant le texte détecté à côté du PDF
|
||||
ocr.selectText.3=Corriger les pages qui ont été numérisées à un angle oblique en les remettant en place
|
||||
ocr.selectText.4=Nettoyer la page afin qu\u2019il soit moins probable que l\u2019OCR trouve du texte dans le bruit de fond, sans modifier la sortie
|
||||
ocr.selectText.5=Nettoyer la page afin qu\u2019il soit moins probable que l\u2019OCR trouve du texte dans le bruit de fond, en modifiant la sortie
|
||||
ocr.selectText.6=Ignorer les pages contenant du texte interactif, n\u2019analyser que les pages qui sont des images
|
||||
ocr.selectText.7=Forcer l\u2019OCR, analyser chaque page et supprimer tous les éléments de texte d\u2019origine
|
||||
ocr.selectText.4=Nettoyer la page afin qu’il soit moins probable que l’OCR trouve du texte dans le bruit de fond, sans modifier la sortie
|
||||
ocr.selectText.5=Nettoyer la page afin qu’il soit moins probable que l’OCR trouve du texte dans le bruit de fond, en modifiant la sortie
|
||||
ocr.selectText.6=Ignorer les pages contenant du texte interactif, n’analyser que les pages qui sont des images
|
||||
ocr.selectText.7=Forcer l’OCR, analyser chaque page et supprimer tous les éléments de texte d’origine
|
||||
ocr.selectText.8=Normal (génère une erreur si le PDF contient du texte)
|
||||
ocr.selectText.9=Paramètres additionnels
|
||||
ocr.selectText.10=Mode OCR
|
||||
ocr.selectText.11=Supprimer les images après l\u2019OCR (Supprime TOUTES les images, utile uniquement si elles font partie de l\u2019étape de conversion)
|
||||
ocr.selectText.11=Supprimer les images après l’OCR (Supprime TOUTES les images, utile uniquement si elles font partie de l’étape de conversion)
|
||||
ocr.selectText.12=Type de rendu (avancé)
|
||||
ocr.help=Veuillez lire cette documentation pour savoir comment utiliser l\u2019OCR pour d\u2019autres langues ou une utilisation hors Docker\u00a0:
|
||||
ocr.credit=Ce service utilise OCRmyPDF et Tesseract pour l\u2019OCR.
|
||||
ocr.help=Veuillez lire cette documentation pour savoir comment utiliser l’OCR pour d’autres langues ou une utilisation hors Docker :
|
||||
ocr.credit=Ce service utilise OCRmyPDF et Tesseract pour l’OCR.
|
||||
ocr.submit=Traiter
|
||||
|
||||
|
||||
#extractImages
|
||||
extractImages.title=Extraire les images
|
||||
extractImages.header=Extraire les images
|
||||
extractImages.selectText=Format d\u2019image dans lequel convertir les images extraites
|
||||
extractImages.selectText=Format d’image dans lequel convertir les images extraites
|
||||
extractImages.submit=Extraire
|
||||
|
||||
|
||||
@@ -693,21 +728,21 @@ fileToPDF.submit=Convertir
|
||||
|
||||
|
||||
#compress
|
||||
compress.title=Compresser
|
||||
compress.header=Compresser
|
||||
compress.credit=Ce service utilise Ghostscript pour la compression et l\u2019optimisation des PDF.
|
||||
compress.selectText.1=Mode manuel \u2013 de 1 à 4
|
||||
compress.selectText.2=Niveau d\u2019optimisation
|
||||
compress.title=Compresser un PDF
|
||||
compress.header=Compresser un PDF (lorsque c’est possible!)
|
||||
compress.credit=Ce service utilise Ghostscript pour la compression et l’optimisation des PDF.
|
||||
compress.selectText.1=Mode manuel – de 1 à 4
|
||||
compress.selectText.2=Niveau d’optimisation
|
||||
compress.selectText.3=4 (terrible pour les images textuelles)
|
||||
compress.selectText.4=Mode automatique \u2013 ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte
|
||||
compress.selectText.5=Taille PDF attendue (par exemple, 25\u202fMo, 10,8\u202fMo, 25\u202fKo)
|
||||
compress.selectText.4=Mode automatique – ajuste automatiquement la qualité pour obtenir le PDF à la taille exacte
|
||||
compress.selectText.5=Taille PDF attendue (par exemple, 25 MB, 10,8 MB, 25 KB)
|
||||
compress.submit=Compresser
|
||||
|
||||
|
||||
#Add image
|
||||
addImage.title=Ajouter une image
|
||||
addImage.header=Ajouter une image
|
||||
addImage.everyPage=Toutes les pages\u00a0?
|
||||
addImage.everyPage=Toutes les pages ?
|
||||
addImage.upload=Télécharger une image
|
||||
addImage.submit=Ajouter une image
|
||||
|
||||
@@ -724,27 +759,40 @@ merge.submit=Fusionner
|
||||
pdfOrganiser.title=Organiser
|
||||
pdfOrganiser.header=Organiser les pages
|
||||
pdfOrganiser.submit=Organiser
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Outil multifonction PDF
|
||||
multiTool.header=Outil multifonction PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
viewPdf.header=View PDF
|
||||
viewPdf.title=Visualiser un PDF
|
||||
viewPdf.header=Visualiser un PDF
|
||||
|
||||
#pageRemover
|
||||
pageRemover.title=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)\u00a0:
|
||||
pageRemover.pagesToDelete=Pages à supprimer (entrez une liste de numéros de pages séparés par des virgules) :
|
||||
pageRemover.submit=Supprimer les pages
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
rotate.title=Pivoter
|
||||
rotate.header=Pivoter
|
||||
rotate.selectAngle=Angle de rotation (par multiples de 90\u202fdegrés)
|
||||
rotate.selectAngle=Angle de rotation (par multiples de 90 degrés)
|
||||
rotate.submit=Pivoter
|
||||
|
||||
|
||||
@@ -752,7 +800,7 @@ rotate.submit=Pivoter
|
||||
split.title=Diviser
|
||||
split.header=Diviser
|
||||
split.desc.1=Les numéros que vous sélectionnez sont le numéro de page sur lequel vous souhaitez faire une division
|
||||
split.desc.2=Ainsi, la sélection de 1,3,7-8 diviserait un document de 10 pages en 6 PDF distincts avec\u00a0:
|
||||
split.desc.2=Ainsi, la sélection de 1,3,7-8 diviserait un document de 10 pages en 6 PDF distincts avec :
|
||||
split.desc.3=Document #1: Page 1
|
||||
split.desc.4=Document #2: Page 2 et 3
|
||||
split.desc.5=Document #3: Page 4, 5 et 6
|
||||
@@ -767,9 +815,9 @@ split.submit=Diviser
|
||||
imageToPDF.title=Image en PDF
|
||||
imageToPDF.header=Image en PDF
|
||||
imageToPDF.submit=Convertir
|
||||
imageToPDF.selectLabel=Options d\u2019ajustement de l\u2019image
|
||||
imageToPDF.selectLabel=Options d’ajustement de l’image
|
||||
imageToPDF.fillPage=Remplir la page
|
||||
imageToPDF.fitDocumentToImage=Ajuster la page à l\u2019image
|
||||
imageToPDF.fitDocumentToImage=Ajuster la page à l’image
|
||||
imageToPDF.maintainAspectRatio=Maintenir les proportions
|
||||
imageToPDF.selectText.2=Rotation automatique du PDF
|
||||
imageToPDF.selectText.3=Logique multi-fichiers (uniquement activée si vous travaillez avec plusieurs images)
|
||||
@@ -780,14 +828,14 @@ imageToPDF.selectText.5=Convertir en PDF séparés
|
||||
#pdfToImage
|
||||
pdfToImage.title=Image en PDF
|
||||
pdfToImage.header=Image en PDF
|
||||
pdfToImage.selectText=Format d\u2019image
|
||||
pdfToImage.selectText=Format d’image
|
||||
pdfToImage.singleOrMultiple=Type de résultat
|
||||
pdfToImage.single=Une seule grande image
|
||||
pdfToImage.multi=Plusieurs images
|
||||
pdfToImage.colorType=Type d\u2019impression
|
||||
pdfToImage.colorType=Type d’impression
|
||||
pdfToImage.color=Couleur
|
||||
pdfToImage.grey=Niveaux de gris
|
||||
pdfToImage.blackwhite=Noir et blanc (peut engendre une perde de données\u00a0!)
|
||||
pdfToImage.blackwhite=Noir et blanc (peut engendrer une perte de données !)
|
||||
pdfToImage.submit=Convertir
|
||||
|
||||
|
||||
@@ -795,21 +843,21 @@ pdfToImage.submit=Convertir
|
||||
addPassword.title=Ajouter un mot de passe
|
||||
addPassword.header=Ajouter un mot de passe
|
||||
addPassword.selectText.1=PDF à chiffrer
|
||||
addPassword.selectText.2=Mot de passe de l\u2019utilisateur
|
||||
addPassword.selectText.2=Mot de passe de l’utilisateur
|
||||
addPassword.selectText.3=Longueur de la clé de chiffrement
|
||||
addPassword.selectText.4=Les valeurs plus élevées sont plus fortes, mais les valeurs plus faibles ont une meilleure compatibilité.
|
||||
addPassword.selectText.5=Autorisations à définir (utilisation recommandée avec le mot de passe du propriétaire)
|
||||
addPassword.selectText.6=Empêcher l\u2019assemblage du document
|
||||
addPassword.selectText.7=Empêcher l\u2019extraction de contenu
|
||||
addPassword.selectText.8=Empêcher l\u2019extraction pour l\u2019accessibilité
|
||||
addPassword.selectText.6=Empêcher l’assemblage du document
|
||||
addPassword.selectText.7=Empêcher l’extraction de contenu
|
||||
addPassword.selectText.8=Empêcher l’extraction pour l’accessibilité
|
||||
addPassword.selectText.9=Empêcher de remplir les formulaires
|
||||
addPassword.selectText.10=Empêcher la modification
|
||||
addPassword.selectText.11=Empêcher la modification des annotations
|
||||
addPassword.selectText.12=Empêcher l\u2019impression
|
||||
addPassword.selectText.13=Empêcher l\u2019impression des différents formats
|
||||
addPassword.selectText.12=Empêcher l’impression
|
||||
addPassword.selectText.13=Empêcher l’impression des différents formats
|
||||
addPassword.selectText.14=Mot de passe du propriétaire
|
||||
addPassword.selectText.15=Restreint ce qui peut être fait avec le document une fois qu\u2019il est ouvert (non pris en charge par tous les lecteurs).
|
||||
addPassword.selectText.16=Restreint l\u2019ouverture du document lui-même.
|
||||
addPassword.selectText.15=Restreint ce qui peut être fait avec le document une fois qu’il est ouvert (non pris en charge par tous les lecteurs).
|
||||
addPassword.selectText.16=Restreint l’ouverture du document lui-même.
|
||||
addPassword.submit=Chiffrer
|
||||
|
||||
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacité (de 0% à 100%)
|
||||
watermark.selectText.8=Type de filigrane
|
||||
watermark.selectText.9=Image du filigrane
|
||||
watermark.submit=Ajouter un filigrane
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -834,14 +884,14 @@ permissions.header=Modifier les permissions
|
||||
permissions.warning=Attention, pour que ces permissions soient immuables il est recommandé de les paramétrer avec un mot de passe via la page Ajouter un mot de passe.
|
||||
permissions.selectText.1=Sélectionnez le PDF
|
||||
permissions.selectText.2=Permissions à définir
|
||||
permissions.selectText.3=Empêcher l\u2019assemblage du document
|
||||
permissions.selectText.4=Empêcher l\u2019extraction de contenu
|
||||
permissions.selectText.5=Empêcher l\u2019extraction pour l\u2019accessibilité
|
||||
permissions.selectText.3=Empêcher l’assemblage du document
|
||||
permissions.selectText.4=Empêcher l’extraction de contenu
|
||||
permissions.selectText.5=Empêcher l’extraction pour l’accessibilité
|
||||
permissions.selectText.6=Empêcher de remplir les formulaires
|
||||
permissions.selectText.7=Empêcher la modification
|
||||
permissions.selectText.8=Empêcher la modification des annotations
|
||||
permissions.selectText.9=Empêcher l\u2019impression
|
||||
permissions.selectText.10=Empêcher l\u2019impression des différents formats
|
||||
permissions.selectText.9=Empêcher l’impression
|
||||
permissions.selectText.10=Empêcher l’impression des différents formats
|
||||
permissions.submit=Modifier
|
||||
|
||||
|
||||
@@ -866,8 +916,7 @@ changeMetadata.keywords=Mots clés
|
||||
changeMetadata.modDate=Date de modification (yyyy/MM/dd HH:mm:ss)
|
||||
changeMetadata.producer=Producteur
|
||||
changeMetadata.subject=Sujet
|
||||
changeMetadata.title=Titre
|
||||
changeMetadata.trapped=Défoncé (technique d’impression)
|
||||
changeMetadata.trapped=Recouvrement (technique d’impression)
|
||||
changeMetadata.selectText.4=Autres métadonnées
|
||||
changeMetadata.selectText.5=Ajouter une entrée de métadonnées personnalisée
|
||||
changeMetadata.submit=Modifier
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF en PDF/A
|
||||
pdfToPDFA.header=PDF en PDF/A
|
||||
pdfToPDFA.credit=Ce service utilise OCRmyPDF pour la conversion en PDF/A.
|
||||
pdfToPDFA.submit=Convertir
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choisir la page pour en extraire le tableau
|
||||
PDFToCSV.submit=Extrait
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Séparer le PDF par taille ou par nombre
|
||||
split-by-size-or-count.header=Séparer le PDF par taille ou par nombre
|
||||
split-by-size-or-count.type.label=Sélectionner le type de division
|
||||
split-by-size-or-count.type.size=Par taille
|
||||
@@ -935,19 +986,19 @@ split-by-size-or-count.submit=Séparer
|
||||
|
||||
|
||||
#overlay-pdfs
|
||||
overlay-pdfs.header=Overlay PDF Files
|
||||
overlay-pdfs.header=Incrustation de PDF
|
||||
overlay-pdfs.baseFile.label=Sélectionner le fichier PDF de base
|
||||
overlay-pdfs.overlayFiles.label=Sélectionner les fichiers PDF à superposer
|
||||
overlay-pdfs.mode.label=Select Overlay Mode
|
||||
overlay-pdfs.mode.sequential=Sequential Overlay
|
||||
overlay-pdfs.mode.interleaved=Interleaved Overlay
|
||||
overlay-pdfs.mode.label=Sélectionner le mode d’incrustation
|
||||
overlay-pdfs.mode.sequential=Superposition séquentielle
|
||||
overlay-pdfs.mode.interleaved=Superposition entrelacée
|
||||
overlay-pdfs.mode.fixedRepeat=Superposition à répétition fixe
|
||||
overlay-pdfs.counts.label=Nombre de superpositions (pour le mode de répétition fixe)
|
||||
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1)
|
||||
overlay-pdfs.position.label=Select Overlay Position
|
||||
overlay-pdfs.counts.placeholder=Compteurs (séparés par des virgules, exemple : 2,3,1)
|
||||
overlay-pdfs.position.label=Définir la position de l’incrustation
|
||||
overlay-pdfs.position.foreground=Premier plan
|
||||
overlay-pdfs.position.background=Arrière-plan
|
||||
overlay-pdfs.submit=Submit
|
||||
overlay-pdfs.submit=Soumettre
|
||||
|
||||
|
||||
#split-by-sections
|
||||
@@ -958,14 +1009,14 @@ split-by-sections.vertical.label=Divisions verticales
|
||||
split-by-sections.horizontal.placeholder=Saisir le nombre de divisions horizontales
|
||||
split-by-sections.vertical.placeholder=Entrer le nombre de divisions verticales
|
||||
split-by-sections.submit=Diviser le PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
licenses.title=3rd Party Licenses
|
||||
licenses.header=3rd Party Licenses
|
||||
licenses.nav=Licences
|
||||
licenses.title=Licences tierces
|
||||
licenses.header=Licences tierces
|
||||
licenses.module=Module
|
||||
licenses.version=Version
|
||||
licenses.license=License
|
||||
licenses.license=Licence
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=छवियों का चयन करें
|
||||
genericSubmit=प्रस्तुत करें
|
||||
processTimeWarning=चेतावनी: यह प्रक्रिया फ़ाइल के आकार पर निर्भर करती है और यह से एक मिनट तक लग सकती है
|
||||
pageOrderPrompt=कस्टम पेज क्रम (पेज नंबरों या 2n+1 जैसे कार्यों की एक कॉमा से अलग-अलग सूची दर्ज करें):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=जाएँ
|
||||
true=सही
|
||||
false=गलत
|
||||
unknown=अज्ञात
|
||||
save=सहेजें
|
||||
saveToBrowser=Save to Browser
|
||||
close=बंद करें
|
||||
filesSelected=फ़ाइलें चयनित हैं
|
||||
noFavourites=कोई पसंदीदा जोड़ा नहीं गया है
|
||||
downloadComplete=Download Complete
|
||||
bored=बोर हो रहे हैं?
|
||||
alphabet=वर्णमाला
|
||||
downloadPdf=पीडीएफ़ डाउनलोड करें
|
||||
@@ -42,7 +45,7 @@ red=लाल
|
||||
green=हरा
|
||||
blue=नीला
|
||||
custom=कस्टम...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=उपयोगकर्ता प्रमाणित
|
||||
userNotFoundMessage=उपयोगकर्ता नहीं मिला।
|
||||
incorrectPasswordMessage=वर्तमान पासवर्ड गलत है।
|
||||
usernameExistsMessage=नया उपयोगकर्ता नाम पहले से मौजूद है।
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=खाता सेटिंग्स
|
||||
|
||||
changeCreds.title=क्रेडेंशियल बदलें
|
||||
changeCreds.header=अपना खाता विवरण अपडेट करें
|
||||
changeCreds.changeUserAndPassword=आप डिफ़ॉल्ट लॉगिन क्रेडेंशियल का उपयोग कर रहे हैं। कृपया एक नया पासवर्ड दर्ज करें (और यदि चाहें तो उपयोगकर्ता नाम)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=नया उपयोगकर्ता नाम
|
||||
changeCreds.oldPassword=वर्तमान पासवर्ड
|
||||
changeCreds.newPassword=नया पासवर्ड
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=खाता सेटिंग्स
|
||||
account.adminSettings=व्यवस्थापक सेटिंग्स - उपयोगकर्ताओं को देखें और जोड़ें
|
||||
account.userControlSettings=उपयोगकर्ता नियंत्रण सेटिंग्स
|
||||
account.changeUsername=उपयोगकर्ता नाम परिवर्तन करें
|
||||
account.changeUsername=उपयोगकर्ता नाम परिवर्तन करें
|
||||
account.newUsername=नया उपयोगकर्ता नाम
|
||||
account.password=पासवर्ड पुष्टि
|
||||
account.oldPassword=पुराना पासवर्ड
|
||||
account.newPassword=नया पासवर्ड
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=व्यवस्थापक उपयोगकर्
|
||||
adminUserSettings.admin=व्यवस्थापक
|
||||
adminUserSettings.user=उपयोगकर्ता
|
||||
adminUserSettings.addUser=नया उपयोगकर्ता जोड़ें
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=रोल्स
|
||||
adminUserSettings.role=रोल
|
||||
adminUserSettings.actions=क्रियाएँ
|
||||
adminUserSettings.apiUser=सीमित API उपयोगकर्ता
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=केवल वेब उपयोगकर्ता
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=उपयोगकर्ता को लॉगिन पर उपयोगकर्ता नाम/पासवर्ड बदलने के लिए मजबूर करें
|
||||
adminUserSettings.submit=उपयोगकर्ता को सहेजें
|
||||
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=एकल पृष्ठ
|
||||
|
||||
home.showJS.title=जावास्क्रिप्ट दिखाएं
|
||||
home.showJS.desc=पीडीएफ़ में डाला गया कोई भी जावास्क्रिप्ट खोजता है और प्रदर्शित करता है
|
||||
showJS.tags=गोपनीयकरण, छिपाना, काला करना, काला, मार्कर, छिपा हुआ
|
||||
showJS.tags=जे एस
|
||||
|
||||
home.autoRedact.title=स्वतः गोपनीयकरण
|
||||
home.autoRedact.desc=प्रविष्ट पाठ के आधार पर पीडीएफ़ में पाठ को स्वतः गोपनीयकरित(काला करें)
|
||||
showJS.tags=गोपनीयकरण, छिपाना, काला करना, काला, मार्कर, छिपा हुआ
|
||||
autoRedact.tags=गोपनीयकरण, छिपाना, काला करना, काला, मार्कर, छिपा हुआ
|
||||
|
||||
home.tableExtraxt.title=PDF से CSV में
|
||||
home.tableExtraxt.desc=CSV में बदलते हुए पीडीएफ़ से तालिकाएँ निकालता है
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=साइन इन करें
|
||||
login.header=साइन इन करें
|
||||
login.signin=साइन इन करें
|
||||
login.rememberme=मुझे याद रखें
|
||||
login.invalid=अमान्य उपयोगकर्ता नाम या पासवर्ड।
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=एकल पृष्ठ में परिवर्त
|
||||
pageExtracter.title=पृष्ठों को निकालें
|
||||
pageExtracter.header=पृष्ठों को निकालें
|
||||
pageExtracter.submit=निकालें
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=पीडीएफ़ को सफाई करें
|
||||
sanitizePDF.header=एक पीडीएफ़ फ़ाइल को सफाई करें
|
||||
@@ -621,6 +644,18 @@ compare.document.1=दस्तावेज़ 1
|
||||
compare.document.2=दस्तावेज़ 2
|
||||
compare.submit=तुलना करें
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=हस्ताक्षर
|
||||
@@ -724,11 +759,23 @@ merge.submit=मर्ज करें
|
||||
pdfOrganiser.title=पेज व्यवस्थापक
|
||||
pdfOrganiser.header=PDF पेज व्यवस्थापक
|
||||
pdfOrganiser.submit=पृष्ठों को पुनः व्यवस्थित करें
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=पीडीएफ मल्टी टूल
|
||||
multiTool.header=पीडीएफ मल्टी टूल
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=पीडीएफ देखें
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=पेज हटाने वाला
|
||||
pageRemover.header=पीडीएफ पेज हटाने वाला
|
||||
pageRemover.pagesToDelete=हटाने के पेज (पृष्ठ संख्याओं की व्यवस्था के लिए एक कॉमा से अलग संख्याओं की सूची दर्ज करें):
|
||||
pageRemover.submit=पेज हटाएं
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=अपारदर्शिता (0% - 100%):
|
||||
watermark.selectText.8=वॉटरमार्क प्रकार:
|
||||
watermark.selectText.9=वॉटरमार्क छवि:
|
||||
watermark.submit=वॉटरमार्क जोड़ें
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=कीवर्ड्स:
|
||||
changeMetadata.modDate=संशोधन तिथि (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=निर्माता:
|
||||
changeMetadata.subject=विषय:
|
||||
changeMetadata.title=शीर्षक:
|
||||
changeMetadata.trapped=फंसा हुआ:
|
||||
changeMetadata.selectText.4=अन्य मेटाडेटा:
|
||||
changeMetadata.selectText.5=कस्टम मेटाडेटा एंट्री जोड़ें
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF से PDF/A में
|
||||
pdfToPDFA.header=PDF से PDF/A में
|
||||
pdfToPDFA.credit=इस सेवा में PDF/A परिवर्तन के लिए OCRmyPDF का उपयोग किया जाता है।
|
||||
pdfToPDFA.submit=परिवर्तित करें
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=टेबल निकालने के लिए पृष्
|
||||
PDFToCSV.submit=निकालें
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=आकार या गणना द्वारा PDF को विभाजित करें
|
||||
split-by-size-or-count.header=आकार या गणना द्वारा PDF को विभाजित करें
|
||||
split-by-size-or-count.type.label=स्प्लिट प्रकार चुनें
|
||||
split-by-size-or-count.type.size=आकार द्वारा
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=लंबवत विभाजन
|
||||
split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें
|
||||
split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें
|
||||
split-by-sections.submit=PDF को विभाजित करें
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Válasszon képeket
|
||||
genericSubmit=Beküldés
|
||||
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):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Ugrás
|
||||
true=Igaz
|
||||
false=Hamis
|
||||
unknown=Ismeretlen
|
||||
save=Mentés
|
||||
saveToBrowser=Save to Browser
|
||||
close=Bezárás
|
||||
filesSelected=kiválasztott fájlok
|
||||
noFavourites=Nincs hozzáadva kedvenc
|
||||
downloadComplete=Download Complete
|
||||
bored=Unatkozol?
|
||||
alphabet=Ábécé
|
||||
downloadPdf=PDF letöltése
|
||||
@@ -42,7 +45,7 @@ red=Piros
|
||||
green=Zöld
|
||||
blue=Kék
|
||||
custom=Egyedi...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=Felhasználó nincs hitelesítve.
|
||||
userNotFoundMessage=A felhasználó nem található.
|
||||
incorrectPasswordMessage=A jelenlegi jelszó helytelen.
|
||||
usernameExistsMessage=Az új felhasználónév már létezik.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Fiókbeállítások
|
||||
|
||||
changeCreds.title=Hitelesítés megváltoztatása
|
||||
changeCreds.header=Frissítse fiókadatait
|
||||
changeCreds.changeUserAndPassword=Alapértelmezett bejelentkezési adatokat használ. Adjon meg egy új jelszót (és felhasználónevet, ha szeretné)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Új felhasználónév
|
||||
changeCreds.oldPassword=Jelenlegi jelszó
|
||||
changeCreds.newPassword=Új jelszó
|
||||
@@ -119,8 +127,8 @@ account.title=Fiókbeállítások
|
||||
account.accountSettings=Fiókbeállítások
|
||||
account.adminSettings=Admin Beállítások - Felhasználók megtekintése és hozzáadása
|
||||
account.userControlSettings=Felhasználói vezérlési beállítások
|
||||
account.changeUsername=Új felhasználónév
|
||||
account.changeUsername=Új felhasználónév
|
||||
account.changeUsername=Felhasználónév módosítása
|
||||
account.newUsername=Új felhasználónév
|
||||
account.password=Megerősítő jelszó
|
||||
account.oldPassword=Régi jelszó
|
||||
account.newPassword=Új jelszó
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Adminisztrátori Felhasználói Vezérlési Beállítá
|
||||
adminUserSettings.admin=Adminisztrátor
|
||||
adminUserSettings.user=Felhasználó
|
||||
adminUserSettings.addUser=Új felhasználó hozzáadása
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Szerepek
|
||||
adminUserSettings.role=Szerep
|
||||
adminUserSettings.actions=Műveletek
|
||||
adminUserSettings.apiUser=Korlátozott API-felhasználó
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Csak webes felhasználó
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
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.submit=Felhasználó mentése
|
||||
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=egyetlen lap
|
||||
|
||||
home.showJS.title=JavaScript megjelenítése
|
||||
home.showJS.desc=Keres és megjelenít bármilyen JS-t, amit beinjektáltak a PDF-be
|
||||
showJS.tags=Elrejt,Elrejtés,kitakarás,fekete,fekete,marker,elrejtett
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Automatikus Elrejtés
|
||||
home.autoRedact.desc=Automatikusan kitakar (elrejt) szöveget egy PDF-ben az input szöveg alapján
|
||||
showJS.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 to CSV
|
||||
home.tableExtraxt.desc=Táblázatok kinyerése a PDF-ből CSV formátumra konvertálva
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Bejelentkezés
|
||||
login.header=Bejelentkezés
|
||||
login.signin=Bejelentkezés
|
||||
login.rememberme=Emlékezz rám
|
||||
login.invalid=Érvénytelen felhasználónév vagy jelszó!
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Átalakítás egyetlen oldallá
|
||||
pageExtracter.title=Oldalak kinyerése
|
||||
pageExtracter.header=Oldalak kinyerése
|
||||
pageExtracter.submit=Kinyerés
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDF tisztítása
|
||||
sanitizePDF.header=PDF fájl megtisztítása
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokumentum 1
|
||||
compare.document.2=Dokumentum 2
|
||||
compare.submit=Összehasonlítás
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Aláírás
|
||||
@@ -724,11 +759,23 @@ merge.submit=Összevonás
|
||||
pdfOrganiser.title=Oldalszervező
|
||||
pdfOrganiser.header=PDF Oldalszervező
|
||||
pdfOrganiser.submit=Oldalak átrendezése
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF többfunkciós eszköz
|
||||
multiTool.header=PDF többfunkciós eszköz
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=PDF megtekintése
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=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.submit=Oldalak törlése
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Átlátszóság (0% - 100%):
|
||||
watermark.selectText.8=Vízjel típusa:
|
||||
watermark.selectText.9=Vízjel képe:
|
||||
watermark.submit=Vízjel hozzáadása
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Kulcsszavak:
|
||||
changeMetadata.modDate=Módosítás dátuma (éééé/hh/nn ÓÓ:PP:MM):
|
||||
changeMetadata.producer=Készítő:
|
||||
changeMetadata.subject=Tárgy:
|
||||
changeMetadata.title=Cím:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Egyéb metaadatok:
|
||||
changeMetadata.selectText.5=Egyedi metaadatbejegyzés hozzáadása
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF >> PDF/A
|
||||
pdfToPDFA.header=PDF >> PDF/A
|
||||
pdfToPDFA.credit=Ez a szolgáltatás az OCRmyPDF-t használja a PDF/A konverzióhoz
|
||||
pdfToPDFA.submit=Konvertálás
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Válassza ki az oldalt a táblázat kinyeréséhez
|
||||
PDFToCSV.submit=Kinyerés
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=PDF felosztása méret vagy oldalszám alapján
|
||||
split-by-size-or-count.header=PDF felosztása méret vagy oldalszám alapján
|
||||
split-by-size-or-count.type.label=Válassza ki a felosztás típusát
|
||||
split-by-size-or-count.type.size=Méret alapján
|
||||
@@ -958,7 +1009,7 @@ 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.vertical.placeholder=Adja meg a függőleges szakaszok számát
|
||||
split-by-sections.submit=Felosztás
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl=right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Pilih Gambar
|
||||
genericSubmit=Kirim
|
||||
processTimeWarning=Peringatan: Proses ini dapat memakan waktu hingga satu menit, tergantung pada ukuran berkas
|
||||
pageOrderPrompt=Urutan Halaman Khusus (Masukkan daftar nomor halaman yang dipisahkan dengan koma atau Fungsi seperti 2n + 1) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Ke
|
||||
true=Benar
|
||||
false=Salah
|
||||
unknown=Tidak diketahui
|
||||
save=Simpan
|
||||
saveToBrowser=Save to Browser
|
||||
close=Tutup
|
||||
filesSelected=berkas dipilih
|
||||
noFavourites=Tidak ada favorit yang ditambahkan
|
||||
downloadComplete=Download Complete
|
||||
bored=Bosan Menunggu?
|
||||
alphabet=Abjad
|
||||
downloadPdf=Unduh PDF
|
||||
@@ -42,7 +45,7 @@ red=Merah
|
||||
green=Hijau
|
||||
blue=Biru
|
||||
custom=Kustom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=Pengguna tidak ter-autentikasi.
|
||||
userNotFoundMessage=Pengguna tidak ditemukan.
|
||||
incorrectPasswordMessage=Kata sandi saat ini salah.
|
||||
usernameExistsMessage=Nama pengguna baru sudah ada.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Pengaturan Akun
|
||||
|
||||
changeCreds.title=Ubah Kredensial
|
||||
changeCreds.header=Perbarui Detail Akun Anda
|
||||
changeCreds.changeUserAndPassword=Anda menggunakan kredensial masuk default. Masukkan kata sandi baru (dan nama pengguna jika diinginkan)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Nama Pengguna Baru
|
||||
changeCreds.oldPassword=Kata Sandi Saat Ini
|
||||
changeCreds.newPassword=Kata Sandi Baru
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Pengaturan Akun
|
||||
account.adminSettings=Pengaturan Admin - Melihat dan Menambahkan Pengguna
|
||||
account.userControlSettings=Pengaturan Kontrol Pengguna
|
||||
account.changeUsername=Ubah Nama Pengguna
|
||||
account.changeUsername=Ubah Nama Pengguna
|
||||
account.newUsername=Nama pengguna baru
|
||||
account.password=Konfirmasi Kata sandi
|
||||
account.oldPassword=Kata sandi lama
|
||||
account.newPassword=Kata Sandi Baru
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Pengaturan Kontrol Admin
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=Pengguna
|
||||
adminUserSettings.addUser=Tambahkan Pengguna Baru
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Peran
|
||||
adminUserSettings.role=Peran
|
||||
adminUserSettings.actions=Tindakan
|
||||
adminUserSettings.apiUser=Pengguna API Terbatas
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Pengguna Khusus Web
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Memaksa pengguna untuk mengubah nama pengguna/kata sandi saat masuk
|
||||
adminUserSettings.submit=Simpan Pengguna
|
||||
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=halaman tunggal
|
||||
|
||||
home.showJS.title=Tampilkan Javascript
|
||||
home.showJS.desc=Mencari dan menampilkan JS apa pun yang disuntikkan ke dalam PDF
|
||||
showJS.tags=Hapus, Sembunyikan, padamkan, hitam, hitam, penanda, tersembunyi
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Redaksional Otomatis
|
||||
home.autoRedact.desc=Menyunting Otomatis (Menghitamkan) teks dalam PDF berdasarkan teks masukan
|
||||
showJS.tags=Hapus, Sembunyikan, padamkan, hitam, hitam, penanda, tersembunyi
|
||||
autoRedact.tags=Hapus, Sembunyikan, padamkan, hitam, hitam, penanda, tersembunyi
|
||||
|
||||
home.tableExtraxt.title=PDF ke CSV
|
||||
home.tableExtraxt.desc=Mengekstrak Tabel dari PDF yang mengonversinya menjadi CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Masuk
|
||||
login.header=Masuk
|
||||
login.signin=Masuk
|
||||
login.rememberme=Ingat saya
|
||||
login.invalid=Nama pengguna atau kata sandi tidak valid.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Konversi ke Halaman Tunggal
|
||||
pageExtracter.title=Ekstrak Halaman
|
||||
pageExtracter.header=Ekstrak Halaman
|
||||
pageExtracter.submit=Ekstrak
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Bersihkan PDF
|
||||
sanitizePDF.header=Membersihkan berkas PDF
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokumen 1
|
||||
compare.document.2=Dokumen 2
|
||||
compare.submit=Bandingkan
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Tanda
|
||||
@@ -724,11 +759,23 @@ merge.submit=Gabungkan
|
||||
pdfOrganiser.title=Pengaturan Halaman
|
||||
pdfOrganiser.header=Pengaturan Halaman PDF
|
||||
pdfOrganiser.submit=Susun ulang halaman
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Alat Multi PDF
|
||||
multiTool.header=Alat Multi PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=Lihat PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Penghapus Halaman
|
||||
pageRemover.header=Penghapus Halaman PDF
|
||||
pageRemover.pagesToDelete=Halaman yang akan dihapus (Masukkan daftar nomor halaman yang dipisahkan dengan koma) :
|
||||
pageRemover.submit=Hapus Halaman
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacity (0% - 100%):
|
||||
watermark.selectText.8=Tipe Watermark:
|
||||
watermark.selectText.9=Gambar Watermark:
|
||||
watermark.submit=Tambahkan Watermark
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Kata kunci:
|
||||
changeMetadata.modDate=Tangal Diupdate (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Produser:
|
||||
changeMetadata.subject=Subjek:
|
||||
changeMetadata.title=Judul:
|
||||
changeMetadata.trapped=Terperangkap:
|
||||
changeMetadata.selectText.4=Metadata Lain-lain:
|
||||
changeMetadata.selectText.5=Tambahkan Metadata Khusus
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF Ke PDF/A
|
||||
pdfToPDFA.header=PDF ke PDF/A
|
||||
pdfToPDFA.credit=Layanan ini menggunakan OCRmyPDF untuk konversi PDF/A.
|
||||
pdfToPDFA.submit=Konversi
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Pilih halaman untuk mengambil tabel
|
||||
PDFToCSV.submit=Ektraksi
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Pisahkan PDF berdasarkan ukuran atau jumlah
|
||||
split-by-size-or-count.header=Pisahkan PDF berdasarkan ukuran atau jumlah
|
||||
split-by-size-or-count.type.label=Pilih Tipe Split
|
||||
split-by-size-or-count.type.size=Berdasarkan Ukuran
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Pembagian Vertikal
|
||||
split-by-sections.horizontal.placeholder=Input angka untuk pembagian horizontal
|
||||
split-by-sections.vertical.placeholder=Input angka untuk pembagian vertikal
|
||||
split-by-sections.submit=Pisahkan PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Scegli immagine/i
|
||||
genericSubmit=Invia
|
||||
processTimeWarning=Nota: Questo processo potrebbe richiedere fino a un minuto in base alla dimensione dei file
|
||||
pageOrderPrompt=Ordine delle pagine (inserisci una lista di numeri separati da virgola):
|
||||
pageSelectionPrompt=Selezione pagina personalizzata (inserisci un elenco separato da virgole di numeri di pagina 1,5,6 o funzioni come 2n+1) :
|
||||
goToPage=Vai
|
||||
true=Vero
|
||||
false=Falso
|
||||
unknown=Sconosciuto
|
||||
save=Salva
|
||||
saveToBrowser=Salva nel browser
|
||||
close=Chiudi
|
||||
filesSelected=file selezionati
|
||||
noFavourites=Nessun preferito
|
||||
downloadComplete=Download completo
|
||||
bored=Stanco di aspettare?
|
||||
alphabet=Alfabeto
|
||||
downloadPdf=Scarica PDF
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=Utente non autenticato.
|
||||
userNotFoundMessage=Utente non trovato.
|
||||
incorrectPasswordMessage=La password attuale non è corretta.
|
||||
usernameExistsMessage=Il nuovo nome utente esiste già.
|
||||
invalidUsernameMessage=Nome utente non valido, il nome utente deve contenere solo caratteri alfabetici e numeri.
|
||||
deleteCurrentUserMessage=Impossibile eliminare l'utente attualmente connesso.
|
||||
deleteUsernameExistsMessage=Il nome utente non esiste e non può essere eliminato.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Menù pipeline (Beta)
|
||||
pipeline.uploadButton=Caricamento personalizzato
|
||||
pipeline.configureButton=Configura
|
||||
pipeline.defaultOption=Personalizzato
|
||||
pipeline.submitButton=Invia
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Impostazioni Account
|
||||
|
||||
changeCreds.title=Cambia credenziali
|
||||
changeCreds.header=Aggiorna i dettagli del tuo account
|
||||
changeCreds.changeUserAndPassword=Stai utilizzando le credenziali di accesso predefinite. Inserisci una nuova password (e un nome utente se lo desideri)
|
||||
changeCreds.changePassword=Stai utilizzando le credenziali di accesso predefinite. Inserisci una nuova password
|
||||
changeCreds.newUsername=Nuovo nome utente
|
||||
changeCreds.oldPassword=Password attuale
|
||||
changeCreds.newPassword=Nuova Password
|
||||
@@ -119,8 +127,8 @@ account.title=Impostazioni Account
|
||||
account.accountSettings=Impostazioni Account
|
||||
account.adminSettings=Impostazioni Admin - Aggiungi e Vedi Utenti
|
||||
account.userControlSettings=Impostazioni Utente
|
||||
account.changeUsername=Cambia Username
|
||||
account.changeUsername=Cambia Username
|
||||
account.changeUsername=Cambia nome utente
|
||||
account.newUsername=Nuovo nome utente
|
||||
account.password=Conferma Password
|
||||
account.oldPassword=Vecchia Password
|
||||
account.newPassword=Nuova Password
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Impostazioni di controllo utente amministratore
|
||||
adminUserSettings.admin=Amministratore
|
||||
adminUserSettings.user=Utente
|
||||
adminUserSettings.addUser=Aggiungi un nuovo Utente
|
||||
adminUserSettings.usernameInfo=Il nome utente deve contenere solo lettere e numeri, senza spazi o caratteri speciali.
|
||||
adminUserSettings.roles=Ruoli
|
||||
adminUserSettings.role=Ruolo
|
||||
adminUserSettings.actions=Azioni
|
||||
adminUserSettings.apiUser=Utente API limitato
|
||||
adminUserSettings.extraApiUser=API utente limitato aggiuntivo
|
||||
adminUserSettings.webOnlyUser=Utente solo Web
|
||||
adminUserSettings.demoUser=Utente demo (nessuna impostazione personalizzata)
|
||||
adminUserSettings.internalApiUser=API utente interna
|
||||
adminUserSettings.forceChange=Forza l'utente a cambiare nome username/password all'accesso
|
||||
adminUserSettings.submit=Salva utente
|
||||
|
||||
@@ -236,7 +247,7 @@ ocr.tags=riconoscimento,testo,immagine,scansione,lettura,identificazione,rilevam
|
||||
|
||||
home.extractImages.title=Estrai immagini
|
||||
home.extractImages.desc=Estrai tutte le immagini da un PDF e salvale come zip.
|
||||
extractImages.tags=immagine,photo,save,archive,zip,capture,grab
|
||||
extractImages.tags=immagine,foto,salva,archivio,zip,catturare,prendere
|
||||
|
||||
home.pdfToPDFA.title=Converti in PDF/A
|
||||
home.pdfToPDFA.desc=Converti un PDF nel formato PDF/A per archiviazione a lungo termine.
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Redazione automatica
|
||||
home.autoRedact.desc=Redige automaticamente (oscura) il testo in un PDF in base al testo immesso
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redigere,nascondere,oscurare,nero,pennarello,nascosto
|
||||
|
||||
home.tableExtraxt.title=Da PDF a CSV
|
||||
home.tableExtraxt.desc=Estrae tabelle da un PDF convertendolo in CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Aggiungi testo o aggiungi timbri immagine nelle posizi
|
||||
AddStampRequest.tags=Timbro, Aggiungi immagine, Centra immagine, Filigrana, PDF, Incorpora, Personalizza
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF in libro
|
||||
home.PDFToBook.desc=Converte PDF in formati libro/fumetto utilizzando Calibre
|
||||
PDFToBook.tags=Libro,fumetto,calibre,conversione,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Libro in PDF
|
||||
home.BookToPDF.desc=Converte i formati di libri/fumetti in PDF utilizzando Calibre
|
||||
BookToPDF.tags=Libro,fumetto,calibre,conversione,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Timbro, Aggiungi immagine, Centra immagine, Filigrana, PDF,
|
||||
###########################
|
||||
#login
|
||||
login.title=Accedi
|
||||
login.header=Accedi
|
||||
login.signin=Accedi
|
||||
login.rememberme=Ricordami
|
||||
login.invalid=Nome utente o password errati.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Converti in pagina singola
|
||||
pageExtracter.title=Estrai pagine
|
||||
pageExtracter.header=Estrai pagine
|
||||
pageExtracter.submit=Estrai
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Margine personalizzato
|
||||
AddStampRequest.customColor=Colore testo personalizzato
|
||||
AddStampRequest.submit=Invia
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Pulire PDF
|
||||
sanitizePDF.header=Pulisci un file PDF
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Documento 1
|
||||
compare.document.2=Documento 2
|
||||
compare.submit=Compara
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Libri e fumetti in PDF
|
||||
BookToPDF.header=Libro in PDF
|
||||
BookToPDF.credit=Utilizza Calibre
|
||||
BookToPDF.submit=Converti
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF in libro
|
||||
PDFToBook.header=PDF in libro
|
||||
PDFToBook.selectText.1=Formato
|
||||
PDFToBook.credit=Utilizzo Calibre
|
||||
PDFToBook.submit=Converti
|
||||
|
||||
#sign
|
||||
sign.title=Firma
|
||||
@@ -724,11 +759,23 @@ merge.submit=Unisci
|
||||
pdfOrganiser.title=Organizza pagine
|
||||
pdfOrganiser.header=Organizza le pagine di un PDF
|
||||
pdfOrganiser.submit=Riordina pagine
|
||||
pdfOrganiser.mode=Modalità
|
||||
pdfOrganiser.mode.1=Ordine delle pagine personalizzato
|
||||
pdfOrganiser.mode.2=Ordine inverso
|
||||
pdfOrganiser.mode.3=Ordinamento fronte-retro
|
||||
pdfOrganiser.mode.4=Ordinamento a libretto
|
||||
pdfOrganiser.mode.5=Ordinamento libretto con cucitura laterale
|
||||
pdfOrganiser.mode.6=Divisione pari-dispari
|
||||
pdfOrganiser.mode.7=Rimuovi prima
|
||||
pdfOrganiser.mode.8=Rimuovi ultima
|
||||
pdfOrganiser.mode.9=Rimuovi la prima e l'ultima
|
||||
pdfOrganiser.placeholder=(ad es. 1,3,2 o 4-8,2,10-12 o 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Multifunzione PDF
|
||||
multiTool.header=Multifunzione PDF
|
||||
multiTool.uploadPrompts=Caricare il PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=Visualizza PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Rimuovi pagine
|
||||
pageRemover.header=Rimuovi pagine da un PDF
|
||||
pageRemover.pagesToDelete=Pagine da eliminare (inserisci una lista di numeri separati da virgola):
|
||||
pageRemover.submit=Rimuovi pagine
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacità (0% - 100%):
|
||||
watermark.selectText.8=Tipo di filigrana:
|
||||
watermark.selectText.9=Immagine filigrana:
|
||||
watermark.submit=Aggiungi Filigrana
|
||||
watermark.type.1=Testo
|
||||
watermark.type.2=Immagine
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,11 +916,10 @@ changeMetadata.keywords=Parole chiave:
|
||||
changeMetadata.modDate=Data di modifica (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Produttore:
|
||||
changeMetadata.subject=Oggetto:
|
||||
changeMetadata.title=Titolo:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.trapped=Recuperato:
|
||||
changeMetadata.selectText.4=Altre proprietà:
|
||||
changeMetadata.selectText.5=Aggiungi proprietà personalizzata:
|
||||
changeMetadata.submit=Cambia Proprietà
|
||||
changeMetadata.submit=Cambia proprietà
|
||||
|
||||
|
||||
#pdfToPDFA
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=Da PDF a PDF/A
|
||||
pdfToPDFA.header=Da PDF a PDF/A
|
||||
pdfToPDFA.credit=Questo servizio utilizza OCRmyPDF per la conversione in PDF/A.
|
||||
pdfToPDFA.submit=Converti
|
||||
pdfToPDFA.tip=Attualmente non funziona per più input contemporaneamente
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Scegli la pagina per estrarre la tabella
|
||||
PDFToCSV.submit=Estrai
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Dividi il PDF per dimensione o numero
|
||||
split-by-size-or-count.header=Dividi il PDF per dimensione o numero
|
||||
split-by-size-or-count.type.label=Seleziona il tipo di divisione
|
||||
split-by-size-or-count.type.size=Per dimensione
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Divisioni verticali
|
||||
split-by-sections.horizontal.placeholder=Inserire il numero di divisioni orizzontali
|
||||
split-by-sections.vertical.placeholder=Inserire il numero di divisioni verticali
|
||||
split-by-sections.submit=Dividi PDF
|
||||
|
||||
split-by-sections.merge=Unisci in un unico PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenze
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,16 +11,19 @@ imgPrompt=画像を選択
|
||||
genericSubmit=送信
|
||||
processTimeWarning=警告:この処理はファイルサイズによって1分程度かかることがあります
|
||||
pageOrderPrompt=ページ順序 (ページ番号をカンマ区切り又は2n+1のような関数で入力):
|
||||
pageSelectionPrompt=カスタムページ選択(ページ番号1、5、6または2n + 1などの関数のコンマ区切りリストを入力します):
|
||||
goToPage=移動
|
||||
true=True
|
||||
false=False
|
||||
true=真
|
||||
false=偽
|
||||
unknown=不明
|
||||
save=保存
|
||||
saveToBrowser=ブラウザへ保存
|
||||
close=閉じる
|
||||
filesSelected=選択されたファイル
|
||||
noFavourites=お気に入りはありません
|
||||
downloadComplete=ダウンロード完了
|
||||
bored=待ち時間が退屈
|
||||
alphabet=\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8
|
||||
alphabet=アルファベット
|
||||
downloadPdf=PDFをダウンロード
|
||||
text=テキスト
|
||||
font=フォント
|
||||
@@ -42,25 +45,30 @@ red=赤
|
||||
green=緑
|
||||
blue=青
|
||||
custom=カスタム...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=作業中です。動作しないまたはバグがある可能性があります。問題があれば報告してください!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
yes=はい
|
||||
no=いいえ
|
||||
changedCredsMessage=資格情報が変更されました!
|
||||
notAuthenticatedMessage=ユーザーが認証されていません。
|
||||
userNotFoundMessage=ユーザーが見つかりません。
|
||||
incorrectPasswordMessage=現在のパスワードが正しくありません。
|
||||
usernameExistsMessage=新しいユーザー名はすでに存在します。
|
||||
invalidUsernameMessage=ユーザー名が無効です。ユーザー名にはアルファベットと数字のみを使用してください。
|
||||
deleteCurrentUserMessage=現在ログインしているユーザーは削除できません。
|
||||
deleteUsernameExistsMessage=そのユーザー名は存在しないため削除できません。
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=パイプラインメニュー (Alpha)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.uploadButton=カスタムのアップロード
|
||||
pipeline.configureButton=設定
|
||||
pipeline.defaultOption=カスタム
|
||||
pipeline.submitButton=送信
|
||||
pipeline.help=パイプラインのヘルプ
|
||||
pipeline.scanHelp=フォルダ スキャンのヘルプ
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -69,7 +77,7 @@ pipelineOptions.header=パイプライン設定
|
||||
pipelineOptions.pipelineNameLabel=パイプライン名
|
||||
pipelineOptions.saveSettings=動作設定の保存
|
||||
pipelineOptions.pipelineNamePrompt=ここにパイプライン名を入力
|
||||
pipelineOptions.selectOperation=Select Operation
|
||||
pipelineOptions.selectOperation=動作の選択
|
||||
pipelineOptions.addOperationButton=動作の追加
|
||||
pipelineOptions.pipelineHeader=パイプライン:
|
||||
pipelineOptions.saveButton=ダウンロード
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=アカウント設定
|
||||
|
||||
changeCreds.title=資格情報の変更
|
||||
changeCreds.header=アカウントの詳細を更新する
|
||||
changeCreds.changeUserAndPassword=デフォルトのログイン認証情報を使用しています。新しいパスワード (必要に応じてユーザー名も) を入力してください
|
||||
changeCreds.changePassword=デフォルトのログイン認証情報を使用しています。新しいパスワードを入力してください
|
||||
changeCreds.newUsername=新しいユーザー名
|
||||
changeCreds.oldPassword=現在のパスワード
|
||||
changeCreds.newPassword=新しいパスワード
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=アカウント設定
|
||||
account.adminSettings=管理者設定 - ユーザーの表示と追加
|
||||
account.userControlSettings=ユーザー制御設定
|
||||
account.changeUsername=ユーザー名を変更
|
||||
account.changeUsername=ユーザー名を変更
|
||||
account.newUsername=新しいユーザーネーム
|
||||
account.password=確認用パスワード
|
||||
account.oldPassword=旧パスワード
|
||||
account.newPassword=新パスワード
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=管理者ユーザー制御設定
|
||||
adminUserSettings.admin=管理者
|
||||
adminUserSettings.user=ユーザー
|
||||
adminUserSettings.addUser=新しいユーザを追加
|
||||
adminUserSettings.usernameInfo=ユーザー名には文字と数字のみが使用でき、スペースや特殊文字は使用できません。
|
||||
adminUserSettings.roles=役割
|
||||
adminUserSettings.role=役割
|
||||
adminUserSettings.actions=アクション
|
||||
adminUserSettings.apiUser=限定されたAPIユーザー
|
||||
adminUserSettings.extraApiUser=追加の制限付きAPIユーザー
|
||||
adminUserSettings.webOnlyUser=ウェブ専用ユーザー
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.demoUser=デモユーザー (カスタム設定なし)
|
||||
adminUserSettings.internalApiUser=内部APIユーザー
|
||||
adminUserSettings.forceChange=ログイン時にユーザー名/パスワードを強制的に変更する
|
||||
adminUserSettings.submit=ユーザーの保存
|
||||
|
||||
@@ -157,7 +168,7 @@ home.desc=PDFのあらゆるニーズに対応するローカルホスティン
|
||||
home.searchBar=機能検索...
|
||||
|
||||
|
||||
home.viewPdf.title=View PDF
|
||||
home.viewPdf.title=PDFを表示
|
||||
home.viewPdf.desc=表示、注釈、テキストや画像の追加
|
||||
viewPdf.tags=view,read,annotate,text,image
|
||||
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=自動塗りつぶし
|
||||
home.autoRedact.desc=入力したテキストに基づいてPDF内のテキストを自動で塗りつぶし(黒塗り)します。
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDFをCSVに変換
|
||||
home.tableExtraxt.desc=PDFから表を抽出しCSVに変換します。
|
||||
@@ -386,11 +397,20 @@ home.split-by-sections.title=PDFをセクションで分割
|
||||
home.split-by-sections.desc=PDFの各ページを縦横に分割します。
|
||||
split-by-sections.tags=Section Split, Divide, Customize
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
home.AddStampRequest.title=PDFにスタンプを追加
|
||||
home.AddStampRequest.desc=設定した位置にテキストや画像のスタンプを追加できます
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDFを書籍に変換
|
||||
home.PDFToBook.desc=calibreを使用してPDFを書籍/コミック形式に変換します
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=PDFを書籍に変換
|
||||
home.BookToPDF.desc=calibreを使用してPDFを書籍/コミック形式に変換します
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=サインイン
|
||||
login.header=サインイン
|
||||
login.signin=サインイン
|
||||
login.rememberme=サインイン状態を記憶する
|
||||
login.invalid=ユーザー名かパスワードが無効です。
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=単一ページに変換
|
||||
pageExtracter.title=ページの抽出
|
||||
pageExtracter.header=ページの抽出
|
||||
pageExtracter.submit=抽出
|
||||
pageExtracter.placeholder=(例:1,2,8、4,7,12-16、2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -466,37 +488,38 @@ HTMLToPDF.header=HTMLをPDFに変換
|
||||
HTMLToPDF.help=HTMLファイルと必要なhtml/css/画像などを含むZIPを受け入れます
|
||||
HTMLToPDF.submit=変換
|
||||
HTMLToPDF.credit=WeasyPrintを使用
|
||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.printBackground=Render the background of websites.
|
||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||
HTMLToPDF.none=None
|
||||
HTMLToPDF.print=Print
|
||||
HTMLToPDF.screen=Screen
|
||||
HTMLToPDF.zoom=Webサイトを表示するためのズームレベル。
|
||||
HTMLToPDF.pageWidth=ページ幅 (cm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.pageHeight=ページ高さ (cm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.marginTop=ページ上の余白 (mm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.marginBottom=ページ下の余白 (mm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.marginLeft=ページ左の余白 (mm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.marginRight=ページ右の余白 (mm)。 (デフォルトでは空白)
|
||||
HTMLToPDF.printBackground=Webサイトの背景をレンダリングします。
|
||||
HTMLToPDF.defaultHeader=デフォルトのヘッダー (名前とページ番号) を有効にする
|
||||
HTMLToPDF.cssMediaType=ページのCSSメディアタイプを変更します。
|
||||
HTMLToPDF.none=なし
|
||||
HTMLToPDF.print=印刷
|
||||
HTMLToPDF.screen=画面
|
||||
|
||||
|
||||
#AddStampRequest
|
||||
AddStampRequest.header=Stamp PDF
|
||||
AddStampRequest.title=Stamp PDF
|
||||
AddStampRequest.stampType=Stamp Type
|
||||
AddStampRequest.stampText=Stamp Text
|
||||
AddStampRequest.stampImage=Stamp Image
|
||||
AddStampRequest.alphabet=Alphabet
|
||||
AddStampRequest.fontSize=Font/Image Size
|
||||
AddStampRequest.rotation=Rotation
|
||||
AddStampRequest.opacity=Opacity
|
||||
AddStampRequest.position=Position
|
||||
AddStampRequest.overrideX=Override X Coordinate
|
||||
AddStampRequest.overrideY=Override Y Coordinate
|
||||
AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
AddStampRequest.header=PDFにスタンプを押す
|
||||
AddStampRequest.title=PDFにスタンプを押す
|
||||
AddStampRequest.stampType=スタンプの種類
|
||||
AddStampRequest.stampText=スタンプする文章
|
||||
AddStampRequest.stampImage=スタンプする画像
|
||||
AddStampRequest.alphabet=文字
|
||||
AddStampRequest.fontSize=フォント/画像 サイズ
|
||||
AddStampRequest.rotation=回転
|
||||
AddStampRequest.opacity=不透明度
|
||||
AddStampRequest.position=位置
|
||||
AddStampRequest.overrideX=X座標のオーバーライド
|
||||
AddStampRequest.overrideY=Y座標のオーバーライド
|
||||
AddStampRequest.customMargin=余白のカスタム
|
||||
AddStampRequest.customColor=文字色のカスタム
|
||||
AddStampRequest.submit=送信
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDFをサニタイズ
|
||||
@@ -520,7 +543,7 @@ addPageNumbers.selectText.5=番号をつけるページ
|
||||
addPageNumbers.selectText.6=カスタムテキスト
|
||||
addPageNumbers.customTextDesc=カスタムテキスト
|
||||
addPageNumbers.numberPagesDesc=番号をつけるページ、デフォルトは'all'、 1-5 や 2,5,9 など
|
||||
addPageNumbers.customNumberDesc=デフォルトは{n}、'{n} / {total} ページ'、'テキスト-{n}'、'{filename}-{n}など
|
||||
addPageNumbers.customNumberDesc=デフォルトは{n}、'{n} / {total} ページ'、'テキスト-{n}'、'{filename}-{n}など'
|
||||
addPageNumbers.submit=ページ番号の追加
|
||||
|
||||
|
||||
@@ -568,7 +591,7 @@ pipeline.title=パイプライン
|
||||
pageLayout.title=マルチページレイアウト
|
||||
pageLayout.header=マルチページレイアウト
|
||||
pageLayout.pagesPerSheet=1枚あたりのページ数:
|
||||
pageLayout.addBorder=Add Borders
|
||||
pageLayout.addBorder=境界線を追加
|
||||
pageLayout.submit=送信
|
||||
|
||||
|
||||
@@ -584,11 +607,11 @@ scalePages.submit=送信
|
||||
certSign.title=証明書による署名
|
||||
certSign.header=証明書を使用してPDFに署名します。 (制作中)
|
||||
certSign.selectPDF=署名するPDFファイルを選択:
|
||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
||||
certSign.jksNote=注: 証明書のタイプが以下にリストされていない場合は、keytoolコマンドラインツールを使用して証明書をJavaキーストア(.jks)ファイルに変換してください。次に以下の.jksファイル オプションを選択します。
|
||||
certSign.selectKey=秘密キーファイルを選択 (PKCS#8形式、.pemまたは.der) :
|
||||
certSign.selectCert=証明書ファイルを選択 (X.509形式、.pemまたは.der) :
|
||||
certSign.selectP12=PKCS#12キーストアファイルを選択 (.p12または.pfx) (オプション。指定する場合は秘密キーと証明書が含まれている必要があります。):
|
||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||
certSign.selectJKS=Javaキーストアファイルを選択 (.jks or .keystore):
|
||||
certSign.certType=証明書の種類
|
||||
certSign.password=キーストアまたは秘密キーのパスワードを入力 (ある場合) :
|
||||
certSign.showSig=署名を表示
|
||||
@@ -611,7 +634,7 @@ removeBlanks.submit=空白ページの削除
|
||||
#removeAnnotations
|
||||
removeAnnotations.title=注釈の削除
|
||||
removeAnnotations.header=注釈の削除
|
||||
removeAnnotations.submit=Remove
|
||||
removeAnnotations.submit=削除
|
||||
|
||||
|
||||
#compare
|
||||
@@ -621,6 +644,18 @@ compare.document.1=ドキュメント 1
|
||||
compare.document.2=ドキュメント 2
|
||||
compare.submit=比較
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=書籍やコミックをPDFに変換
|
||||
BookToPDF.header=書籍をPDFに変換
|
||||
BookToPDF.credit=calibreを使用
|
||||
BookToPDF.submit=変換
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=書籍をPDFに変換
|
||||
PDFToBook.header=書籍をPDFに変換
|
||||
PDFToBook.selectText.1=フォーマット
|
||||
PDFToBook.credit=calibreを使用
|
||||
PDFToBook.submit=変換
|
||||
|
||||
#sign
|
||||
sign.title=署名
|
||||
@@ -724,21 +759,34 @@ merge.submit=結合
|
||||
pdfOrganiser.title=整理
|
||||
pdfOrganiser.header=PDFページの整理
|
||||
pdfOrganiser.submit=ページの整理
|
||||
pdfOrganiser.mode=モード
|
||||
pdfOrganiser.mode.1=カスタムページ順序
|
||||
pdfOrganiser.mode.2=逆順
|
||||
pdfOrganiser.mode.3=デュプレックスソート
|
||||
pdfOrganiser.mode.4=小冊子ソート
|
||||
pdfOrganiser.mode.5=サイドステッチ小冊子ソート
|
||||
pdfOrganiser.mode.6=奇数-偶数分割
|
||||
pdfOrganiser.mode.7=最初に削除
|
||||
pdfOrganiser.mode.8=最後を削除
|
||||
pdfOrganiser.mode.9=最初と最後を削除
|
||||
pdfOrganiser.placeholder=(例:1,3,2または4-8,2,10-12または2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDFマルチツール
|
||||
multiTool.header=PDFマルチツール
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
viewPdf.header=View PDF
|
||||
viewPdf.title=PDFを表示
|
||||
viewPdf.header=PDFを表示
|
||||
|
||||
#pageRemover
|
||||
pageRemover.title=ページ削除
|
||||
pageRemover.header=PDFページ削除
|
||||
pageRemover.pagesToDelete=削除するページ (ページ番号のカンマ区切りリストを入力してください):
|
||||
pageRemover.submit=ページ削除
|
||||
pageRemover.placeholder=(例:1,2,6または1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -823,9 +871,11 @@ watermark.selectText.4=回転 (0-360):
|
||||
watermark.selectText.5=幅スペース (各透かし間の水平方向のスペース):
|
||||
watermark.selectText.6=高さスペース (各透かし間の垂直方向のスペース):
|
||||
watermark.selectText.7=不透明度 (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.selectText.8=透かしの種類:
|
||||
watermark.selectText.9=透かしの画像:
|
||||
watermark.submit=透かしを追加
|
||||
watermark.type.1=テキスト
|
||||
watermark.type.2=画像
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=キーワード:
|
||||
changeMetadata.modDate=変更日 (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=プロデューサー:
|
||||
changeMetadata.subject=主題:
|
||||
changeMetadata.title=タイトル:
|
||||
changeMetadata.trapped=トラッピング:
|
||||
changeMetadata.selectText.4=その他のメタデータ:
|
||||
changeMetadata.selectText.5=カスタムメタデータの追加
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDFをPDF/Aに変換
|
||||
pdfToPDFA.header=PDFをPDF/Aに変換
|
||||
pdfToPDFA.credit=本サービスはPDF/Aの変換にOCRmyPDFを使用しています。
|
||||
pdfToPDFA.submit=変換
|
||||
pdfToPDFA.tip=現在、一度に複数の入力に対して機能しません
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=表を抽出するページを選択
|
||||
PDFToCSV.submit=変換
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=サイズまたは数で分割
|
||||
split-by-size-or-count.header=サイズまたは数で分割
|
||||
split-by-size-or-count.type.label=分割タイプの選択
|
||||
split-by-size-or-count.type.size=サイズ
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=垂直方向
|
||||
split-by-sections.horizontal.placeholder=水平方向の分割数を選択
|
||||
split-by-sections.vertical.placeholder=垂直方向の分割数を選択
|
||||
split-by-sections.submit=分割
|
||||
|
||||
split-by-sections.merge=1 つの PDF に結合するかどうか
|
||||
|
||||
#licenses
|
||||
licenses.nav=ライセンス
|
||||
@@ -968,3 +1019,4 @@ licenses.module=モジュール
|
||||
licenses.version=バージョン
|
||||
licenses.license=ライセンス
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,69 +11,77 @@ imgPrompt=이미지 선택
|
||||
genericSubmit=확인
|
||||
processTimeWarning=경고: 파일 크기에 따라 1분 정도 소요될 수 있습니다
|
||||
pageOrderPrompt=페이지 순서(쉼표로 구분된 페이지 번호 목록 입력):
|
||||
pageSelectionPrompt=사용자 지정 페이지 선택(페이지 번호 1,5,6 또는 2n+1과 같은 기능을 쉼표로 구분하여 목록 입력):
|
||||
goToPage=이동
|
||||
true=참
|
||||
false=거짓
|
||||
unknown=알 수 없음
|
||||
save=저장
|
||||
saveToBrowser=브라우저에 저장
|
||||
close=닫기
|
||||
filesSelected=개 파일 선택됨
|
||||
noFavourites=즐겨찾기 없음
|
||||
downloadComplete=다운로드 완료
|
||||
bored=기다리는 게 지루하신가요?
|
||||
alphabet=\uC54C\uD30C\uBCB3
|
||||
alphabet=알파벳
|
||||
downloadPdf=PDF 다운로드
|
||||
text=텍스트
|
||||
font=폰트
|
||||
selectFillter=-- 선택 --
|
||||
pageNum=페이지 번호
|
||||
sizes.small=Small
|
||||
sizes.medium=Medium
|
||||
sizes.large=Large
|
||||
sizes.x-large=X-Large
|
||||
sizes.small=작은 크기
|
||||
sizes.medium=중간 사이즈
|
||||
sizes.large=큰 사이즈
|
||||
sizes.x-large=초대형 사이즈
|
||||
error.pdfPassword=이 PDF는 비밀번호로 보호되어 있으며, 비밀번호를 입력하지 않았거나, 입력된 비밀번호가 올바르지 않습니다.
|
||||
delete=삭제
|
||||
username=사용자명
|
||||
password=비밀번호
|
||||
welcome=환영합니다.
|
||||
property=Property
|
||||
black=Black
|
||||
white=White
|
||||
red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
property=재산
|
||||
black=검정
|
||||
white=하얀
|
||||
red=빨강
|
||||
green=녹색
|
||||
blue=파랑
|
||||
custom=관습...
|
||||
WorkInProgess=작업 진행 중, 작동하지 않거나 버그가 있을 수 있음, 문제가 있으면 보고하십시오!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
yes=예
|
||||
no=아니요
|
||||
changedCredsMessage=계정 정보 변경 성공!
|
||||
notAuthenticatedMessage=User not authenticated.
|
||||
notAuthenticatedMessage=사용자가 인증되지 않았습니다.
|
||||
userNotFoundMessage=사용자를 찾을 수 없습니다.
|
||||
incorrectPasswordMessage=현재 비밀번호가 틀립니다.
|
||||
usernameExistsMessage=새 사용자명이 이미 존재합니다.
|
||||
invalidUsernameMessage=사용자 이름이 잘못되었습니다. 사용자 이름에는 알파벳 문자와 숫자만 포함되어야 합니다.
|
||||
deleteCurrentUserMessage=현재 로그인한 사용자를 삭제할 수 없습니다.
|
||||
deleteUsernameExistsMessage=사용자 이름이 존재하지 않으며 삭제할 수 없습니다.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.header=파이프라인 메뉴 (Beta)
|
||||
pipeline.uploadButton=사용자 지정 업로드
|
||||
pipeline.configureButton=구성
|
||||
pipeline.defaultOption=관습
|
||||
pipeline.submitButton=전송
|
||||
pipeline.help=파이프라인 도움말
|
||||
pipeline.scanHelp=폴더 스캔 도움말
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Pipeline Configuration
|
||||
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||
pipelineOptions.saveSettings=Save Operation Settings
|
||||
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||
pipelineOptions.selectOperation=Select Operation
|
||||
pipelineOptions.addOperationButton=Add operation
|
||||
pipelineOptions.pipelineHeader=Pipeline:
|
||||
pipelineOptions.saveButton=Download
|
||||
pipelineOptions.validateButton=Validate
|
||||
pipelineOptions.header=파이프라인 구성
|
||||
pipelineOptions.pipelineNameLabel=파이프라인 이름
|
||||
pipelineOptions.saveSettings=작업 설정 저장
|
||||
pipelineOptions.pipelineNamePrompt=여기에 파이프라인 이름을 입력합니다.
|
||||
pipelineOptions.selectOperation=작업 선택
|
||||
pipelineOptions.addOperationButton=작업 추가
|
||||
pipelineOptions.pipelineHeader=파이프라인:
|
||||
pipelineOptions.saveButton=다운로드
|
||||
pipelineOptions.validateButton=확인
|
||||
|
||||
|
||||
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=계정 설정
|
||||
|
||||
changeCreds.title=계정 정보 변경
|
||||
changeCreds.header=계정 정보 업데이트
|
||||
changeCreds.changeUserAndPassword=기본 제공된 로그인 정보를 사용하고 있습니다. 새 비밀번호를 입력합니다. (필요하다면 사용자명을 변경할 수 있습니다.)
|
||||
changeCreds.changePassword=기본 로그인 자격 증명을 사용하고 있습니다. 새 비밀번호를 입력해 주세요.
|
||||
changeCreds.newUsername=새 사용자명
|
||||
changeCreds.oldPassword=현재 비밀번호
|
||||
changeCreds.newPassword=새 비밀번호
|
||||
@@ -118,20 +126,20 @@ changeCreds.submit=변경
|
||||
account.title=계정 설정
|
||||
account.accountSettings=계정 설정
|
||||
account.adminSettings=관리자 설정 - 사용자 추가 및 확인
|
||||
account.userControlSettings=User Control Settings
|
||||
account.userControlSettings=사용자 컨트롤 설정
|
||||
account.changeUsername=사용자명 변경
|
||||
account.changeUsername=사용자명 변경
|
||||
account.password=Confirmation Password
|
||||
account.newUsername=새 사용자 이름
|
||||
account.password=확인 비밀번호
|
||||
account.oldPassword=이전 비밀번호
|
||||
account.newPassword=새 비밀번호
|
||||
account.changePassword=비밀번호 변경
|
||||
account.confirmNewPassword=새 비밀번호 확인
|
||||
account.signOut=로그아웃
|
||||
account.yourApiKey=API 키
|
||||
account.syncTitle=Sync browser settings with Account
|
||||
account.settingsCompare=Settings Comparison:
|
||||
account.property=Property
|
||||
account.webBrowserSettings=Web Browser Setting
|
||||
account.syncTitle=브라우저 설정을 계정과 동기화
|
||||
account.settingsCompare=설정 비교:
|
||||
account.property=재산
|
||||
account.webBrowserSettings=웹 브라우저 설정
|
||||
account.syncToBrowser=계정 -> 브라우저로 동기화
|
||||
account.syncToAccount=브라우저 -> 계정으로 동기화
|
||||
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=사용자 관리
|
||||
adminUserSettings.admin=관리자
|
||||
adminUserSettings.user=사용자
|
||||
adminUserSettings.addUser=새 사용자 추가
|
||||
adminUserSettings.usernameInfo=사용자 이름은 문자와 숫자만 포함해야 하며 공백이나 특수 문자는 포함할 수 없습니다.
|
||||
adminUserSettings.roles=역할
|
||||
adminUserSettings.role=역할
|
||||
adminUserSettings.actions=동작
|
||||
adminUserSettings.apiUser=제한된 API 사용
|
||||
adminUserSettings.extraApiUser=제한된 API 사용자 추가
|
||||
adminUserSettings.webOnlyUser=웹 사용만 허용
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.demoUser=데모 사용자(사용자 지정 설정 없음)
|
||||
adminUserSettings.internalApiUser=내부 API 사용자
|
||||
adminUserSettings.forceChange=다음 로그인 때 사용자명과 비밀번호를 변경하도록 강제
|
||||
adminUserSettings.submit=사용자 저장
|
||||
|
||||
@@ -178,11 +189,11 @@ home.rotate.desc=PDF 페이지를 회전합니다.
|
||||
rotate.tags=server side
|
||||
|
||||
|
||||
home.imageToPdf.title=Image to PDF
|
||||
home.imageToPdf.title=이미지를 PDF로
|
||||
home.imageToPdf.desc=이미지(PNG, JPEG, GIF)를 PDF 문서로 변환합니다.
|
||||
imageToPdf.tags=conversion,img,jpg,picture,photo
|
||||
|
||||
home.pdfToImage.title=PDF to Image
|
||||
home.pdfToImage.title=PDF를 이미지로
|
||||
home.pdfToImage.desc=PDF 문서을 이미지(PNG, JPEG, GIF)로 변환합니다.
|
||||
pdfToImage.tags=conversion,img,jpg,picture,photo
|
||||
|
||||
@@ -238,15 +249,15 @@ home.extractImages.title=이미지 추출
|
||||
home.extractImages.desc=PDF에서 모든 이미지를 추출하여 zip으로 저장합니다.
|
||||
extractImages.tags=picture,photo,save,archive,zip,capture,grab
|
||||
|
||||
home.pdfToPDFA.title=PDF to PDF/A
|
||||
home.pdfToPDFA.title=PDF를 PDF/A로 변환
|
||||
home.pdfToPDFA.desc=장기 보관을 위해 PDF 문서를 PDF/A 문서로 변환합니다.
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation
|
||||
|
||||
home.PDFToWord.title=PDF to Word
|
||||
home.PDFToWord.title=PDF를 Word로
|
||||
home.PDFToWord.desc=PDF 문서를 Word 형식으로 변환합니다. (DOC, DOCX, ODT)
|
||||
PDFToWord.tags=doc,docx,odt,word,transformation,format,conversion,office,microsoft,docfile
|
||||
|
||||
home.PDFToPresentation.title=PDF to Presentation
|
||||
home.PDFToPresentation.title=PDF를 프리젠테이션으로
|
||||
home.PDFToPresentation.desc=PDF 문서를 프리젠테이션 형식으로 변환합니다. (PPT, PPTX, ODP)
|
||||
PDFToPresentation.tags=slides,show,office,microsoft
|
||||
|
||||
@@ -254,12 +265,12 @@ home.PDFToText.title=PDF to 텍스트/RTF
|
||||
home.PDFToText.desc=PDF 문서를 텍스트 또는 RTF 형식으로 변환합니다.
|
||||
PDFToText.tags=richformat,richtextformat,rich text format
|
||||
|
||||
home.PDFToHTML.title=PDF to HTML
|
||||
home.PDFToHTML.title=PDF를 HTML로
|
||||
home.PDFToHTML.desc=PDF 문서를 HTML 형식으로 변환합니다.
|
||||
PDFToHTML.tags=web content,browser friendly
|
||||
|
||||
|
||||
home.PDFToXML.title=PDF to XML
|
||||
home.PDFToXML.title=PDF를 XML로 변환
|
||||
home.PDFToXML.desc=PDF 문서를 XML 형식으로 변환합니다.
|
||||
PDFToXML.tags=data-extraction,structured-content,interop,transformation,convert
|
||||
|
||||
@@ -283,8 +294,8 @@ home.removeBlanks.title=빈 페이지 제거
|
||||
home.removeBlanks.desc=PDF 문서에서 빈 페이지를 감지하고 제거합니다.
|
||||
removeBlanks.tags=cleanup,streamline,non-content,organize
|
||||
|
||||
home.removeAnnotations.title=Remove Annotations
|
||||
home.removeAnnotations.desc=Removes all comments/annotations from a PDF
|
||||
home.removeAnnotations.title=주석 제거
|
||||
home.removeAnnotations.desc=PDF에서 모든 주석/주석을 제거합니다.
|
||||
removeAnnotations.tags=comments,highlight,notes,markup,remove
|
||||
|
||||
home.compare.title=비교
|
||||
@@ -331,16 +342,16 @@ home.sanitizePdf.title=정제
|
||||
home.sanitizePdf.desc=PDF 문서에서 스크립트와 같은 요소들을 제거합니다.
|
||||
sanitizePdf.tags=clean,secure,safe,remove-threats
|
||||
|
||||
home.URLToPDF.title=URL/Website To PDF
|
||||
home.URLToPDF.title=URL/웹사이트를 PDF로
|
||||
home.URLToPDF.desc=http(s) 웹사이트를 PDF 문서로 변환합니다.
|
||||
URLToPDF.tags=web-capture,save-page,web-to-doc,archive
|
||||
|
||||
home.HTMLToPDF.title=HTML to PDF
|
||||
home.HTMLToPDF.title=HTML에서 PDF로
|
||||
home.HTMLToPDF.desc=HTML 파일, 또는 ZIP 파일을 PDF로 변환합니다.
|
||||
HTMLToPDF.tags=markup,web-content,transformation,convert
|
||||
|
||||
|
||||
home.MarkdownToPDF.title=Markdown to PDF
|
||||
home.MarkdownToPDF.title=Markdown에서 PDF로
|
||||
home.MarkdownToPDF.desc=마크다운 파일을 PDF 문서로 변환합니다.
|
||||
MarkdownToPDF.tags=markup,web-content,transformation,convert
|
||||
|
||||
@@ -366,31 +377,40 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=자동 검열
|
||||
home.autoRedact.desc=PDF 문서에서 입력된 텍스트들을 자동으로 검열(모자이크)합니다.
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
home.tableExtraxt.title=PDF에서 CSV로
|
||||
home.tableExtraxt.desc=PDF에서 표를 추출하여 CSV로 변환
|
||||
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||
|
||||
|
||||
home.autoSizeSplitPDF.title=Auto Split by Size/Count
|
||||
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count
|
||||
home.autoSizeSplitPDF.title=크기/개수로 자동 분할
|
||||
home.autoSizeSplitPDF.desc=단일 PDF를 크기, 페이지 수 또는 문서 수에 따라 여러 문서로 분할
|
||||
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||
|
||||
|
||||
home.overlay-pdfs.title=Overlay PDFs
|
||||
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF
|
||||
home.overlay-pdfs.title=PDF 오버레이
|
||||
home.overlay-pdfs.desc=PDF를 다른 PDF 위에 오버레이
|
||||
overlay-pdfs.tags=Overlay
|
||||
|
||||
home.split-by-sections.title=Split PDF by Sections
|
||||
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections
|
||||
home.split-by-sections.title=섹션별로 PDF 분할
|
||||
home.split-by-sections.desc=PDF의 각 페이지를 더 작은 가로와 세로 구역으로 나눕니다
|
||||
split-by-sections.tags=Section Split, Divide, Customize
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
home.AddStampRequest.title=PDF에 스탬프 추가
|
||||
home.AddStampRequest.desc=설정된 위치에 텍스트 추가 또는 이미지 스탬프 추가
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF를 책으로
|
||||
home.PDFToBook.desc=구경을 사용하여 PDF를 책/만화 형식으로 변환
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=책을 PDF로
|
||||
home.BookToPDF.desc=구경을 사용하여 책/만화 형식을 PDF로 변환
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=로그인
|
||||
login.header=로그인
|
||||
login.signin=로그인
|
||||
login.rememberme=로그인 유지
|
||||
login.invalid=사용자 이름이나 비밀번호가 틀립니다.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=단일 페이지로 통합
|
||||
pageExtracter.title=페이지 추출
|
||||
pageExtracter.header=페이지 추출
|
||||
pageExtracter.submit=추출
|
||||
pageExtracter.placeholder=(예: 1,2,8 또는 4,7,12-16 또는 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -445,7 +467,7 @@ getPdfInfo.downloadJson=JSON으로 다운로드
|
||||
|
||||
|
||||
#markdown-to-pdf
|
||||
MarkdownToPDF.title=Markdown To PDF
|
||||
MarkdownToPDF.title=Markdown에서 PDF로
|
||||
MarkdownToPDF.header=Markdown 문서를 PDF 문서로 변환
|
||||
MarkdownToPDF.submit=변환
|
||||
MarkdownToPDF.help=변환중
|
||||
@@ -454,49 +476,50 @@ MarkdownToPDF.credit=이 기능은 WeasyPrint를 사용합니다.
|
||||
|
||||
|
||||
#url-to-pdf
|
||||
URLToPDF.title=URL To PDF
|
||||
URLToPDF.title=URL을 PDF로
|
||||
URLToPDF.header=URL을 PDF 문서로 변환
|
||||
URLToPDF.submit=변환
|
||||
URLToPDF.credit=이 기능은 WeasyPrint를 사용합니다.
|
||||
|
||||
|
||||
#html-to-pdf
|
||||
HTMLToPDF.title=HTML To PDF
|
||||
HTMLToPDF.title=HTML을 PDF로
|
||||
HTMLToPDF.header=HTML 파일을 PDF 문서로 변환
|
||||
HTMLToPDF.help=HTML 파일, 또는 html/css/이미지 등을 포함한 ZIP 파일을 받습니다.
|
||||
HTMLToPDF.submit=변환
|
||||
HTMLToPDF.credit=이 기능은 WeasyPrint를 사용합니다.
|
||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.printBackground=Render the background of websites.
|
||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||
HTMLToPDF.none=None
|
||||
HTMLToPDF.print=Print
|
||||
HTMLToPDF.screen=Screen
|
||||
HTMLToPDF.zoom=웹 사이트를 표시하기 위한 확대/축소 수준입니다.
|
||||
HTMLToPDF.pageWidth=센티미터 단위의 페이지 너비입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.pageHeight=페이지 높이(센티미터)입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.marginTop=페이지의 위쪽 여백(밀리미터)입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.marginBottom=페이지의 아래쪽 여백(밀리미터)입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.marginLeft=페이지의 왼쪽 여백(밀리미터)입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.marginRight=페이지의 오른쪽 여백(밀리미터)입니다. (기본값은 비어 있음)
|
||||
HTMLToPDF.printBackground=웹 사이트의 배경을 렌더링합니다.
|
||||
HTMLToPDF.defaultHeader=기본 헤더 활성화(이름 및 페이지 번호)
|
||||
HTMLToPDF.cssMediaType=페이지의 CSS 미디어 유형을 변경합니다.
|
||||
HTMLToPDF.none=없음
|
||||
HTMLToPDF.print=인쇄하다
|
||||
HTMLToPDF.screen=화면
|
||||
|
||||
|
||||
#AddStampRequest
|
||||
AddStampRequest.header=Stamp PDF
|
||||
AddStampRequest.title=Stamp PDF
|
||||
AddStampRequest.stampType=Stamp Type
|
||||
AddStampRequest.stampText=Stamp Text
|
||||
AddStampRequest.stampImage=Stamp Image
|
||||
AddStampRequest.alphabet=Alphabet
|
||||
AddStampRequest.fontSize=Font/Image Size
|
||||
AddStampRequest.rotation=Rotation
|
||||
AddStampRequest.opacity=Opacity
|
||||
AddStampRequest.position=Position
|
||||
AddStampRequest.overrideX=Override X Coordinate
|
||||
AddStampRequest.overrideY=Override Y Coordinate
|
||||
AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
AddStampRequest.header=스탬프 PDF
|
||||
AddStampRequest.title=스탬프 PDF
|
||||
AddStampRequest.stampType=스탬프 유형
|
||||
AddStampRequest.stampText=스탬프 텍스트
|
||||
AddStampRequest.stampImage=스탬프 이미지
|
||||
AddStampRequest.alphabet=알파벳
|
||||
AddStampRequest.fontSize=글꼴/이미지 크기
|
||||
AddStampRequest.rotation=회전
|
||||
AddStampRequest.opacity=불투명도
|
||||
AddStampRequest.position=위치
|
||||
AddStampRequest.overrideX=X 좌표 재정의
|
||||
AddStampRequest.overrideY=Y 좌표 재정의
|
||||
AddStampRequest.customMargin=맞춤 마진
|
||||
AddStampRequest.customColor=사용자 정의 텍스트 색상
|
||||
AddStampRequest.submit=전송
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDF 정제
|
||||
@@ -584,11 +607,11 @@ scalePages.submit=제출
|
||||
certSign.title=인증서로 서명
|
||||
certSign.header=인증서로 PDF 문서에 서명 (개발 중)
|
||||
certSign.selectPDF=서명할 PDF 문서를 선택합니다:
|
||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
||||
certSign.jksNote=참고: 인증서 유형이 아래에 나열되지 않은 경우 keytool 명령줄 도구를 사용하여 Java 키 저장소(.jks) 파일로 변환하십시오. 그런 다음 아래의 .jks 파일 옵션을 선택합니다.
|
||||
certSign.selectKey=개인 키 파일을 선택합니다 (PKCS#8 형식, .pem 또는 .der):
|
||||
certSign.selectCert=인증서 파일을 선택합니다 (X.509 형식, .pem 또는 .der):
|
||||
certSign.selectP12=PKCS#12 키 저장소 파일을 선택합니다 (.p12 or .pfx) (선택 사항, 선택할 경우, 개인 키와 인증서를 포함하고 있어야 합니다):
|
||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||
certSign.selectJKS=Java 키 저장소 파일(.jks 또는 .keystore)을 선택합니다.
|
||||
certSign.certType=인증서 유형
|
||||
certSign.password=키 저장소 또는 개인 키 비밀번호를 입력합니다 (있는 경우):
|
||||
certSign.showSig=서명 보기
|
||||
@@ -609,9 +632,9 @@ removeBlanks.submit=빈 페이지 제거
|
||||
|
||||
|
||||
#removeAnnotations
|
||||
removeAnnotations.title=Remove Annotations
|
||||
removeAnnotations.header=Remove Annotations
|
||||
removeAnnotations.submit=Remove
|
||||
removeAnnotations.title=주석 제거
|
||||
removeAnnotations.header=주석 제거
|
||||
removeAnnotations.submit=제거하다
|
||||
|
||||
|
||||
#compare
|
||||
@@ -621,6 +644,18 @@ compare.document.1=문서 1
|
||||
compare.document.2=문서 2
|
||||
compare.submit=비교
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=책과 만화를 PDF로
|
||||
BookToPDF.header=책을 PDF로
|
||||
BookToPDF.credit=이 서비스는 파일 변환을 위해 Calibre 사용합니다.
|
||||
BookToPDF.submit=변환
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF를 책으로
|
||||
PDFToBook.header=PDF를 책으로
|
||||
PDFToBook.selectText.1=판
|
||||
PDFToBook.credit=이 서비스는 파일 변환을 위해 Calibre 사용합니다.
|
||||
PDFToBook.submit=변환
|
||||
|
||||
#sign
|
||||
sign.title=서명
|
||||
@@ -715,8 +750,8 @@ addImage.submit=이미지 추가
|
||||
#merge
|
||||
merge.title=병합
|
||||
merge.header=여러 개의 PDF 병합 (2개 이상)
|
||||
merge.sortByName=Sort by name
|
||||
merge.sortByDate=Sort by date
|
||||
merge.sortByName=이름순 정렬
|
||||
merge.sortByDate=날짜순 정렬
|
||||
merge.submit=병합
|
||||
|
||||
|
||||
@@ -724,11 +759,23 @@ merge.submit=병합
|
||||
pdfOrganiser.title=페이지 정렬
|
||||
pdfOrganiser.header=PDF 페이지 정렬
|
||||
pdfOrganiser.submit=페이지 재정렬
|
||||
pdfOrganiser.mode=모드
|
||||
pdfOrganiser.mode.1=사용자 지정 페이지 순서
|
||||
pdfOrganiser.mode.2=역순
|
||||
pdfOrganiser.mode.3=양면 정렬(Duplex Sort)
|
||||
pdfOrganiser.mode.4=소책자 정렬
|
||||
pdfOrganiser.mode.5=사이드 스티치 소책자 정렬
|
||||
pdfOrganiser.mode.6=홀수-짝수 분할
|
||||
pdfOrganiser.mode.7=첫 번째 항목 삭제
|
||||
pdfOrganiser.mode.8=마지막 항목 제거
|
||||
pdfOrganiser.mode.9=첫 번째와 마지막 제거
|
||||
pdfOrganiser.placeholder=(예: 1,3,2 또는 4-8,2,10-12 또는 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF 멀티툴
|
||||
multiTool.header=PDF 멀티툴
|
||||
multiTool.uploadPrompts=PDF를 업로드하십시오
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=PDF 뷰어
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=페이지 제거
|
||||
pageRemover.header=PDF 페이지 제거
|
||||
pageRemover.pagesToDelete=제거할 페이지 (쉼표로 구분된 페이지 번호 입력):
|
||||
pageRemover.submit=페이지 제거
|
||||
pageRemover.placeholder=(예: 1,2,6 또는 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -764,7 +812,7 @@ split.submit=분할
|
||||
|
||||
|
||||
#merge
|
||||
imageToPDF.title=Image to PDF
|
||||
imageToPDF.title=이미지를 PDF로
|
||||
imageToPDF.header=이미지를 PDF로 변환
|
||||
imageToPDF.submit=변환
|
||||
imageToPDF.selectLabel=이미지 맞춤 방법
|
||||
@@ -778,7 +826,7 @@ imageToPDF.selectText.5=별도의 PDF로 변환
|
||||
|
||||
|
||||
#pdfToImage
|
||||
pdfToImage.title=PDF to Image
|
||||
pdfToImage.title=PDF를 이미지로
|
||||
pdfToImage.header=PDF 문서를 이미지로 변환
|
||||
pdfToImage.selectText=이미지 형식
|
||||
pdfToImage.singleOrMultiple=이미지 결과 유형
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=투명도 (0% - 100%):
|
||||
watermark.selectText.8=워터마크 유형:
|
||||
watermark.selectText.9=워터마크 이미지:
|
||||
watermark.submit=워터마크 추가
|
||||
watermark.type.1=텍스트
|
||||
watermark.type.2=이미지
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=키워드:
|
||||
changeMetadata.modDate=수정일 (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=생성자:
|
||||
changeMetadata.subject=주제:
|
||||
changeMetadata.title=제목:
|
||||
changeMetadata.trapped=잠긴 상태:
|
||||
changeMetadata.selectText.4=기타 메타데이터:
|
||||
changeMetadata.selectText.5=사용자 정의 메타데이터 항목 추가
|
||||
@@ -874,14 +923,15 @@ changeMetadata.submit=변경
|
||||
|
||||
|
||||
#pdfToPDFA
|
||||
pdfToPDFA.title=PDF To PDF/A
|
||||
pdfToPDFA.title=PDF를 PDF/A로
|
||||
pdfToPDFA.header=PDF 문서를 PDF/A로 변환
|
||||
pdfToPDFA.credit=이 서비스는 PDF/A 변환을 위해 OCRmyPDF 문서를 사용합니다.
|
||||
pdfToPDFA.submit=변환
|
||||
pdfToPDFA.tip=현재 한 번에 여러 입력에 대해 작동하지 않습니다.
|
||||
|
||||
|
||||
#PDFToWord
|
||||
PDFToWord.title=PDF to Word
|
||||
PDFToWord.title=PDF를 Word로
|
||||
PDFToWord.header=PDF 문서를 Word 문서로 변환
|
||||
PDFToWord.selectText.1=출력 파일 형식
|
||||
PDFToWord.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다.
|
||||
@@ -889,7 +939,7 @@ PDFToWord.submit=변환
|
||||
|
||||
|
||||
#PDFToPresentation
|
||||
PDFToPresentation.title=PDF to Presentation
|
||||
PDFToPresentation.title=PDF를 프리젠테이션으로
|
||||
PDFToPresentation.header=PDF 문서를 프레젠테이션으로 변환
|
||||
PDFToPresentation.selectText.1=출력 파일 형식
|
||||
PDFToPresentation.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다.
|
||||
@@ -897,7 +947,7 @@ PDFToPresentation.submit=변환
|
||||
|
||||
|
||||
#PDFToText
|
||||
PDFToText.title=PDF to RTF
|
||||
PDFToText.title=PDF에서 RTF로
|
||||
PDFToText.header=PDF 문서를 RTF(서식 있는 텍스트 문서)로 변환
|
||||
PDFToText.selectText.1=출력 파일 형식
|
||||
PDFToText.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다.
|
||||
@@ -905,67 +955,68 @@ PDFToText.submit=변환
|
||||
|
||||
|
||||
#PDFToHTML
|
||||
PDFToHTML.title=PDF to HTML
|
||||
PDFToHTML.title=PDF를 HTML로
|
||||
PDFToHTML.header=PDF 문서를 HTML로 변환
|
||||
PDFToHTML.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다.
|
||||
PDFToHTML.submit=변환
|
||||
|
||||
|
||||
#PDFToXML
|
||||
PDFToXML.title=PDF to XML
|
||||
PDFToXML.title=PDF를 XML로 변환
|
||||
PDFToXML.header=PDF 문서를 XML로 변환
|
||||
PDFToXML.credit=이 서비스는 파일 변환을 위해 LibreOffice를 사용합니다.
|
||||
PDFToXML.submit=변환
|
||||
|
||||
#PDFToCSV
|
||||
PDFToCSV.title=PDF? CSV?
|
||||
PDFToCSV.header=PDF? CSV?
|
||||
PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=??
|
||||
PDFToCSV.title=PDF에서 CSV로
|
||||
PDFToCSV.header=PDF에서 CSV로
|
||||
PDFToCSV.prompt=테이블을 추출할 페이지 선택
|
||||
PDFToCSV.submit=추출물
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
split-by-size-or-count.type.pageCount=By Page Count
|
||||
split-by-size-or-count.type.docCount=By Document Count
|
||||
split-by-size-or-count.value.label=Enter Value
|
||||
split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5)
|
||||
split-by-size-or-count.submit=Submit
|
||||
split-by-size-or-count.title=크기 또는 개수로 PDF 분할
|
||||
split-by-size-or-count.header=크기 또는 개수로 PDF 분할
|
||||
split-by-size-or-count.type.label=분할 유형 선택
|
||||
split-by-size-or-count.type.size=크기별
|
||||
split-by-size-or-count.type.pageCount=페이지 수별
|
||||
split-by-size-or-count.type.docCount=문서 수 기준
|
||||
split-by-size-or-count.value.label=값 입력
|
||||
split-by-size-or-count.value.placeholder=크기(예: 2MB 또는 3KB) 또는 개수(예: 5)를 입력합니다.
|
||||
split-by-size-or-count.submit=전송
|
||||
|
||||
|
||||
#overlay-pdfs
|
||||
overlay-pdfs.header=Overlay PDF Files
|
||||
overlay-pdfs.baseFile.label=Select Base PDF File
|
||||
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files
|
||||
overlay-pdfs.mode.label=Select Overlay Mode
|
||||
overlay-pdfs.mode.sequential=Sequential Overlay
|
||||
overlay-pdfs.mode.interleaved=Interleaved Overlay
|
||||
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay
|
||||
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode)
|
||||
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1)
|
||||
overlay-pdfs.position.label=Select Overlay Position
|
||||
overlay-pdfs.position.foreground=Foreground
|
||||
overlay-pdfs.position.background=Background
|
||||
overlay-pdfs.submit=Submit
|
||||
overlay-pdfs.header=PDF 파일 오버레이
|
||||
overlay-pdfs.baseFile.label=기본 PDF 파일 선택
|
||||
overlay-pdfs.overlayFiles.label=오버레이 PDF 파일 선택
|
||||
overlay-pdfs.mode.label=오버레이 모드 선택
|
||||
overlay-pdfs.mode.sequential=순차 오버레이
|
||||
overlay-pdfs.mode.interleaved=인터리브 오버레이
|
||||
overlay-pdfs.mode.fixedRepeat=고정 반복 오버레이
|
||||
overlay-pdfs.counts.label=오버레이 카운트(고정 반복 모드의 경우)
|
||||
overlay-pdfs.counts.placeholder=쉼표로 구분된 개수를 입력합니다(예: 2,3,1).
|
||||
overlay-pdfs.position.label=오버레이 위치 선택
|
||||
overlay-pdfs.position.foreground=전경
|
||||
overlay-pdfs.position.background=배경
|
||||
overlay-pdfs.submit=전송
|
||||
|
||||
|
||||
#split-by-sections
|
||||
split-by-sections.title=Split PDF by Sections
|
||||
split-by-sections.header=Split PDF into Sections
|
||||
split-by-sections.horizontal.label=Horizontal Divisions
|
||||
split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.title=섹션별로 PDF 분할
|
||||
split-by-sections.header=PDF를 섹션으로 분할
|
||||
split-by-sections.horizontal.label=수평 분할
|
||||
split-by-sections.vertical.label=수직 분할
|
||||
split-by-sections.horizontal.placeholder=수평 분할 수를 입력합니다
|
||||
split-by-sections.vertical.placeholder=수직 분할 수를 입력합니다
|
||||
split-by-sections.submit=PDF 분할
|
||||
split-by-sections.merge=하나의 PDF로 병합
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
licenses.title=3rd Party Licenses
|
||||
licenses.header=3rd Party Licenses
|
||||
licenses.module=Module
|
||||
licenses.version=Version
|
||||
licenses.license=License
|
||||
licenses.nav=라이센스
|
||||
licenses.title=제3자 라이선스
|
||||
licenses.header=제3자 라이선스
|
||||
licenses.module=모듈
|
||||
licenses.version=버전
|
||||
licenses.license=라이센스
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Selecteer afbeelding(en)
|
||||
genericSubmit=Indienen
|
||||
processTimeWarning=Waarschuwing: Dit proces kan tot een minuut duren afhankelijk van de bestandsgrootte
|
||||
pageOrderPrompt=Aangepaste pagina volgorde (Voer een komma-gescheiden lijst van paginanummers of functies in, zoals 2n+1) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Ga
|
||||
true=Waar
|
||||
false=Onwaar
|
||||
unknown=Onbekend
|
||||
save=Opslaan
|
||||
saveToBrowser=Save to Browser
|
||||
close=Sluiten
|
||||
filesSelected=Bestanden geselecteerd
|
||||
noFavourites=Geen favorieten toegevoegd
|
||||
downloadComplete=Download Complete
|
||||
bored=Verveeld met wachten?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Download PDF
|
||||
@@ -51,6 +54,9 @@ notAuthenticatedMessage=Gebruiker niet ingelogd.
|
||||
userNotFoundMessage=Gebruiker niet gevonden.
|
||||
incorrectPasswordMessage=Huidige wachtwoord is onjuist.
|
||||
usernameExistsMessage=Nieuwe gebruikersnaam bestaat al.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
@@ -61,6 +67,8 @@ pipeline.uploadButton=Aangepast uploaden
|
||||
pipeline.configureButton=Configureren
|
||||
pipeline.defaultOption=Aangepast
|
||||
pipeline.submitButton=Opslaan
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account instellingen
|
||||
|
||||
changeCreds.title=Inloggegevens wijzigen
|
||||
changeCreds.header=Werk je accountgegevens bij
|
||||
changeCreds.changeUserAndPassword=Je gebruikt de standaard inloggegevens. Voer een nieuw wachtwoord in (en eventueel een gebruikersnaam)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Nieuwe gebruikersnaam
|
||||
changeCreds.oldPassword=Huidige wachtwoord
|
||||
changeCreds.newPassword=Nieuw wachtwoord
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account instellingen
|
||||
account.adminSettings=Beheerdersinstellingen - Gebruikers bekijken en toevoegen
|
||||
account.userControlSettings=Gebruikerscontrole instellingen
|
||||
account.changeUsername=Wijzig gebruikersnaam
|
||||
account.changeUsername=Wijzig gebruikersnaam
|
||||
account.newUsername=Nieuwe gebruikersnaam
|
||||
account.password=Bevestigingswachtwoord
|
||||
account.oldPassword=Oud wachtwoord
|
||||
account.newPassword=Nieuw wachtwoord
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Beheer gebruikers
|
||||
adminUserSettings.admin=Beheerder
|
||||
adminUserSettings.user=Gebruiker
|
||||
adminUserSettings.addUser=Voeg nieuwe gebruiker toe
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Rollen
|
||||
adminUserSettings.role=Rol
|
||||
adminUserSettings.actions=Acties
|
||||
adminUserSettings.apiUser=Beperkte API gebruiker
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Alleen web gebruiker
|
||||
adminUserSettings.demoUser=Demogebruiker (geen aangepaste instellingen)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Forceer gebruiker om gebruikersnaam/wachtwoord te wijzigen bij inloggen
|
||||
adminUserSettings.submit=Gebruiker opslaan
|
||||
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Automatisch censureren
|
||||
home.autoRedact.desc=Automatisch censureren (onherkenbaar maken) van tekst in een PDF op basis van ingevoerde tekst
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF naar CSV
|
||||
home.tableExtraxt.desc=Haalt tabellen uit een PDF en converteert ze naar CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Voeg tekst of afbeeldingsstempels toe op vaste locatie
|
||||
AddStampRequest.tags=Stempel, Afbeelding toevoegen, afbeelding centreren, watermerk, PDF, Insluiten, Aanpassen
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stempel, Afbeelding toevoegen, afbeelding centreren, waterm
|
||||
###########################
|
||||
#login
|
||||
login.title=Inloggen
|
||||
login.header=Inloggen
|
||||
login.signin=Inloggen
|
||||
login.rememberme=Onthoud mij
|
||||
login.invalid=Ongeldige gebruikersnaam of wachtwoord.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Converteren naar enkele pagina
|
||||
pageExtracter.title=Pagina's extraheren
|
||||
pageExtracter.header=Pagina's extraheren
|
||||
pageExtracter.submit=Extraheren
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Aangepaste marge
|
||||
AddStampRequest.customColor=Aangepaste tekstkleur
|
||||
AddStampRequest.submit=Indienen
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=PDF opschonen
|
||||
sanitizePDF.header=Een PDF-bestand opschonen
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Vergelijken
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Ondertekenen
|
||||
@@ -724,11 +759,23 @@ merge.submit=Samenvoegen
|
||||
pdfOrganiser.title=Pagina organisator
|
||||
pdfOrganiser.header=PDF pagina organisator
|
||||
pdfOrganiser.submit=Pagina's herschikken
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Multitool
|
||||
multiTool.header=PDF Multitool
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=PDF bekijken
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Pagina verwijderaar
|
||||
pageRemover.header=PDF pagina verwijderaar
|
||||
pageRemover.pagesToDelete=Te verwijderen pagina's (Voer een door komma's gescheiden lijst met paginanummers in):
|
||||
pageRemover.submit=Pagina's verwijderen
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Transparantie (0% - 100%):
|
||||
watermark.selectText.8=Type watermerk:
|
||||
watermark.selectText.9=Watermerk afbeelding:
|
||||
watermark.submit=Watermerk toevoegen
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Trefwoorden:
|
||||
changeMetadata.modDate=Wijzigingsdatum (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producent:
|
||||
changeMetadata.subject=Onderwerp:
|
||||
changeMetadata.title=Titel:
|
||||
changeMetadata.trapped=Vastgezet:
|
||||
changeMetadata.selectText.4=Overige metadata:
|
||||
changeMetadata.selectText.5=Voeg aangepaste metadata-invoer toe
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF naar PDF/A
|
||||
pdfToPDFA.header=PDF naar PDF/A
|
||||
pdfToPDFA.credit=Deze service gebruikt OCRmyPDF voor PDF/A-conversie
|
||||
pdfToPDFA.submit=Converteren
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Kies pagina om tabel te extraheren
|
||||
PDFToCSV.submit=Extraheren
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=PDF splitsen op grootte of aantal
|
||||
split-by-size-or-count.header=PDF splitsen op grootte of aantal
|
||||
split-by-size-or-count.type.label=Selecteer splits type
|
||||
split-by-size-or-count.type.size=Op grootte
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Verticale secties
|
||||
split-by-sections.horizontal.placeholder=Voer het aantal horizontale secties in
|
||||
split-by-sections.vertical.placeholder=Voer het aantal verticale secties in
|
||||
split-by-sections.submit=PDF splitsen
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenties
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Wybierz obraz(y)
|
||||
genericSubmit=Wyślij
|
||||
processTimeWarning=Ostrzeżenie: Ten proces może potrwać do minuty, w zależności od rozmiaru pliku
|
||||
pageOrderPrompt=Kolejność stron (wprowadź listę numerów stron oddzielonych przecinkami) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Idź
|
||||
true=Tak
|
||||
false=Nie
|
||||
unknown=Nieznany
|
||||
save=Zapisz
|
||||
saveToBrowser=Save to Browser
|
||||
close=Zamknij
|
||||
filesSelected=wybrane pliki
|
||||
noFavourites=Nie dodano ulubionych
|
||||
downloadComplete=Download Complete
|
||||
bored=Znudzony czekaniem?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Pobierz PDF
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokument 1
|
||||
compare.document.2=Dokument 2
|
||||
compare.submit=Porównaj
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Podpis
|
||||
@@ -724,11 +759,23 @@ merge.submit=Połącz
|
||||
pdfOrganiser.title=Kolejność stron
|
||||
pdfOrganiser.header=Kolejność stron PDF
|
||||
pdfOrganiser.submit=Zmień kolejność stron
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Multi narzędzie PDF
|
||||
multiTool.header=Multi narzędzie PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Narzędzie do usuwania stron
|
||||
pageRemover.header=Narzędzie do usuwania stron w dokumentach PDF
|
||||
pageRemover.pagesToDelete=Strony do usunięcia (wprowadź listę numerów stron oddzielonych przecinkami):
|
||||
pageRemover.submit=Usuń strony
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Nieprzezroczystość (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Dodaj znak wodny
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Słowa kluczowe:
|
||||
changeMetadata.modDate=Data modyfikacji (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producent:
|
||||
changeMetadata.subject=Temat:
|
||||
changeMetadata.title=Tytuł:
|
||||
changeMetadata.trapped=Zablokowany:
|
||||
changeMetadata.selectText.4=Inne metadane:
|
||||
changeMetadata.selectText.5=Dodaj niestandardowy wpis w metadanych
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF na PDF/A
|
||||
pdfToPDFA.header=PDF na PDF/A
|
||||
pdfToPDFA.credit=Ta usługa używa OCRmyPDF do konwersji PDF/A
|
||||
pdfToPDFA.submit=Konwertuj
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Wyci?g
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Selecione a(s) imagem(ns)
|
||||
genericSubmit=Enviar
|
||||
processTimeWarning=Aviso: esse processo pode levar até um minuto, dependendo do tamanho do arquivo
|
||||
pageOrderPrompt=Ordem das páginas (digite uma lista separada por vírgulas de números de página):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Ir
|
||||
true=Verdadeiro
|
||||
false=Falso
|
||||
unknown=Desconhecido
|
||||
save=Salvar
|
||||
saveToBrowser=Save to Browser
|
||||
close=Fechar
|
||||
filesSelected=arquivos selecionados
|
||||
noFavourites=Nenhum favorito adicionado
|
||||
downloadComplete=Download Complete
|
||||
bored=Entediado esperando?
|
||||
alphabet=Alfabeto
|
||||
downloadPdf=baixar PDF
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JavaScript
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JavaScript
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Converter para Página Única
|
||||
pageExtracter.title=Extrair Páginas
|
||||
pageExtracter.header=Extrair Páginas
|
||||
pageExtracter.submit=Extrair
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitizar PDF
|
||||
sanitizePDF.header=Sanitizar um arquivo PDF
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Documento 1
|
||||
compare.document.2=Documento 2
|
||||
compare.submit=Comparar
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Assinar
|
||||
@@ -724,11 +759,23 @@ merge.submit=Mesclar
|
||||
pdfOrganiser.title=Organizador de Páginas
|
||||
pdfOrganiser.header=Organizador de Páginas PDF
|
||||
pdfOrganiser.submit=Reorganizar Páginas
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Multiferramenta de PDF
|
||||
multiTool.header=Multiferramenta de PDF
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Remover Página
|
||||
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.submit=Excluir Páginas
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacidade (0% - 100%)
|
||||
watermark.selectText.8=Tipo de Marca d'Água
|
||||
watermark.selectText.9=Imagem da Marca d'Água
|
||||
watermark.submit=Adicionar Marca d'Água
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Palavras-chave:
|
||||
changeMetadata.modDate=Data de Modificação (aaaa/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Produtor:
|
||||
changeMetadata.subject=Assunto:
|
||||
changeMetadata.title=Título:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Outros Metadados
|
||||
changeMetadata.selectText.5=Adicionar Entrada de Metadados Personalizados
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF para PDF/A
|
||||
pdfToPDFA.header=PDF para PDF/A
|
||||
pdfToPDFA.credit=Este serviço usa OCRmyPDF para Conversão de PDF/A
|
||||
pdfToPDFA.submit=Converter
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Eztenna
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
1022
src/main/resources/messages_pt_PT.properties
Normal file
1022
src/main/resources/messages_pt_PT.properties
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Selectează imagini
|
||||
genericSubmit=Trimite
|
||||
processTimeWarning=Avertisment: Acest proces poate dura până la un minut în funcție de dimensiunea fișierului
|
||||
pageOrderPrompt=Ordinea paginilor (Introdu o listă separată prin virgulă de numere de pagină):
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Mergi la pagină
|
||||
true=Adevărat
|
||||
false=Fals
|
||||
unknown=Necunoscut
|
||||
save=Salvează
|
||||
saveToBrowser=Save to Browser
|
||||
close=Închide
|
||||
filesSelected=fișiere selectate
|
||||
noFavourites=Niciun favorit adăugat
|
||||
downloadComplete=Download Complete
|
||||
bored=Plictisit așteptând?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Descarcă PDF
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Document 1
|
||||
compare.document.2=Document 2
|
||||
compare.submit=Compară
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Semnează
|
||||
@@ -724,11 +759,23 @@ merge.submit=Unire
|
||||
pdfOrganiser.title=Organizator de pagini
|
||||
pdfOrganiser.header=Organizator de pagini PDF
|
||||
pdfOrganiser.submit=Rearanjați paginile
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Instrument PDF multiplu
|
||||
multiTool.header=Instrument PDF multiplu
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Înlăturare pagini
|
||||
pageRemover.header=Înlăturare pagini din PDF
|
||||
pageRemover.pagesToDelete=Pagini de șters (Introduceți o listă de numere de pagini separate prin virgulă):
|
||||
pageRemover.submit=Ștergere pagini
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacitate (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Adăugați Filigran
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Cuvinte cheie:
|
||||
changeMetadata.modDate=Data modificării (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producător:
|
||||
changeMetadata.subject=Subiect:
|
||||
changeMetadata.title=Titlu:
|
||||
changeMetadata.trapped=Blocat:
|
||||
changeMetadata.selectText.4=Alte Metadate:
|
||||
changeMetadata.selectText.5=Adăugați Intrare Metadate Personalizate
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF către PDF/A
|
||||
pdfToPDFA.header=PDF către PDF/A
|
||||
pdfToPDFA.credit=Acest serviciu utilizează OCRmyPDF pentru conversia în PDF/A
|
||||
pdfToPDFA.submit=Convert
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Extrage
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Выберите картинку(и)
|
||||
genericSubmit=Отправить
|
||||
processTimeWarning=Внимание: Этот процесс может занять до минуты в зависимости от размера файла.
|
||||
pageOrderPrompt=Порядок страниц (введите список номеров страниц через запятую):
|
||||
pageSelectionPrompt=Пользовательский выбор страницы (введите разделенный запятыми список номеров страниц 1,5,6 или функции типа 2n+1) :
|
||||
goToPage=Вперед
|
||||
true=Истина
|
||||
false=Ложь
|
||||
unknown=Неизвестно
|
||||
save=Сохранить
|
||||
saveToBrowser=Сохранить в браузере
|
||||
close=Закрыть
|
||||
filesSelected=файлов выбрано
|
||||
noFavourites=Нет избранного
|
||||
downloadComplete=Загрузка завершена
|
||||
bored=Скучно ждать?
|
||||
alphabet=Алфавит
|
||||
downloadPdf=Скачать PDF
|
||||
@@ -26,54 +29,59 @@ text=Текст
|
||||
font=Шрифт
|
||||
selectFillter=-- Выбрать --
|
||||
pageNum=номер страницы
|
||||
sizes.small=Small
|
||||
sizes.medium=Medium
|
||||
sizes.large=Large
|
||||
sizes.x-large=X-Large
|
||||
error.pdfPassword=The PDF Document is passworded and either the password was not provided or was incorrect
|
||||
delete=Delete
|
||||
username=Username
|
||||
password=Password
|
||||
welcome=Welcome
|
||||
property=Property
|
||||
black=Black
|
||||
white=White
|
||||
red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
sizes.small=Маленький
|
||||
sizes.medium=Середина
|
||||
sizes.large=Большой
|
||||
sizes.x-large=очень большой
|
||||
error.pdfPassword=Документ PDF имеет пароль, и пароль не был предоставлен или был неверным
|
||||
delete=Удалить
|
||||
username=Имя пользователя
|
||||
password=Пароль
|
||||
welcome=Добро пожаловать
|
||||
property=Свойство
|
||||
black=Чёрный
|
||||
white=Белый
|
||||
red=Красный
|
||||
green=Зеленый
|
||||
blue=Синий
|
||||
custom=Обычай...
|
||||
WorkInProgess=Работа продолжается, может не работать или глючить, пожалуйста, сообщайте о любых проблемах!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
changedCredsMessage=Credentials changed!
|
||||
notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
yes=Да
|
||||
no=Нет
|
||||
changedCredsMessage=Учетные данные изменены!
|
||||
notAuthenticatedMessage=Пользователь не прошел проверку подлинности.
|
||||
userNotFoundMessage=Пользователь не найден.
|
||||
incorrectPasswordMessage=Текущий пароль неверен.
|
||||
usernameExistsMessage=Новое имя пользователя уже существует.
|
||||
invalidUsernameMessage=Недопустимое имя пользователя, Имя пользователя должно содержать только буквы алфавита и цифры.
|
||||
deleteCurrentUserMessage=Невозможно удалить пользователя, вошедшего в систему.
|
||||
deleteUsernameExistsMessage=Имя пользователя не существует и не может быть удалено.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.header=Меню конвейерной обработки (Бета)
|
||||
pipeline.uploadButton=Загрузить Пользовательский
|
||||
pipeline.configureButton=Настройка
|
||||
pipeline.defaultOption=Пользовательский
|
||||
pipeline.submitButton=Отправить
|
||||
pipeline.help=Справка по конвейерной обработке
|
||||
pipeline.scanHelp=Справка по сканированию папок
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
######################
|
||||
pipelineOptions.header=Pipeline Configuration
|
||||
pipelineOptions.pipelineNameLabel=Pipeline Name
|
||||
pipelineOptions.saveSettings=Save Operation Settings
|
||||
pipelineOptions.pipelineNamePrompt=Enter pipeline name here
|
||||
pipelineOptions.selectOperation=Select Operation
|
||||
pipelineOptions.addOperationButton=Add operation
|
||||
pipelineOptions.pipelineHeader=Pipeline:
|
||||
pipelineOptions.saveButton=Download
|
||||
pipelineOptions.validateButton=Validate
|
||||
pipelineOptions.header=Настройка конвейерной обработки
|
||||
pipelineOptions.pipelineNameLabel=Название конвейера
|
||||
pipelineOptions.saveSettings=Сохранить настройки операции
|
||||
pipelineOptions.pipelineNamePrompt=Введите имя конвейера здесь
|
||||
pipelineOptions.selectOperation=Выбрать операцию
|
||||
pipelineOptions.addOperationButton=Добавить операцию
|
||||
pipelineOptions.pipelineHeader=Конвейер:
|
||||
pipelineOptions.saveButton=Скачать
|
||||
pipelineOptions.validateButton=Проверить
|
||||
|
||||
|
||||
|
||||
@@ -99,66 +107,69 @@ settings.downloadOption.1=Открыть в том же окне
|
||||
settings.downloadOption.2=Открыть в новом окне
|
||||
settings.downloadOption.3=Загрузить файл
|
||||
settings.zipThreshold=Zip-файлы, когда количество загруженных файлов превышает
|
||||
settings.signOut=Sign Out
|
||||
settings.accountSettings=Account Settings
|
||||
settings.signOut=Выйти
|
||||
settings.accountSettings=Настройки аккаунта
|
||||
|
||||
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
changeCreds.confirmNewPassword=Confirm New Password
|
||||
changeCreds.submit=Submit Changes
|
||||
changeCreds.title=Изменить учетные данные
|
||||
changeCreds.header=Обновите данные вашей учетной записи
|
||||
changeCreds.changePassword=Вы используете предустановленные учетные данные для входа. Пожалуйста, введите новый пароль
|
||||
changeCreds.newUsername=Новое имя пользователя
|
||||
changeCreds.oldPassword=Текущий пароль
|
||||
changeCreds.newPassword=Новый пароль
|
||||
changeCreds.confirmNewPassword=Подтвердите новый пароль
|
||||
changeCreds.submit=Отправить изменения
|
||||
|
||||
|
||||
|
||||
account.title=Account Settings
|
||||
account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
account.changePassword=Change Password
|
||||
account.confirmNewPassword=Confirm New Password
|
||||
account.signOut=Sign Out
|
||||
account.yourApiKey=Your API Key
|
||||
account.syncTitle=Sync browser settings with Account
|
||||
account.settingsCompare=Settings Comparison:
|
||||
account.property=Property
|
||||
account.webBrowserSettings=Web Browser Setting
|
||||
account.syncToBrowser=Sync Account -> Browser
|
||||
account.syncToAccount=Sync Account <- Browser
|
||||
account.title=Настройки аккаунта
|
||||
account.accountSettings=Настройки аккаунта
|
||||
account.adminSettings=Настройки администратора - Просмотр и добавление пользователей
|
||||
account.userControlSettings=Настройки контроля пользователя
|
||||
account.changeUsername=Изменить имя пользователя
|
||||
account.newUsername=Новое имя пользователя
|
||||
account.password=Подтверждение пароля
|
||||
account.oldPassword=Старый пароль
|
||||
account.newPassword=Новый пароль
|
||||
account.changePassword=Изменить пароль
|
||||
account.confirmNewPassword=Подтвердите новый пароль
|
||||
account.signOut=Выйти
|
||||
account.yourApiKey=Ваш API-ключ
|
||||
account.syncTitle=Синхронизировать настройки браузера с учетной записью
|
||||
account.settingsCompare=Сравнение настроек:
|
||||
account.property=Свойство
|
||||
account.webBrowserSettings=Настройка веб-браузера
|
||||
account.syncToBrowser=Синхронизировать учетную запись -> Браузер
|
||||
account.syncToAccount=Синхронизировать учетную запись <- Браузер
|
||||
|
||||
|
||||
adminUserSettings.title=User Control Settings
|
||||
adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.submit=Save User
|
||||
adminUserSettings.title=Настройки контроля пользователя
|
||||
adminUserSettings.header=Настройки контроля пользователя администратора
|
||||
adminUserSettings.admin=Администратор
|
||||
adminUserSettings.user=Пользователь
|
||||
adminUserSettings.addUser=Добавить нового пользователя
|
||||
adminUserSettings.usernameInfo=Имя пользователя должно содержать только буквы и цифры, без пробелов и специальных символов.
|
||||
adminUserSettings.roles=Роли
|
||||
adminUserSettings.role=Роль
|
||||
adminUserSettings.actions=Действия
|
||||
adminUserSettings.apiUser=Ограниченный пользователь API
|
||||
adminUserSettings.extraApiUser=Дополнительный ограниченный пользователь API
|
||||
adminUserSettings.webOnlyUser=Только веб-пользователь
|
||||
adminUserSettings.demoUser=Демо-пользователь (без настраиваемых параметров)
|
||||
adminUserSettings.internalApiUser=Внутренний пользователь API
|
||||
adminUserSettings.forceChange=Просить пользователя изменить пароль при входе в систему
|
||||
adminUserSettings.submit=Сохранить пользователя
|
||||
|
||||
#############
|
||||
# HOME-PAGE #
|
||||
#############
|
||||
home.desc=Ваш локальный универсальный магазин для всех ваших потребностей в PDF.
|
||||
home.searchBar=Search for features...
|
||||
home.searchBar=Поиск функций...
|
||||
|
||||
|
||||
home.viewPdf.title=View PDF
|
||||
home.viewPdf.desc=View, annotate, add text or images
|
||||
home.viewPdf.title=Просмотр PDF
|
||||
home.viewPdf.desc=Просмотр, аннотация, добавление текста или изображений
|
||||
viewPdf.tags=view,read,annotate,text,image
|
||||
|
||||
home.multiTool.title=Мультиинструмент PDF
|
||||
@@ -364,58 +375,68 @@ home.showJS.title=Показать Javascript
|
||||
home.showJS.desc=Ищет и отображает любой JS, внедренный в PDF-файл.
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
home.autoRedact.title=Автоматическое редактирование
|
||||
home.autoRedact.desc=Автоматическое затемнение (чернение) текста в PDF на основе входного текста
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
home.tableExtraxt.title=PDF в CSV
|
||||
home.tableExtraxt.desc=Извлекает таблицы из PDF и преобразует их в CSV
|
||||
tableExtraxt.tags=CSV,Table Extraction,extract,convert
|
||||
|
||||
|
||||
home.autoSizeSplitPDF.title=Auto Split by Size/Count
|
||||
home.autoSizeSplitPDF.desc=Split a single PDF into multiple documents based on size, page count, or document count
|
||||
home.autoSizeSplitPDF.title=Автоматическое разделение по размеру/количеству
|
||||
home.autoSizeSplitPDF.desc=Разделяет один PDF на несколько документов на основе размера, количества страниц или количества документов
|
||||
autoSizeSplitPDF.tags=pdf,split,document,organization
|
||||
|
||||
|
||||
home.overlay-pdfs.title=Overlay PDFs
|
||||
home.overlay-pdfs.desc=Overlays PDFs on-top of another PDF
|
||||
home.overlay-pdfs.title=Наложение PDF
|
||||
home.overlay-pdfs.desc=Наложение одного PDF поверх другого PDF
|
||||
overlay-pdfs.tags=Overlay
|
||||
|
||||
home.split-by-sections.title=Split PDF by Sections
|
||||
home.split-by-sections.desc=Divide each page of a PDF into smaller horizontal and vertical sections
|
||||
home.split-by-sections.title=Разделение PDF по секциям
|
||||
home.split-by-sections.desc=Разделение каждой страницы PDF на более мелкие горизонтальные и вертикальные секции
|
||||
split-by-sections.tags=Section Split, Divide, Customize
|
||||
|
||||
home.AddStampRequest.title=Add Stamp to PDF
|
||||
home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
home.AddStampRequest.title=Добавить печать на PDF
|
||||
home.AddStampRequest.desc=Добавление текстовой или изображенческой печати в заданные места
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF в книгу/комикс
|
||||
home.PDFToBook.desc=Конвертирует PDF в формат книги/комикса с помощью calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Книга в PDF
|
||||
home.BookToPDF.desc=Конвертирует форматы книги/комикса в PDF с помощью calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
# #
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
login.locked=Your account has been locked.
|
||||
login.signinTitle=Please sign in
|
||||
login.title=Вход
|
||||
login.header=Вход
|
||||
login.signin=Войти
|
||||
login.rememberme=Запомнить меня
|
||||
login.invalid=Недействительное имя пользователя или пароль.
|
||||
login.locked=Ваша учетная запись заблокирована.
|
||||
login.signinTitle=Пожалуйста, войдите
|
||||
|
||||
|
||||
#auto-redact
|
||||
autoRedact.title=Auto Redact
|
||||
autoRedact.header=Auto Redact
|
||||
autoRedact.colorLabel=Colour
|
||||
autoRedact.textsToRedactLabel=Text to Redact (line-separated)
|
||||
autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret
|
||||
autoRedact.useRegexLabel=Use Regex
|
||||
autoRedact.wholeWordSearchLabel=Whole Word Search
|
||||
autoRedact.customPaddingLabel=Custom Extra Padding
|
||||
autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box)
|
||||
autoRedact.submitButton=Submit
|
||||
autoRedact.title=Автоматическое редактирование
|
||||
autoRedact.header=Автоматическое редактирование
|
||||
autoRedact.colorLabel=Цвет
|
||||
autoRedact.textsToRedactLabel=Текст для сокрытия (каждая строка отдельно)
|
||||
autoRedact.textsToRedactPlaceholder=например \nКонфиденциально \nСовершенно секретно
|
||||
autoRedact.useRegexLabel=Использовать регулярные выражения
|
||||
autoRedact.wholeWordSearchLabel=Поиск целых слов
|
||||
autoRedact.customPaddingLabel=Дополнительное отступление по настраиваемому значению
|
||||
autoRedact.convertPDFToImageLabel=Преобразовать PDF в изображение PDF (используется для удаления текста за рамкой)
|
||||
autoRedact.submitButton=Отправить
|
||||
|
||||
|
||||
#showJS
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Преобразовать в одну страницу
|
||||
pageExtracter.title=Извлечь страницы
|
||||
pageExtracter.header=Извлечь страницы
|
||||
pageExtracter.submit=Извлечь
|
||||
pageExtracter.placeholder=(например 1,2,8 или 4,7,12-16 или 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -466,37 +488,38 @@ HTMLToPDF.header=HTML в PDF
|
||||
HTMLToPDF.help=Принимает файлы HTML и ZIP-файлы, содержащие html/css/изображения и т. д.
|
||||
HTMLToPDF.submit=Конвертировать
|
||||
HTMLToPDF.credit=Использует WeasyPrint
|
||||
HTMLToPDF.zoom=Zoom level for displaying the website.
|
||||
HTMLToPDF.pageWidth=Width of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.pageHeight=Height of the page in centimeters. (Blank to default)
|
||||
HTMLToPDF.marginTop=Top margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginBottom=Bottom margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginLeft=Left margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.marginRight=Right margin of the page in millimeters. (Blank to default)
|
||||
HTMLToPDF.printBackground=Render the background of websites.
|
||||
HTMLToPDF.defaultHeader=Enable Default Header (Name and page number)
|
||||
HTMLToPDF.cssMediaType=Change the CSS media type of the page.
|
||||
HTMLToPDF.none=None
|
||||
HTMLToPDF.print=Print
|
||||
HTMLToPDF.screen=Screen
|
||||
HTMLToPDF.zoom=Уровень масштабирования для отображения веб-сайта.
|
||||
HTMLToPDF.pageWidth=Ширина страницы в сантиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.pageHeight=Высота страницы в сантиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.marginTop=Верхний отступ страницы в миллиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.marginBottom=Нижний отступ страницы в миллиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.marginLeft=Левый отступ страницы в миллиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.marginRight=Правый отступ страницы в миллиметрах. (Пусто - по умолчанию)
|
||||
HTMLToPDF.printBackground=Визуализировать фон веб-сайтов.
|
||||
HTMLToPDF.defaultHeader=Включить заголовок по умолчанию (Имя и номер страницы)
|
||||
HTMLToPDF.cssMediaType=Изменить тип медиа CSS страницы.
|
||||
HTMLToPDF.none=Нет
|
||||
HTMLToPDF.print=Печать
|
||||
HTMLToPDF.screen=Экран
|
||||
|
||||
|
||||
#AddStampRequest
|
||||
AddStampRequest.header=Stamp PDF
|
||||
AddStampRequest.title=Stamp PDF
|
||||
AddStampRequest.stampType=Stamp Type
|
||||
AddStampRequest.stampText=Stamp Text
|
||||
AddStampRequest.stampImage=Stamp Image
|
||||
AddStampRequest.alphabet=Alphabet
|
||||
AddStampRequest.fontSize=Font/Image Size
|
||||
AddStampRequest.rotation=Rotation
|
||||
AddStampRequest.opacity=Opacity
|
||||
AddStampRequest.position=Position
|
||||
AddStampRequest.overrideX=Override X Coordinate
|
||||
AddStampRequest.overrideY=Override Y Coordinate
|
||||
AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
AddStampRequest.header=Штамповать PDF
|
||||
AddStampRequest.title=Штамповать PDF
|
||||
AddStampRequest.stampType=Тип штампа
|
||||
AddStampRequest.stampText=Текст штампа
|
||||
AddStampRequest.stampImage=Изображение штампа
|
||||
AddStampRequest.alphabet=Алфавит
|
||||
AddStampRequest.fontSize=Размер шрифта/изображения
|
||||
AddStampRequest.rotation=Поворот
|
||||
AddStampRequest.opacity=Прозрачность
|
||||
AddStampRequest.position=Позиция
|
||||
AddStampRequest.overrideX=Переопределить координату X
|
||||
AddStampRequest.overrideY=Переопределить координату Y
|
||||
AddStampRequest.customMargin=Настроенный отступ
|
||||
AddStampRequest.customColor=Настроенный цвет текста
|
||||
AddStampRequest.submit=Отправить
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Дезинфицировать PDF
|
||||
@@ -518,9 +541,9 @@ addPageNumbers.selectText.3=Позиция
|
||||
addPageNumbers.selectText.4=Стартовый номер
|
||||
addPageNumbers.selectText.5=Страницы для нумерации
|
||||
addPageNumbers.selectText.6=Свой текст
|
||||
addPageNumbers.customTextDesc=Custom Text
|
||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
||||
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||
addPageNumbers.customTextDesc=Пользовательский текст
|
||||
addPageNumbers.numberPagesDesc=Какие страницы нумеровать, по умолчанию 'все', также принимает 1-5 или 2,5,9 и т.д.
|
||||
addPageNumbers.customNumberDesc=По умолчанию {n}, также можно использовать 'Страница {n} из {total}', 'Текст-{n}', '{filename}-{n}'
|
||||
addPageNumbers.submit=Добавить номера страниц
|
||||
|
||||
|
||||
@@ -561,14 +584,14 @@ autoSplitPDF.submit=Отравить
|
||||
|
||||
|
||||
#pipeline
|
||||
pipeline.title=Pipeline
|
||||
pipeline.title=Пайплайн
|
||||
|
||||
|
||||
#pageLayout
|
||||
pageLayout.title=Многостраничный макет
|
||||
pageLayout.header=Многостраничный макет
|
||||
pageLayout.pagesPerSheet=Страниц на одном листе:
|
||||
pageLayout.addBorder=Add Borders
|
||||
pageLayout.addBorder=Добавить границы
|
||||
pageLayout.submit=Отправить
|
||||
|
||||
|
||||
@@ -584,11 +607,11 @@ scalePages.submit=Отправить
|
||||
certSign.title=Подписание сертификата
|
||||
certSign.header=Подпишите PDF своим сертификатом (работа в процессе)
|
||||
certSign.selectPDF=Выберите файл PDF для подписи:
|
||||
certSign.jksNote=Note: If your certificate type is not listed below, please convert it to a Java Keystore (.jks) file using the keytool command line tool. Then, choose the .jks file option below.
|
||||
certSign.jksNote=Примечание: Если ваш тип сертификата не указан ниже, пожалуйста, преобразуйте его в файл хранилища Java Keystore (.jks), используя утилиту командной строки keytool. Затем выберите опцию .jks файла ниже.
|
||||
certSign.selectKey=Выберите файл закрытого ключа (формат PKCS#8, может быть .pem или .der):
|
||||
certSign.selectCert=Выберите файл сертификата (формат X.509, может быть .pem или .der):
|
||||
certSign.selectP12=Выберите файл хранилища ключей PKCS#12 (.p12 или .pfx) (необязательно, если он предоставлен, он должен содержать ваш закрытый ключ и сертификат):
|
||||
certSign.selectJKS=Select Your Java Keystore File (.jks or .keystore):
|
||||
certSign.selectJKS=Выберите файл хранилища Java Keystore (.jks или .keystore):
|
||||
certSign.certType=Тип сертификата
|
||||
certSign.password=Введите пароль от хранилища ключей или личного ключа (если есть):
|
||||
certSign.showSig=Показать подпись
|
||||
@@ -609,9 +632,9 @@ removeBlanks.submit=Удалить Пустые
|
||||
|
||||
|
||||
#removeAnnotations
|
||||
removeAnnotations.title=Remove Annotations
|
||||
removeAnnotations.header=Remove Annotations
|
||||
removeAnnotations.submit=Remove
|
||||
removeAnnotations.title=Удалить аннотации
|
||||
removeAnnotations.header=Удалить аннотации
|
||||
removeAnnotations.submit=Удалить
|
||||
|
||||
|
||||
#compare
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Документ 1
|
||||
compare.document.2=Документ 2
|
||||
compare.submit=Сравнить
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Книги и комиксы в PDF
|
||||
BookToPDF.header=Конвертировать книгу в PDF
|
||||
BookToPDF.credit=Используется Calibre
|
||||
BookToPDF.submit=Конвертировать
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF в книгу
|
||||
PDFToBook.header=PDF в книгу
|
||||
PDFToBook.selectText.1=Формат
|
||||
PDFToBook.credit=Используется Calibre
|
||||
PDFToBook.submit=Конвертировать
|
||||
|
||||
#sign
|
||||
sign.title=Подпись
|
||||
@@ -715,8 +750,8 @@ addImage.submit=Добавить изображение
|
||||
#merge
|
||||
merge.title=Объединить
|
||||
merge.header=Объединение нескольких PDF-файлов (2+)
|
||||
merge.sortByName=Sort by name
|
||||
merge.sortByDate=Sort by date
|
||||
merge.sortByName=Сортировка по имени
|
||||
merge.sortByDate=Сортировка по дате
|
||||
merge.submit=Объединить
|
||||
|
||||
|
||||
@@ -724,21 +759,34 @@ merge.submit=Объединить
|
||||
pdfOrganiser.title=Организатор страниц
|
||||
pdfOrganiser.header=Организатор PDF-страниц
|
||||
pdfOrganiser.submit=Переупорядочить страницы
|
||||
pdfOrganiser.mode=Режим
|
||||
pdfOrganiser.mode.1=Пользовательский порядок страниц
|
||||
pdfOrganiser.mode.2=Обратный порядок
|
||||
pdfOrganiser.mode.3=Сортировка дуплекса
|
||||
pdfOrganiser.mode.4=Сортировка брошюры
|
||||
pdfOrganiser.mode.5=Сортировка брошюры со стежкой по боковой стороне
|
||||
pdfOrganiser.mode.6=Разделение на чётные и нечётные страницы
|
||||
pdfOrganiser.mode.7=Удалить первую
|
||||
pdfOrganiser.mode.8=Удалить последнюю
|
||||
pdfOrganiser.mode.9=Удалить первую и последнюю
|
||||
pdfOrganiser.placeholder=(например, 1,3,2 или 4-8,2,10-12 или 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=Мультиинструмент PDF
|
||||
multiTool.header=Мультиинструмент PDF
|
||||
multiTool.uploadPrompts=Пожалуйста, загрузите PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
viewPdf.header=View PDF
|
||||
viewPdf.title=Просмотреть PDF
|
||||
viewPdf.header=Просмотреть PDF
|
||||
|
||||
#pageRemover
|
||||
pageRemover.title=Удаление страниц
|
||||
pageRemover.header=Удаление PDF-страниц
|
||||
pageRemover.pagesToDelete=Страницы для удаления (введите список номеров страниц через запятую):
|
||||
pageRemover.submit=Удалить страницы
|
||||
pageRemover.placeholder=(например, 1,2,6 или 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -767,10 +815,10 @@ split.submit=Разделить
|
||||
imageToPDF.title=Изображение в PDF
|
||||
imageToPDF.header=Изображение в PDF
|
||||
imageToPDF.submit=Конвертировать
|
||||
imageToPDF.selectLabel=Image Fit Options
|
||||
imageToPDF.fillPage=Fill Page
|
||||
imageToPDF.fitDocumentToImage=Fit Page to Image
|
||||
imageToPDF.maintainAspectRatio=Maintain Aspect Ratios
|
||||
imageToPDF.selectLabel=Выберите режим отображения изображения
|
||||
imageToPDF.fillPage=Заполнение страницы
|
||||
imageToPDF.fitDocumentToImage=Подогнать документ под изображение
|
||||
imageToPDF.maintainAspectRatio=Сохранить пропорции
|
||||
imageToPDF.selectText.2=Автоматический поворот PDF
|
||||
imageToPDF.selectText.3=Многофайловая логика (включена только при работе с несколькими изображениями)
|
||||
imageToPDF.selectText.4=Объединить в один PDF
|
||||
@@ -807,9 +855,9 @@ addPassword.selectText.10=Предотвратить модификацию
|
||||
addPassword.selectText.11=Запретить модификацию аннотаций
|
||||
addPassword.selectText.12=Запретить печать
|
||||
addPassword.selectText.13=Запретить печать разных форматов
|
||||
addPassword.selectText.14=Owner Password
|
||||
addPassword.selectText.15=Restricts what can be done with the document once it is opened (Not supported by all readers)
|
||||
addPassword.selectText.16=Restricts the opening of the document itself
|
||||
addPassword.selectText.14=Владельческий пароль
|
||||
addPassword.selectText.15=Ограничивает то, что можно сделать с документом после его открытия (не поддерживается всеми программами чтения)
|
||||
addPassword.selectText.16=Ограничивает открытие самого документа
|
||||
addPassword.submit=Шифровать
|
||||
|
||||
|
||||
@@ -823,9 +871,11 @@ watermark.selectText.4=Поворот (0-360):
|
||||
watermark.selectText.5=widthSpacer (пробел между каждым водяным знаком по горизонтали):
|
||||
watermark.selectText.6=heightSpacer (пробел между каждым водяным знаком по вертикали):
|
||||
watermark.selectText.7=Непрозрачность (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.selectText.8=Тип водяного знака:
|
||||
watermark.selectText.9=Изображение водяного знака:
|
||||
watermark.submit=Добавить водяной знак
|
||||
watermark.type.1=Текст
|
||||
watermark.type.2=Изображение
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Ключевые слова:
|
||||
changeMetadata.modDate=Дата изменения (yyyy/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Изготовитель:
|
||||
changeMetadata.subject=Тема:
|
||||
changeMetadata.title=Заголовок:
|
||||
changeMetadata.trapped=Trapped:
|
||||
changeMetadata.selectText.4=Другие метаданные:
|
||||
changeMetadata.selectText.5=Добавить пользовательскую запись метаданных
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF в PDF/A
|
||||
pdfToPDFA.header=PDF в PDF/A
|
||||
pdfToPDFA.credit=Этот сервис использует OCRmyPDF для преобразования PDF/A
|
||||
pdfToPDFA.submit=Конвертировать
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -918,36 +968,37 @@ PDFToXML.credit=Этот сервис использует LibreOffice для п
|
||||
PDFToXML.submit=Конвертировать
|
||||
|
||||
#PDFToCSV
|
||||
PDFToCSV.title=PDF ? CSV
|
||||
PDFToCSV.header=PDF ? CSV
|
||||
PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=???????
|
||||
PDFToCSV.title=PDF в CSV
|
||||
PDFToCSV.header=PDF в CSV
|
||||
PDFToCSV.prompt=Выберите страницу для извлечения таблицы
|
||||
PDFToCSV.submit=Извлечь
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
split-by-size-or-count.type.pageCount=By Page Count
|
||||
split-by-size-or-count.type.docCount=By Document Count
|
||||
split-by-size-or-count.value.label=Enter Value
|
||||
split-by-size-or-count.value.placeholder=Enter size (e.g., 2MB or 3KB) or count (e.g., 5)
|
||||
split-by-size-or-count.submit=Submit
|
||||
split-by-size-or-count.title=Разделить PDF по размеру или количеству
|
||||
split-by-size-or-count.header=Разделить PDF по размеру или количеству
|
||||
split-by-size-or-count.type.label=Выберите тип разделения
|
||||
split-by-size-or-count.type.size=По размеру
|
||||
split-by-size-or-count.type.pageCount=По количеству страниц
|
||||
split-by-size-or-count.type.docCount=По количеству документов
|
||||
split-by-size-or-count.value.label=Введите значение
|
||||
split-by-size-or-count.value.placeholder=Введите размер (например, 2MB или 3KB) или количество (например, 5)
|
||||
split-by-size-or-count.submit=Отправить
|
||||
|
||||
|
||||
#overlay-pdfs
|
||||
overlay-pdfs.header=Overlay PDF Files
|
||||
overlay-pdfs.baseFile.label=Select Base PDF File
|
||||
overlay-pdfs.overlayFiles.label=Select Overlay PDF Files
|
||||
overlay-pdfs.mode.label=Select Overlay Mode
|
||||
overlay-pdfs.mode.sequential=Sequential Overlay
|
||||
overlay-pdfs.mode.interleaved=Interleaved Overlay
|
||||
overlay-pdfs.mode.fixedRepeat=Fixed Repeat Overlay
|
||||
overlay-pdfs.counts.label=Overlay Counts (for Fixed Repeat Mode)
|
||||
overlay-pdfs.counts.placeholder=Enter comma-separated counts (e.g., 2,3,1)
|
||||
overlay-pdfs.position.label=Select Overlay Position
|
||||
overlay-pdfs.position.foreground=Foreground
|
||||
overlay-pdfs.position.background=Background
|
||||
overlay-pdfs.submit=Submit
|
||||
overlay-pdfs.header=Наложение файлов PDF
|
||||
overlay-pdfs.baseFile.label=Выберите основной файл PDF
|
||||
overlay-pdfs.overlayFiles.label=Выберите налагаемые файлы PDF
|
||||
overlay-pdfs.mode.label=Выберите режим наложения
|
||||
overlay-pdfs.mode.sequential=Последовательное наложение
|
||||
overlay-pdfs.mode.interleaved=Перекрестное наложение
|
||||
overlay-pdfs.mode.fixedRepeat=Наложение с фиксированным повторением
|
||||
overlay-pdfs.counts.label=Количество наложений (для режима с фиксированным повторением)
|
||||
overlay-pdfs.counts.placeholder=Введите через запятую количество повторений (например, 2,3,1)
|
||||
overlay-pdfs.position.label=Выберите позицию наложения
|
||||
overlay-pdfs.position.foreground=Поверх основного
|
||||
overlay-pdfs.position.background=Позади основного
|
||||
overlay-pdfs.submit=Отправить
|
||||
|
||||
|
||||
#split-by-sections
|
||||
@@ -955,15 +1006,15 @@ split-by-sections.title=Split PDF by Sections
|
||||
split-by-sections.header=Split PDF into Sections
|
||||
split-by-sections.horizontal.label=Horizontal Divisions
|
||||
split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.horizontal.placeholder=Enter the number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter the number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
licenses.title=3rd Party Licenses
|
||||
licenses.header=3rd Party Licenses
|
||||
licenses.title=Third Party Licenses
|
||||
licenses.header=Third Party Licenses
|
||||
licenses.module=Module
|
||||
licenses.version=Version
|
||||
licenses.license=License
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Odaberi sliku (slike)
|
||||
genericSubmit=Prihvatiti
|
||||
processTimeWarning=Warning:Upozorenje: Ovaj proces može trajati i do minut, u zavisnosti od veličine dokumenta
|
||||
pageOrderPrompt=Prilagođeni redosled stranica (unesi listu brojeva stranica ili funkcija, kao što su 2n+1, razdvojene zarezima) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Idi
|
||||
true=Tačno
|
||||
false=Netačno
|
||||
unknown=Nepoznato
|
||||
save=Sačuvaj
|
||||
saveToBrowser=Save to Browser
|
||||
close=Zatvori
|
||||
filesSelected=odabrani fajlovi
|
||||
noFavourites=Nema dodatih favorita
|
||||
downloadComplete=Download Complete
|
||||
bored=Da li ti je dosadno dok čekaš?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Skini PDF
|
||||
@@ -51,6 +54,9 @@ notAuthenticatedMessage=Korisnik nije autentifikovan.
|
||||
userNotFoundMessage=Korisnik nije pronađen.
|
||||
incorrectPasswordMessage=Trenutna šifra je netačna.
|
||||
usernameExistsMessage=Novi korisnik već postoji
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
@@ -61,6 +67,8 @@ pipeline.uploadButton=Postavi prilagođeno
|
||||
pipeline.configureButton=Konfiguriši
|
||||
pipeline.defaultOption=Prilagođeno
|
||||
pipeline.submitButton=Pošalji
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Podešavanja naloga
|
||||
|
||||
changeCreds.title=Promeni pristupne podatke
|
||||
changeCreds.header=Ažurirajte detalje svog naloga
|
||||
changeCreds.changeUserAndPassword=Koristite podrazumevane prijavne podatke. Unesite novu lozinku (i korisničko ime ako želite)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=Novo korisničko ime
|
||||
changeCreds.oldPassword=Trenutna lozinka
|
||||
changeCreds.newPassword=Nova lozinka
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Podešavanja naloga
|
||||
account.adminSettings=Admin podešavanja - Pregled i dodavanje korisnika
|
||||
account.userControlSettings=Podešavanja kontrole korisnika
|
||||
account.changeUsername=Pormeni korisničko ime
|
||||
account.changeUsername=Pormeni korisničko ime
|
||||
account.newUsername=Novo korisničko ime
|
||||
account.password=Potvrda lozinke
|
||||
account.oldPassword=Stara lozinka
|
||||
account.newPassword=Nova lozinka
|
||||
@@ -141,12 +149,15 @@ adminUserSettings.header=Podešavanja kontrole korisnika za administratora
|
||||
adminUserSettings.admin=Administrator
|
||||
adminUserSettings.user=Korisnik
|
||||
adminUserSettings.addUser=Dodaj novog korisnika
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Uloge
|
||||
adminUserSettings.role=Uloga
|
||||
adminUserSettings.actions=Akcije
|
||||
adminUserSettings.apiUser=Korisnik s ograničenim API pristupom
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Korisnik samo za web
|
||||
adminUserSettings.demoUser=Demo korisnik (Bez prilagođenih podešavanja)
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Prisili korisnika da promeni korisničko ime/lozinku pri prijavi
|
||||
adminUserSettings.submit=Sačuvaj korisnika
|
||||
|
||||
@@ -362,11 +373,11 @@ PdfToSinglePage.tags=jedna-stranica
|
||||
|
||||
home.showJS.title=Prikaži JavaScript
|
||||
home.showJS.desc=Pretražuje i prikazuje bilo koji JavaScript ubačen u PDF
|
||||
showJS.tags=Cenzura,Sakrij,prekrivanje,crna,marker,skriveno
|
||||
showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Automatsko Cenzurisanje
|
||||
home.autoRedact.desc=Automatsko cenzurisanje teksta u PDF-u na osnovu unetog teksta
|
||||
showJS.tags=Cenzura,Sakrij,prekrivanje,crna,marker,skriveno
|
||||
autoRedact.tags=Cenzura,Sakrij,prekrivanje,crna,marker,skriveno
|
||||
|
||||
home.tableExtraxt.title=PDF u CSV
|
||||
home.tableExtraxt.desc=Izdvaja tabele iz PDF-a pretvarajući ih u CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Prijavite se
|
||||
login.header=Prijavite se
|
||||
login.signin=Prijavite se
|
||||
login.rememberme=Zapamti me
|
||||
login.invalid=Neispravno korisničko ime ili lozinka.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Konvertuj u Jednu Stranicu
|
||||
pageExtracter.title=Izdvajanje stranica
|
||||
pageExtracter.header=Izdvajanje stranica
|
||||
pageExtracter.submit=Izdvoji
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitizacija PDF-a
|
||||
sanitizePDF.header=Sanitizacija PDF fajla
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokument 1
|
||||
compare.document.2=Dokument 2
|
||||
compare.submit=Uporedi
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Potpiši
|
||||
@@ -724,11 +759,23 @@ merge.submit=Spajanje
|
||||
pdfOrganiser.title=Organizator stranica
|
||||
pdfOrganiser.header=Organizator stranica u PDF-u
|
||||
pdfOrganiser.submit=Preuredi stranice
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF Multi Alatka
|
||||
multiTool.header=PDF Multi Alatka
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=Prikaz
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Uklanjanje stranica
|
||||
pageRemover.header=Uklanjanje stranica iz PDF-a
|
||||
pageRemover.pagesToDelete=Stranice za brisanje (Unesite listu brojeva stranica odvojenih zarezima) :
|
||||
pageRemover.submit=Obriši stranice
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opačitost (0% - 100%):
|
||||
watermark.selectText.8=Tip vodenog žiga:
|
||||
watermark.selectText.9=Slika vodenog žiga:
|
||||
watermark.submit=Dodaj vodeni žig
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Ključne reči:
|
||||
changeMetadata.modDate=Datum izmene (gggg/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Proizvođač:
|
||||
changeMetadata.subject=Tema:
|
||||
changeMetadata.title=Naslov:
|
||||
changeMetadata.trapped=Zaglavljeno:
|
||||
changeMetadata.selectText.4=Drugi metapodaci:
|
||||
changeMetadata.selectText.5=Dodaj prilagođeni unos metapodataka
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF u PDF/A
|
||||
pdfToPDFA.header=PDF u PDF/A
|
||||
pdfToPDFA.credit=Ova usluga koristi OCRmyPDF za konverziju u PDF/A format
|
||||
pdfToPDFA.submit=Konvertuj
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Izaberite stranicu za ekstrakciju tabele
|
||||
PDFToCSV.submit=Izvuci
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Razdvoji PDF po veličini ili broju
|
||||
split-by-size-or-count.header=Razdvoji PDF po veličini ili broju
|
||||
split-by-size-or-count.type.label=Izaberite tip razdvajanja
|
||||
split-by-size-or-count.type.size=Po veličini
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertikalne podele
|
||||
split-by-sections.horizontal.placeholder=Unesite broj horizontalnih podele
|
||||
split-by-sections.vertical.placeholder=Unesite broj vertikalnih podele
|
||||
split-by-sections.submit=Razdvoji PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
@@ -1,4 +1,4 @@
|
||||
###########
|
||||
###########
|
||||
# Generic #
|
||||
###########
|
||||
# the direction that the language is written (ltr=left to right, rtl = right to left)
|
||||
@@ -11,14 +11,17 @@ imgPrompt=Välj bild(er)
|
||||
genericSubmit=Skicka
|
||||
processTimeWarning=Varning: Denna process kan ta upp till en minut beroende på filstorlek
|
||||
pageOrderPrompt=Sidordning (Ange en kommaseparerad lista med sidnummer) :
|
||||
pageSelectionPrompt=Custom Page Selection (Enter a comma-separated list of page numbers 1,5,6 or Functions like 2n+1) :
|
||||
goToPage=Gå till
|
||||
true=True
|
||||
false=Falskt
|
||||
unknown=Okänt
|
||||
save=Spara
|
||||
saveToBrowser=Save to Browser
|
||||
close=Stäng
|
||||
filesSelected=filer valda
|
||||
noFavourites=Inga favoriter har lagts till
|
||||
downloadComplete=Download Complete
|
||||
bored=Utråkad att vänta?
|
||||
alphabet=Alfabet
|
||||
downloadPdf=Ladda ner PDF
|
||||
@@ -42,7 +45,7 @@ red=Red
|
||||
green=Green
|
||||
blue=Blue
|
||||
custom=Custom...
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems!
|
||||
WorkInProgess=Work in progress, May not work or be buggy, Please report any problems!
|
||||
poweredBy=Powered by
|
||||
yes=Yes
|
||||
no=No
|
||||
@@ -51,16 +54,21 @@ notAuthenticatedMessage=User not authenticated.
|
||||
userNotFoundMessage=User not found.
|
||||
incorrectPasswordMessage=Current password is incorrect.
|
||||
usernameExistsMessage=New Username already exists.
|
||||
invalidUsernameMessage=Invalid username, Username must only contain alphabet characters and numbers.
|
||||
deleteCurrentUserMessage=Cannot delete currently logged in user.
|
||||
deleteUsernameExistsMessage=The username does not exist and cannot be deleted.
|
||||
|
||||
|
||||
###############
|
||||
# Pipeline #
|
||||
###############
|
||||
pipeline.header=Pipeline Menu (Alpha)
|
||||
pipeline.header=Pipeline Menu (Beta)
|
||||
pipeline.uploadButton=Upload Custom
|
||||
pipeline.configureButton=Configure
|
||||
pipeline.defaultOption=Custom
|
||||
pipeline.submitButton=Submit
|
||||
pipeline.help=Pipeline Help
|
||||
pipeline.scanHelp=Folder Scanning Help
|
||||
|
||||
######################
|
||||
# Pipeline Options #
|
||||
@@ -106,7 +114,7 @@ settings.accountSettings=Account Settings
|
||||
|
||||
changeCreds.title=Change Credentials
|
||||
changeCreds.header=Update Your Account Details
|
||||
changeCreds.changeUserAndPassword=You are using default login credentials. Please enter a new password (and username if wanted)
|
||||
changeCreds.changePassword=You are using default login credentials. Please enter a new password
|
||||
changeCreds.newUsername=New Username
|
||||
changeCreds.oldPassword=Current Password
|
||||
changeCreds.newPassword=New Password
|
||||
@@ -120,7 +128,7 @@ account.accountSettings=Account Settings
|
||||
account.adminSettings=Admin Settings - View and Add Users
|
||||
account.userControlSettings=User Control Settings
|
||||
account.changeUsername=Change Username
|
||||
account.changeUsername=Change Username
|
||||
account.newUsername=New Username
|
||||
account.password=Confirmation Password
|
||||
account.oldPassword=Old password
|
||||
account.newPassword=New Password
|
||||
@@ -141,13 +149,16 @@ adminUserSettings.header=Admin User Control Settings
|
||||
adminUserSettings.admin=Admin
|
||||
adminUserSettings.user=User
|
||||
adminUserSettings.addUser=Add New User
|
||||
adminUserSettings.usernameInfo=Username must only contain letters and numbers, no spaces or special characters.
|
||||
adminUserSettings.roles=Roles
|
||||
adminUserSettings.role=Role
|
||||
adminUserSettings.actions=Actions
|
||||
adminUserSettings.apiUser=Limited API User
|
||||
adminUserSettings.extraApiUser=Additional Limited API User
|
||||
adminUserSettings.webOnlyUser=Web Only User
|
||||
adminUserSettings.demoUser=Demo User (No custom settings)
|
||||
adminUserSettings.forceChange=Force user to change username/password on login
|
||||
adminUserSettings.internalApiUser=Internal API User
|
||||
adminUserSettings.forceChange=Force user to change password on login
|
||||
adminUserSettings.submit=Save User
|
||||
|
||||
#############
|
||||
@@ -366,7 +377,7 @@ showJS.tags=JS
|
||||
|
||||
home.autoRedact.title=Auto Redact
|
||||
home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text
|
||||
showJS.tags=JS
|
||||
autoRedact.tags=Redact,Hide,black out,black,marker,hidden
|
||||
|
||||
home.tableExtraxt.title=PDF to CSV
|
||||
home.tableExtraxt.desc=Extracts Tables from a PDF converting it to CSV
|
||||
@@ -391,6 +402,15 @@ home.AddStampRequest.desc=Add text or add image stamps at set locations
|
||||
AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Customize
|
||||
|
||||
|
||||
home.PDFToBook.title=PDF to Book
|
||||
home.PDFToBook.desc=Converts PDF to Book/Comic formats using calibre
|
||||
PDFToBook.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
home.BookToPDF.title=Book to PDF
|
||||
home.BookToPDF.desc=Converts Books/Comics formats to PDF using calibre
|
||||
BookToPDF.tags=Book,Comic,Calibre,Convert,manga,amazon,kindle
|
||||
|
||||
|
||||
###########################
|
||||
# #
|
||||
# WEB PAGES #
|
||||
@@ -398,6 +418,7 @@ AddStampRequest.tags=Stamp, Add image, center image, Watermark, PDF, Embed, Cust
|
||||
###########################
|
||||
#login
|
||||
login.title=Sign in
|
||||
login.header=Sign in
|
||||
login.signin=Sign in
|
||||
login.rememberme=Remember me
|
||||
login.invalid=Invalid username or password.
|
||||
@@ -435,6 +456,7 @@ pdfToSinglePage.submit=Convert To Single Page
|
||||
pageExtracter.title=Extract Pages
|
||||
pageExtracter.header=Extract Pages
|
||||
pageExtracter.submit=Extract
|
||||
pageExtracter.placeholder=(e.g. 1,2,8 or 4,7,12-16 or 2n-1)
|
||||
|
||||
|
||||
#getPdfInfo
|
||||
@@ -498,6 +520,7 @@ AddStampRequest.customMargin=Custom Margin
|
||||
AddStampRequest.customColor=Custom Text Color
|
||||
AddStampRequest.submit=Submit
|
||||
|
||||
|
||||
#sanitizePDF
|
||||
sanitizePDF.title=Sanitize PDF
|
||||
sanitizePDF.header=Sanitize a PDF file
|
||||
@@ -621,6 +644,18 @@ compare.document.1=Dokument 1
|
||||
compare.document.2=Dokument 2
|
||||
compare.submit=Jämför
|
||||
|
||||
#BookToPDF
|
||||
BookToPDF.title=Books and Comics to PDF
|
||||
BookToPDF.header=Book to PDF
|
||||
BookToPDF.credit=Uses Calibre
|
||||
BookToPDF.submit=Convert
|
||||
|
||||
#PDFToBook
|
||||
PDFToBook.title=PDF to Book
|
||||
PDFToBook.header=PDF to Book
|
||||
PDFToBook.selectText.1=Format
|
||||
PDFToBook.credit=Uses Calibre
|
||||
PDFToBook.submit=Convert
|
||||
|
||||
#sign
|
||||
sign.title=Signera
|
||||
@@ -724,11 +759,23 @@ merge.submit=Slå samman
|
||||
pdfOrganiser.title=Sidorganisatör
|
||||
pdfOrganiser.header=PDF-sidorganisatör
|
||||
pdfOrganiser.submit=Ordna om sidor
|
||||
pdfOrganiser.mode=Mode
|
||||
pdfOrganiser.mode.1=Custom Page Order
|
||||
pdfOrganiser.mode.2=Reverse Order
|
||||
pdfOrganiser.mode.3=Duplex Sort
|
||||
pdfOrganiser.mode.4=Booklet Sort
|
||||
pdfOrganiser.mode.5=Side Stitch Booklet Sort
|
||||
pdfOrganiser.mode.6=Odd-Even Split
|
||||
pdfOrganiser.mode.7=Remove First
|
||||
pdfOrganiser.mode.8=Remove Last
|
||||
pdfOrganiser.mode.9=Remove First and Last
|
||||
pdfOrganiser.placeholder=(e.g. 1,3,2 or 4-8,2,10-12 or 2n-1)
|
||||
|
||||
|
||||
#multiTool
|
||||
multiTool.title=PDF-multiverktyg
|
||||
multiTool.header=PDF Multi-verktyg
|
||||
multiTool.uploadPrompts=Please Upload PDF
|
||||
|
||||
#view pdf
|
||||
viewPdf.title=View PDF
|
||||
@@ -739,6 +786,7 @@ pageRemover.title=Sidborttagare
|
||||
pageRemover.header=PDF Sidborttagning
|
||||
pageRemover.pagesToDelete=Sidor att radera (Ange en kommaseparerad lista med sidnummer) :
|
||||
pageRemover.submit=Ta bort sidor
|
||||
pageRemover.placeholder=(e.g. 1,2,6 or 1-10,15-30)
|
||||
|
||||
|
||||
#rotate
|
||||
@@ -826,6 +874,8 @@ watermark.selectText.7=Opacitet (0% - 100%):
|
||||
watermark.selectText.8=Watermark Type:
|
||||
watermark.selectText.9=Watermark Image:
|
||||
watermark.submit=Lägg till vattenstämpel
|
||||
watermark.type.1=Text
|
||||
watermark.type.2=Image
|
||||
|
||||
|
||||
#Change permissions
|
||||
@@ -866,7 +916,6 @@ changeMetadata.keywords=Sökord:
|
||||
changeMetadata.modDate=Ändringsdatum (åååå/MM/dd HH:mm:ss):
|
||||
changeMetadata.producer=Producent:
|
||||
changeMetadata.subject=Ämne:
|
||||
changeMetadata.title=Titel:
|
||||
changeMetadata.trapped=Fångad:
|
||||
changeMetadata.selectText.4=Andra metadata:
|
||||
changeMetadata.selectText.5=Lägg till anpassad metadatapost
|
||||
@@ -878,6 +927,7 @@ pdfToPDFA.title=PDF till PDF/A
|
||||
pdfToPDFA.header=PDF till PDF/A
|
||||
pdfToPDFA.credit=Denna tjänst använder OCRmyPDF för PDF/A-konvertering
|
||||
pdfToPDFA.submit=Konvertera
|
||||
pdfToPDFA.tip=Currently does not work for multiple inputs at once
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -924,6 +974,7 @@ PDFToCSV.prompt=Choose page to extract table
|
||||
PDFToCSV.submit=Navvit
|
||||
|
||||
#split-by-size-or-count
|
||||
split-by-size-or-count.title=Split PDF by Size or Count
|
||||
split-by-size-or-count.header=Split PDF by Size or Count
|
||||
split-by-size-or-count.type.label=Select Split Type
|
||||
split-by-size-or-count.type.size=By Size
|
||||
@@ -958,7 +1009,7 @@ split-by-sections.vertical.label=Vertical Divisions
|
||||
split-by-sections.horizontal.placeholder=Enter number of horizontal divisions
|
||||
split-by-sections.vertical.placeholder=Enter number of vertical divisions
|
||||
split-by-sections.submit=Split PDF
|
||||
|
||||
split-by-sections.merge=Merge Into One PDF
|
||||
|
||||
#licenses
|
||||
licenses.nav=Licenses
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user