Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9a6394e997 | ||
|
|
45443a67ff | ||
|
|
0cac7e02e8 | ||
|
|
2245333622 | ||
|
|
e27276392c | ||
|
|
17699fadb1 | ||
|
|
ed67440a10 |
@@ -224,10 +224,78 @@ jobs:
|
||||
path: |
|
||||
./binaries/*
|
||||
|
||||
sign_verify:
|
||||
needs: [read_versions, build-installers]
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
platform: win-
|
||||
- os: macos-latest
|
||||
platform: mac-
|
||||
# - os: ubuntu-latest
|
||||
# platform: linux-
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Harden Runner
|
||||
uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2
|
||||
with:
|
||||
egress-policy: audit
|
||||
|
||||
- name: Download build artifacts
|
||||
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
||||
with:
|
||||
name: ${{ matrix.platform }}binaries
|
||||
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R
|
||||
|
||||
- name: Install Cosign
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
|
||||
|
||||
- name: Generate key pair
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: cosign generate-key-pair
|
||||
|
||||
- name: Sign and generate attestations
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
cosign sign-blob \
|
||||
--key ./cosign.key \
|
||||
--yes \
|
||||
--output-signature ./Stirling-PDF-win-installer.exe.sig \
|
||||
./Stirling-PDF-win-installer.exe
|
||||
|
||||
cosign attest-blob \
|
||||
--predicate - \
|
||||
--key ./cosign.key \
|
||||
--yes \
|
||||
--output-attestation ./Stirling-PDF-win-installer.exe.intoto.jsonl \
|
||||
./Stirling-PDF-win-installer.exe
|
||||
|
||||
cosign verify-blob \
|
||||
--key ./cosign.pub \
|
||||
--signature ./Stirling-PDF-win-installer.exe.sig \
|
||||
./Stirling-PDF-win-installer.exe
|
||||
|
||||
- name: Display structure of downloaded files
|
||||
run: ls -R
|
||||
|
||||
- name: Upload signed artifacts
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
||||
with:
|
||||
retention-days: 1
|
||||
if-no-files-found: error
|
||||
name: ${{ matrix.platform }}signed
|
||||
path: |
|
||||
./Stirling-PDF-${{ matrix.platform }}installer.*
|
||||
./Stirling-PDF-${{ matrix.platform }}x86_64-installer.*
|
||||
!cosign.*
|
||||
|
||||
create-release:
|
||||
if: github.event_name != 'workflow_dispatch' || github.event.inputs.test_mode != 'true'
|
||||
needs: [read_versions, sign_verify-portable]
|
||||
needs: [read_versions, sign_verify, sign_verify-portable]
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
@@ -33,7 +33,6 @@ All documentation available at [https://docs.stirlingpdf.com/](https://docs.stir
|
||||
### 50+ PDF Operations
|
||||
|
||||
#### Organise
|
||||
- **PDF Multi Tool**: Access merge, rotate, rearrange, split and delete actions from a single dashboard
|
||||
- **Merge**: Combine multiple PDFs into one
|
||||
- **Split**: Divide PDFs into multiple files
|
||||
- **Extract page(s)**: Extract specific pages from PDF
|
||||
@@ -48,7 +47,6 @@ All documentation available at [https://docs.stirlingpdf.com/](https://docs.stir
|
||||
#### Convert to PDF
|
||||
- **Image to PDF**: Convert images to PDF format
|
||||
- **Convert file to PDF**: Convert various common file types to PDF
|
||||
- **URL/Website to PDF**: Capture live webpages as PDFs
|
||||
- **HTML to PDF**: Transform HTML documents to PDF
|
||||
- **Markdown to PDF**: Convert Markdown files to PDF
|
||||
- **CBZ to PDF**: Convert comic book archives
|
||||
@@ -70,7 +68,6 @@ All documentation available at [https://docs.stirlingpdf.com/](https://docs.stir
|
||||
- **PDF to CBZ**: Convert to comic book archive
|
||||
- **PDF to CBR**: Convert to comic book rar archive
|
||||
- **PDF to Vector Image**: Convert PDF to vector image (EPS, PS, PCL, XPS) format
|
||||
- **PDF to Video Slideshow**: Export pages as an automated video presentation
|
||||
|
||||
#### Sign & Security
|
||||
- **Sign**: Add digital signatures
|
||||
@@ -90,7 +87,6 @@ All documentation available at [https://docs.stirlingpdf.com/](https://docs.stir
|
||||
- **OCR / Cleanup scans**: Optical Character Recognition
|
||||
- **Add Image**: Insert images into PDF
|
||||
- **Extract Images**: Extract embedded images
|
||||
- **Extract Attachments**: Retrieve embedded attachments
|
||||
- **Change Metadata**: Edit PDF metadata
|
||||
- **Get ALL Info on PDF**: Comprehensive PDF analysis
|
||||
- **Advanced Colour options**: Colour manipulation (various options for colour inversion, CMYK conversion)
|
||||
@@ -138,47 +134,47 @@ Stirling-PDF currently supports 40 languages!
|
||||
|
||||
| Language | Progress |
|
||||
|----------------------------------------------|----------------------------------------|
|
||||
| Arabic (العربية) (ar_AR) |  |
|
||||
| Azerbaijani (Azərbaycan Dili) (az_AZ) |  |
|
||||
| Basque (Euskara) (eu_ES) |  |
|
||||
| Bulgarian (Български) (bg_BG) |  |
|
||||
| Catalan (Català) (ca_CA) |  |
|
||||
| Croatian (Hrvatski) (hr_HR) |  |
|
||||
| Czech (Česky) (cs_CZ) |  |
|
||||
| Danish (Dansk) (da_DK) |  |
|
||||
| Dutch (Nederlands) (nl_NL) |  |
|
||||
| Arabic (العربية) (ar_AR) |  |
|
||||
| Azerbaijani (Azərbaycan Dili) (az_AZ) |  |
|
||||
| Basque (Euskara) (eu_ES) |  |
|
||||
| Bulgarian (Български) (bg_BG) |  |
|
||||
| Catalan (Català) (ca_CA) |  |
|
||||
| Croatian (Hrvatski) (hr_HR) |  |
|
||||
| Czech (Česky) (cs_CZ) |  |
|
||||
| Danish (Dansk) (da_DK) |  |
|
||||
| Dutch (Nederlands) (nl_NL) |  |
|
||||
| English (English) (en_GB) |  |
|
||||
| English (US) (en_US) |  |
|
||||
| French (Français) (fr_FR) |  |
|
||||
| German (Deutsch) (de_DE) |  |
|
||||
| Greek (Ελληνικά) (el_GR) |  |
|
||||
| Hindi (हिंदी) (hi_IN) |  |
|
||||
| Hungarian (Magyar) (hu_HU) |  |
|
||||
| Indonesian (Bahasa Indonesia) (id_ID) |  |
|
||||
| Irish (Gaeilge) (ga_IE) |  |
|
||||
| Italian (Italiano) (it_IT) |  |
|
||||
| Japanese (日本語) (ja_JP) |  |
|
||||
| Korean (한국어) (ko_KR) |  |
|
||||
| Norwegian (Norsk) (no_NB) |  |
|
||||
| Persian (فارسی) (fa_IR) |  |
|
||||
| Polish (Polski) (pl_PL) |  |
|
||||
| Portuguese (Português) (pt_PT) |  |
|
||||
| Portuguese Brazilian (Português) (pt_BR) |  |
|
||||
| Romanian (Română) (ro_RO) |  |
|
||||
| Russian (Русский) (ru_RU) |  |
|
||||
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
||||
| Simplified Chinese (简体中文) (zh_CN) |  |
|
||||
| Slovakian (Slovensky) (sk_SK) |  |
|
||||
| Slovenian (Slovenščina) (sl_SI) |  |
|
||||
| Spanish (Español) (es_ES) |  |
|
||||
| Swedish (Svenska) (sv_SE) |  |
|
||||
| Thai (ไทย) (th_TH) |  |
|
||||
| Tibetan (བོད་ཡིག་) (bo_CN) |  |
|
||||
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
||||
| Turkish (Türkçe) (tr_TR) |  |
|
||||
| Ukrainian (Українська) (uk_UA) |  |
|
||||
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
||||
| Malayalam (മലയാളം) (ml_IN) |  |
|
||||
| French (Français) (fr_FR) |  |
|
||||
| German (Deutsch) (de_DE) |  |
|
||||
| Greek (Ελληνικά) (el_GR) |  |
|
||||
| Hindi (हिंदी) (hi_IN) |  |
|
||||
| Hungarian (Magyar) (hu_HU) |  |
|
||||
| Indonesian (Bahasa Indonesia) (id_ID) |  |
|
||||
| Irish (Gaeilge) (ga_IE) |  |
|
||||
| Italian (Italiano) (it_IT) |  |
|
||||
| Japanese (日本語) (ja_JP) |  |
|
||||
| Korean (한국어) (ko_KR) |  |
|
||||
| Norwegian (Norsk) (no_NB) |  |
|
||||
| Persian (فارسی) (fa_IR) |  |
|
||||
| Polish (Polski) (pl_PL) |  |
|
||||
| Portuguese (Português) (pt_PT) |  |
|
||||
| Portuguese Brazilian (Português) (pt_BR) |  |
|
||||
| Romanian (Română) (ro_RO) |  |
|
||||
| Russian (Русский) (ru_RU) |  |
|
||||
| Serbian Latin alphabet (Srpski) (sr_LATN_RS) |  |
|
||||
| Simplified Chinese (简体中文) (zh_CN) |  |
|
||||
| Slovakian (Slovensky) (sk_SK) |  |
|
||||
| Slovenian (Slovenščina) (sl_SI) |  |
|
||||
| Spanish (Español) (es_ES) |  |
|
||||
| Swedish (Svenska) (sv_SE) |  |
|
||||
| Thai (ไทย) (th_TH) |  |
|
||||
| Tibetan (བོད་ཡིག་) (bo_CN) |  |
|
||||
| Traditional Chinese (繁體中文) (zh_TW) |  |
|
||||
| Turkish (Türkçe) (tr_TR) |  |
|
||||
| Ukrainian (Українська) (uk_UA) |  |
|
||||
| Vietnamese (Tiếng Việt) (vi_VN) |  |
|
||||
| Malayalam (മലയാളം) (ml_IN) |  |
|
||||
|
||||
## Stirling PDF Enterprise
|
||||
|
||||
|
||||
+5
@@ -478,6 +478,11 @@ public class CustomPDFDocumentFactory {
|
||||
return file;
|
||||
}
|
||||
|
||||
/** Create a uniquely named temporary directory */
|
||||
private Path createTempDirectory(String prefix) throws IOException {
|
||||
return Files.createTempDirectory(prefix + tempCounter.incrementAndGet() + "-");
|
||||
}
|
||||
|
||||
/** Create new document bytes based on an existing document */
|
||||
public byte[] createNewBytesBasedOnOldDocument(byte[] oldDocument) throws IOException {
|
||||
try (PDDocument document = load(oldDocument)) {
|
||||
|
||||
@@ -5,8 +5,11 @@ import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.FileVisitResult;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.SimpleFileVisitor;
|
||||
import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
@@ -145,6 +148,64 @@ public class FileToPdf {
|
||||
}
|
||||
}
|
||||
|
||||
private static void deleteDirectory(Path dir) throws IOException {
|
||||
Files.walkFileTree(
|
||||
dir,
|
||||
new SimpleFileVisitor<Path>() {
|
||||
@Override
|
||||
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
|
||||
throws IOException {
|
||||
Files.delete(file);
|
||||
return FileVisitResult.CONTINUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public FileVisitResult postVisitDirectory(Path dir, IOException exc)
|
||||
throws IOException {
|
||||
Files.delete(dir);
|
||||
return FileVisitResult.CONTINUE;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static Path unzipAndGetMainHtml(byte[] fileBytes) throws IOException {
|
||||
Path tempDirectory = Files.createTempDirectory("unzipped_");
|
||||
try (ZipInputStream zipIn =
|
||||
ZipSecurity.createHardenedInputStream(new ByteArrayInputStream(fileBytes))) {
|
||||
ZipEntry entry = zipIn.getNextEntry();
|
||||
while (entry != null) {
|
||||
Path filePath = tempDirectory.resolve(sanitizeZipFilename(entry.getName()));
|
||||
if (entry.isDirectory()) {
|
||||
Files.createDirectories(filePath); // Explicitly create the directory structure
|
||||
} else {
|
||||
Files.createDirectories(
|
||||
filePath.getParent()); // Create parent directories if they don't exist
|
||||
Files.copy(zipIn, filePath);
|
||||
}
|
||||
zipIn.closeEntry();
|
||||
entry = zipIn.getNextEntry();
|
||||
}
|
||||
}
|
||||
|
||||
// Search for the main HTML file.
|
||||
try (Stream<Path> walk = Files.walk(tempDirectory)) {
|
||||
List<Path> htmlFiles = walk.filter(file -> file.toString().endsWith(".html")).toList();
|
||||
|
||||
if (htmlFiles.isEmpty()) {
|
||||
throw new IOException("No HTML files found in the unzipped directory.");
|
||||
}
|
||||
|
||||
// Prioritize 'index.html' if it exists, otherwise use the first .html file
|
||||
for (Path htmlFile : htmlFiles) {
|
||||
if ("index.html".equals(htmlFile.getFileName().toString())) {
|
||||
return htmlFile;
|
||||
}
|
||||
}
|
||||
|
||||
return htmlFiles.get(0);
|
||||
}
|
||||
}
|
||||
|
||||
static String sanitizeZipFilename(String entryName) {
|
||||
if (entryName == null || entryName.trim().isEmpty()) {
|
||||
return "";
|
||||
|
||||
@@ -94,6 +94,32 @@ public class GeneralUtils {
|
||||
return tempFile;
|
||||
}
|
||||
|
||||
/*
|
||||
* Gets the configured temporary directory, creating it if necessary.
|
||||
*
|
||||
* @return Path to the temporary directory
|
||||
* @throws IOException if directory creation fails
|
||||
*/
|
||||
private Path getTempDirectory() throws IOException {
|
||||
String customTempDir = System.getenv("STIRLING_TEMPFILES_DIRECTORY");
|
||||
if (customTempDir == null || customTempDir.isEmpty()) {
|
||||
customTempDir = System.getProperty("stirling.tempfiles.directory");
|
||||
}
|
||||
|
||||
Path tempDir;
|
||||
if (customTempDir != null && !customTempDir.isEmpty()) {
|
||||
tempDir = Path.of(customTempDir);
|
||||
} else {
|
||||
tempDir = Path.of(System.getProperty("java.io.tmpdir"), "stirling-pdf");
|
||||
}
|
||||
|
||||
if (!Files.exists(tempDir)) {
|
||||
Files.createDirectories(tempDir);
|
||||
}
|
||||
|
||||
return tempDir;
|
||||
}
|
||||
|
||||
/*
|
||||
* Remove file extension
|
||||
*
|
||||
|
||||
@@ -258,7 +258,6 @@ public class EndpointConfiguration {
|
||||
addEndpointToGroup("Convert", "url-to-pdf");
|
||||
addEndpointToGroup("Convert", "markdown-to-pdf");
|
||||
addEndpointToGroup("Convert", "ebook-to-pdf");
|
||||
addEndpointToGroup("Convert", "pdf-to-epub");
|
||||
addEndpointToGroup("Convert", "pdf-to-csv");
|
||||
addEndpointToGroup("Convert", "pdf-to-markdown");
|
||||
addEndpointToGroup("Convert", "eml-to-pdf");
|
||||
@@ -450,7 +449,6 @@ public class EndpointConfiguration {
|
||||
|
||||
// Calibre dependent endpoints
|
||||
addEndpointToGroup("Calibre", "ebook-to-pdf");
|
||||
addEndpointToGroup("Calibre", "pdf-to-epub");
|
||||
|
||||
// Pdftohtml dependent endpoints
|
||||
addEndpointToGroup("Pdftohtml", "pdf-to-html");
|
||||
|
||||
-204
@@ -1,204 +0,0 @@
|
||||
package stirling.software.SPDF.controller.api.converters;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import io.github.pixee.security.Filenames;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import stirling.software.SPDF.config.EndpointConfiguration;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest.OutputFormat;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest.TargetDevice;
|
||||
import stirling.software.common.util.GeneralUtils;
|
||||
import stirling.software.common.util.ProcessExecutor;
|
||||
import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult;
|
||||
import stirling.software.common.util.TempFileManager;
|
||||
import stirling.software.common.util.WebResponseUtils;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/convert")
|
||||
@Tag(name = "Convert", description = "Convert APIs")
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class ConvertPDFToEpubController {
|
||||
|
||||
private static final String CALIBRE_GROUP = "Calibre";
|
||||
private static final String DEFAULT_EXTENSION = "pdf";
|
||||
private static final String FILTERED_CSS =
|
||||
"font-family,color,background-color,margin-left,margin-right";
|
||||
private static final String SMART_CHAPTER_EXPRESSION =
|
||||
"//h:*[re:test(., '\\s*Chapter\\s+', 'i')]";
|
||||
|
||||
private final TempFileManager tempFileManager;
|
||||
private final EndpointConfiguration endpointConfiguration;
|
||||
|
||||
private static List<String> buildCalibreCommand(
|
||||
Path inputPath, Path outputPath, boolean detectChapters, TargetDevice targetDevice) {
|
||||
List<String> command = new ArrayList<>();
|
||||
command.add("ebook-convert");
|
||||
command.add(inputPath.toString());
|
||||
command.add(outputPath.toString());
|
||||
|
||||
// Golden defaults
|
||||
command.add("--enable-heuristics");
|
||||
command.add("--insert-blank-line");
|
||||
command.add("--filter-css");
|
||||
command.add(FILTERED_CSS);
|
||||
|
||||
if (detectChapters) {
|
||||
command.add("--chapter");
|
||||
command.add(SMART_CHAPTER_EXPRESSION);
|
||||
}
|
||||
|
||||
if (targetDevice != null) {
|
||||
command.add("--output-profile");
|
||||
command.add(targetDevice.getCalibreProfile());
|
||||
}
|
||||
|
||||
return command;
|
||||
}
|
||||
|
||||
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE, value = "/pdf/epub")
|
||||
@Operation(
|
||||
summary = "Convert PDF to EPUB/AZW3",
|
||||
description =
|
||||
"Convert a PDF file to a high-quality EPUB or AZW3 ebook using Calibre. Input:PDF"
|
||||
+ " Output:EPUB/AZW3 Type:SISO")
|
||||
public ResponseEntity<byte[]> convertPdfToEpub(@ModelAttribute ConvertPdfToEpubRequest request)
|
||||
throws Exception {
|
||||
|
||||
if (!endpointConfiguration.isGroupEnabled(CALIBRE_GROUP)) {
|
||||
throw new IllegalStateException(
|
||||
"Calibre support is disabled. Enable the Calibre group or install Calibre to use"
|
||||
+ " this feature.");
|
||||
}
|
||||
|
||||
MultipartFile inputFile = request.getFileInput();
|
||||
if (inputFile == null || inputFile.isEmpty()) {
|
||||
throw new IllegalArgumentException("No input file provided");
|
||||
}
|
||||
|
||||
boolean detectChapters = !Boolean.FALSE.equals(request.getDetectChapters());
|
||||
TargetDevice targetDevice =
|
||||
request.getTargetDevice() == null
|
||||
? TargetDevice.TABLET_PHONE_IMAGES
|
||||
: request.getTargetDevice();
|
||||
OutputFormat outputFormat =
|
||||
request.getOutputFormat() == null ? OutputFormat.EPUB : request.getOutputFormat();
|
||||
|
||||
String originalFilename = Filenames.toSimpleFileName(inputFile.getOriginalFilename());
|
||||
if (originalFilename == null || originalFilename.isBlank()) {
|
||||
originalFilename = "document." + DEFAULT_EXTENSION;
|
||||
}
|
||||
|
||||
String extension = FilenameUtils.getExtension(originalFilename);
|
||||
if (extension.isBlank()) {
|
||||
throw new IllegalArgumentException("Unable to determine file type");
|
||||
}
|
||||
|
||||
if (!DEFAULT_EXTENSION.equalsIgnoreCase(extension)) {
|
||||
throw new IllegalArgumentException("Input file must be a PDF");
|
||||
}
|
||||
|
||||
String baseName = FilenameUtils.getBaseName(originalFilename);
|
||||
if (baseName == null || baseName.isBlank()) {
|
||||
baseName = "document";
|
||||
}
|
||||
|
||||
Path workingDirectory = null;
|
||||
Path inputPath = null;
|
||||
Path outputPath = null;
|
||||
|
||||
try {
|
||||
workingDirectory = tempFileManager.createTempDirectory();
|
||||
inputPath = workingDirectory.resolve(baseName + "." + DEFAULT_EXTENSION);
|
||||
outputPath = workingDirectory.resolve(baseName + "." + outputFormat.getExtension());
|
||||
|
||||
try (InputStream inputStream = inputFile.getInputStream()) {
|
||||
Files.copy(inputStream, inputPath, StandardCopyOption.REPLACE_EXISTING);
|
||||
}
|
||||
|
||||
List<String> command =
|
||||
buildCalibreCommand(inputPath, outputPath, detectChapters, targetDevice);
|
||||
ProcessExecutorResult result =
|
||||
ProcessExecutor.getInstance(ProcessExecutor.Processes.CALIBRE)
|
||||
.runCommandWithOutputHandling(command, workingDirectory.toFile());
|
||||
|
||||
if (result == null) {
|
||||
throw new IllegalStateException("Calibre conversion returned no result");
|
||||
}
|
||||
|
||||
if (result.getRc() != 0) {
|
||||
String errorMessage = result.getMessages();
|
||||
if (errorMessage == null || errorMessage.isBlank()) {
|
||||
errorMessage = "Calibre conversion failed";
|
||||
}
|
||||
throw new IllegalStateException(errorMessage);
|
||||
}
|
||||
|
||||
if (!Files.exists(outputPath) || Files.size(outputPath) == 0L) {
|
||||
throw new IllegalStateException(
|
||||
"Calibre did not produce a " + outputFormat.name() + " output");
|
||||
}
|
||||
|
||||
String outputFilename =
|
||||
GeneralUtils.generateFilename(
|
||||
originalFilename,
|
||||
"_convertedTo"
|
||||
+ outputFormat.name()
|
||||
+ "."
|
||||
+ outputFormat.getExtension());
|
||||
|
||||
byte[] outputBytes = Files.readAllBytes(outputPath);
|
||||
MediaType mediaType = MediaType.valueOf(outputFormat.getMediaType());
|
||||
return WebResponseUtils.bytesToWebResponse(outputBytes, outputFilename, mediaType);
|
||||
} finally {
|
||||
cleanupTempFiles(workingDirectory, inputPath, outputPath);
|
||||
}
|
||||
}
|
||||
|
||||
private void cleanupTempFiles(Path workingDirectory, Path inputPath, Path outputPath) {
|
||||
if (workingDirectory == null) {
|
||||
return;
|
||||
}
|
||||
List<Path> pathsToDelete = new ArrayList<>();
|
||||
if (inputPath != null) {
|
||||
pathsToDelete.add(inputPath);
|
||||
}
|
||||
if (outputPath != null) {
|
||||
pathsToDelete.add(outputPath);
|
||||
}
|
||||
for (Path path : pathsToDelete) {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException e) {
|
||||
log.warn("Failed to delete temporary file: {}", path, e);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
tempFileManager.deleteTempDirectory(workingDirectory);
|
||||
} catch (Exception e) {
|
||||
log.warn("Failed to delete temporary directory: {}", workingDirectory, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
-11
@@ -54,17 +54,6 @@ public class ConverterWebController {
|
||||
return "convert/ebook-to-pdf";
|
||||
}
|
||||
|
||||
@GetMapping("/pdf-to-epub")
|
||||
@Hidden
|
||||
public String convertPdfToEpubForm(Model model) {
|
||||
if (!ApplicationContextProvider.getBean(EndpointConfiguration.class)
|
||||
.isEndpointEnabled("pdf-to-epub")) {
|
||||
throw new ResponseStatusException(HttpStatus.NOT_FOUND);
|
||||
}
|
||||
model.addAttribute("currentPage", "pdf-to-epub");
|
||||
return "convert/pdf-to-epub";
|
||||
}
|
||||
|
||||
@GetMapping("/pdf-to-cbr")
|
||||
@Hidden
|
||||
public String convertPdfToCbrForm(Model model) {
|
||||
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
package stirling.software.SPDF.model.api.converters;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
|
||||
import stirling.software.common.model.api.PDFFile;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ConvertPdfToEpubRequest extends PDFFile {
|
||||
|
||||
@Schema(
|
||||
description = "Detect headings that look like chapters and insert EPUB page breaks.",
|
||||
allowableValues = {"true", "false"},
|
||||
defaultValue = "true")
|
||||
private Boolean detectChapters = Boolean.TRUE;
|
||||
|
||||
@Schema(
|
||||
description = "Choose an output profile optimized for the reader device.",
|
||||
allowableValues = {"TABLET_PHONE_IMAGES", "KINDLE_EINK_TEXT"},
|
||||
defaultValue = "TABLET_PHONE_IMAGES")
|
||||
private TargetDevice targetDevice = TargetDevice.TABLET_PHONE_IMAGES;
|
||||
|
||||
@Schema(
|
||||
description = "Choose the output format for the ebook.",
|
||||
allowableValues = {"EPUB", "AZW3"},
|
||||
defaultValue = "EPUB")
|
||||
private OutputFormat outputFormat = OutputFormat.EPUB;
|
||||
|
||||
@Getter
|
||||
public enum TargetDevice {
|
||||
TABLET_PHONE_IMAGES("tablet"),
|
||||
KINDLE_EINK_TEXT("kindle");
|
||||
|
||||
private final String calibreProfile;
|
||||
|
||||
TargetDevice(String calibreProfile) {
|
||||
this.calibreProfile = calibreProfile;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public enum OutputFormat {
|
||||
EPUB("epub", "application/epub+zip"),
|
||||
AZW3("azw3", "application/vnd.amazon.ebook");
|
||||
|
||||
private final String extension;
|
||||
private final String mediaType;
|
||||
|
||||
OutputFormat(String extension, String mediaType) {
|
||||
this.extension = extension;
|
||||
this.mediaType = mediaType;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=لم يتم العثور على إشارات مرجع
|
||||
error.fontLoadingFailed=حدث خطأ أثناء معالجة ملف الخط
|
||||
error.fontDirectoryReadFailed=فشل في قراءة دليل الخطوط
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=حذف
|
||||
username=اسم المستخدم
|
||||
password=كلمة المرور
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Sil
|
||||
username=İstifadəçi Adı
|
||||
password=Şifr
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=В документа не са намерени PDF
|
||||
error.fontLoadingFailed=Грешка при обработката на шрифтовия файл
|
||||
error.fontDirectoryReadFailed=Неуспешно четене на директорията с шрифтове
|
||||
error.noAttachmentsFound=В предоставения PDF файл не са намерени вградени прикачени файлове.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Изтрий
|
||||
username=Потребителско име
|
||||
password=Парола
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF в CBZ
|
||||
home.pdfToCbz.desc=Преобразуване на PDF файлове в архиви на комикси на CBZ.
|
||||
pdfToCbz.tags=преобразуване,комикс,книга,архив,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF в CBR
|
||||
pdfToCBR.header=PDF в CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF във векторно изображение
|
||||
pdfToVector.description=Преобразуване на PDF файл в генерирани от Ghostscript векторни формати (EPS, PS, PCL или XPS).
|
||||
pdfToVector.outputFormat=Изходен формат
|
||||
pdfToVector.submit=Преобразуване
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=སུབ་པ།
|
||||
username=སྤྱོད་མཁན་མིང་།
|
||||
password=གསང་ཚིག།
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Esborra
|
||||
username=Usuari
|
||||
password=Contrasenya
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Smazat
|
||||
username=Uživatelské jméno
|
||||
password=Heslo
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Slet
|
||||
username=Brugernavn
|
||||
password=Adgangskode
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Keine PDF-Lesezeichen/Gliederung im Dokument gefunden
|
||||
error.fontLoadingFailed=Fehler bei der Verarbeitung der Schriftdatei.
|
||||
error.fontDirectoryReadFailed=Konnte das Schriftverzeichnis nicht lesen.
|
||||
error.noAttachmentsFound=Keine eingebetteten Anhänge im bereitgestellten PDF gefunden.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Löschen
|
||||
username=Benutzername
|
||||
password=Passwort
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=E-Book zu PDF
|
||||
home.ebookToPdf.desc=E-Book-Dateien (EPUB, MOBI, AZW3, FB2, TXT, DOCX) mit Calibre in PDF konvertieren.
|
||||
ebookToPdf.tags=konvertierung,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF zu CBZ
|
||||
home.pdfToCbz.desc=PDF-Dateien in CBZ-Comicarchive umwandeln.
|
||||
pdfToCbz.tags=konvertierung,comic,buch,archiv,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Seitenzahlen zur erzeugten PDF hinzufügen
|
||||
ebookToPDF.optimizeForEbook=PDF für E-Book-Reader optimieren (verwendet Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre-Unterstützung ist deaktiviert. Aktivieren Sie die Calibre-Werkzeuggruppe oder installieren Sie Calibre, um diese Funktion zu nutzen.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF zu CBR
|
||||
pdfToCBR.header=PDF zu CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF zu Vektorgrafik
|
||||
pdfToVector.description=Konvertieren Sie ein PDF in Ghostscript-generierte Vektorformate (EPS, PS, PCL oder XPS).
|
||||
pdfToVector.outputFormat=Ausgabeformat
|
||||
pdfToVector.submit=Konvertieren
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Διαγραφή
|
||||
username=Όνομα χρήστη
|
||||
password=Κωδικός
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -706,10 +706,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1592,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Delete
|
||||
username=Username
|
||||
password=Password
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No se encontraron marcadores/esquemas en el documento
|
||||
error.fontLoadingFailed=Error al procesar el archivo de fuente
|
||||
error.fontDirectoryReadFailed=Error al leer el directorio de fuentes
|
||||
error.noAttachmentsFound=No se encontraron archivos adjuntos en el PDF proporcionado.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Borrar
|
||||
username=Nombre de usuario
|
||||
password=Contraseña
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF a CBZ
|
||||
home.pdfToCbz.desc=Convierte archivos PDF a formato cómics CBZ.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF a CBR
|
||||
pdfToCBR.header=PDF a CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF a imagen vectorial
|
||||
pdfToVector.description=Convertir un PDF a formatos vectoriales generados por Ghostscript (EPS, PS, PCL o XPS).
|
||||
pdfToVector.outputFormat=Formato de salida
|
||||
pdfToVector.submit=Convertir
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=ezabatu
|
||||
username=Erabiltzaile izena
|
||||
password=Pasahitza
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=حذف
|
||||
username=نام کاربری
|
||||
password=رمز عبور
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Aucun signet ou plan PDF trouvé dans le document
|
||||
error.fontLoadingFailed=Erreur lors du traitement du fichier de police
|
||||
error.fontDirectoryReadFailed=Échec de la lecture du répertoire de polices
|
||||
error.noAttachmentsFound=Aucune pièce-jointe embarqué n'a été trouvé dans le PDF fourni.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Supprimer
|
||||
username=Nom d'utilisateur
|
||||
password=Mot de passe
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF en CBZ
|
||||
home.pdfToCbz.desc=Convertissez un fichier PDF en archive de bande dessinée CBZ.
|
||||
pdfToCbz.tags=bande dessinée,convertir,conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF en CBR
|
||||
pdfToCBR.header=PDF en CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF en image vectorielle
|
||||
pdfToVector.description=Convertissez un fichier PDF en formats vectoriels générés par Ghostscript (EPS, PS, PCL ou XPS).
|
||||
pdfToVector.outputFormat=Format de sortie
|
||||
pdfToVector.submit=Convertir
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Scrios
|
||||
username=Ainm úsáideora
|
||||
password=Pasfhocal
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=हटाएं
|
||||
username=उपयोगकर्ता नाम
|
||||
password=पासवर्ड
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=U dokumentu nisu pronađene PDF oznake/sadržaj
|
||||
error.fontLoadingFailed=Pogreška pri obradi datoteke fonta
|
||||
error.fontDirectoryReadFailed=Čitanje direktorija fontova nije uspjelo
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Izbriši
|
||||
username=Korisničko ime
|
||||
password=Lozinka
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Nem található PDF-könyvjelző/vázlat a dokumentum
|
||||
error.fontLoadingFailed=Hiba a betűtípusfájl feldolgozása közben
|
||||
error.fontDirectoryReadFailed=Nem sikerült beolvasni a betűtípus-könyvtárat
|
||||
error.noAttachmentsFound=A megadott PDF-ben nem találhatók beágyazott mellékletek.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Törlés
|
||||
username=Felhasználónév
|
||||
password=Jelszó
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF konvertálása CBZ-be
|
||||
home.pdfToCbz.desc=PDF fájlok konvertálása CBZ képregény archívumokba.
|
||||
pdfToCbz.tags=konverzió,képregény,könyv,archívum,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF konvertálása CBR-be
|
||||
pdfToCBR.header=PDF konvertálása CBR-be
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF konvertálása vektorgrafikává
|
||||
pdfToVector.description=PDF konvertálása Ghostscript által létrehozott vektoros formátumokra (EPS, PS, PCL vagy XPS).
|
||||
pdfToVector.outputFormat=Kimeneti formátum
|
||||
pdfToVector.submit=Konvertálás
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Hapus
|
||||
username=Nama pengguna
|
||||
password=Kata sandi
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -194,7 +194,7 @@ error.fileFormatRequired=Il file deve essere nel formato {0}
|
||||
error.invalidFormat=Formato {0} non valido:{1}
|
||||
error.endpointDisabled=Questo endpoint è stato disabilitato dall'amministratore
|
||||
error.urlNotReachable=L'URL non è raggiungibile, inserisci un URL valido
|
||||
error.disallowedUrlContent=Il contenuto dell'URL fa riferimento a risorse non consentite e non può essere convertito
|
||||
error.disallowedUrlContent=URL content references disallowed resources and cannot be converted
|
||||
error.invalidUrlFormat=Formato URL non valido. Il formato fornito non è valido.
|
||||
|
||||
# DPI and image rendering messages - used by frontend for dynamic translation
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Nessun segnalibro/schema PDF trovato nel documento
|
||||
error.fontLoadingFailed=Errore durante l'elaborazione del font file
|
||||
error.fontDirectoryReadFailed=Impossibile leggere la directory dei font
|
||||
error.noAttachmentsFound=Nessun allegato incorporato trovato nel PDF fornito.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Elimina
|
||||
username=Nome utente
|
||||
password=Password
|
||||
@@ -702,13 +616,9 @@ home.cbrToPdf.title=CBR in PDF
|
||||
home.cbrToPdf.desc=Converti gli archivi dei fumetti CBR in formato PDF.
|
||||
cbrToPdf.tags=conversione,fumetto,libro,archivio,cbr,rar
|
||||
|
||||
home.ebookToPdf.title=eBook in PDF
|
||||
home.ebookToPdf.desc=Converti i file eBook (EPUB, MOBI, AZW3, FB2, TXT, DOCX) in PDF utilizzando Calibre.
|
||||
ebookToPdf.tags=conversione,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToCbz.title=PDF in CBZ
|
||||
home.pdfToCbz.desc=Converti i file PDF negli archivi di fumetti CBZ.
|
||||
@@ -788,9 +698,9 @@ home.extractImages.title=Estrai immagini
|
||||
home.extractImages.desc=Estrai tutte le immagini da un PDF e salvale come zip.
|
||||
extractImages.tags=immagine,foto,salva,archivio,zip,catturare,prendere
|
||||
|
||||
home.pdfToPDFA.title=PDF in PDF/A e PDF/X
|
||||
home.pdfToPDFA.desc=Converti PDF in PDF/A per l'archiviazione a lungo termine o PDF/X per la produzione di stampa
|
||||
pdfToPDFA.tags=archivio,lungo termine,standard,conversione,archiviazione,conservazione,stampa,pdf-x
|
||||
home.pdfToPDFA.title=PDF to PDF/A & PDF/X
|
||||
home.pdfToPDFA.desc=Convert PDF to PDF/A for long-term storage or PDF/X for print production
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation,print,pdf-x
|
||||
|
||||
home.PDFToWord.title=Da PDF a Word
|
||||
home.PDFToWord.desc=Converti un PDF nei formati Word (DOC, DOCX e ODT)
|
||||
@@ -1115,7 +1025,7 @@ getPdfInfo.summary.all.permissions.alert=Tutti i permessi consentiti
|
||||
getPdfInfo.summary.compliance.alert={0} Conforme
|
||||
getPdfInfo.summary.no.compliance.alert=Nessuno standard di conformità
|
||||
getPdfInfo.summary.security.section=Stato di sicurezza
|
||||
getPdfInfo.summary.technical.section=Dettagli tecnici
|
||||
getPdfInfo.summary.technical.section=Technical Details
|
||||
getPdfInfo.section.BasicInfo=Informazioni di base sul documento PDF, tra cui dimensione del file, numero di pagine e lingua
|
||||
getPdfInfo.section.Metadata=Metadati del documento, inclusi titolo, autore, data di creazione e altre proprietà del documento
|
||||
getPdfInfo.section.DocumentInfo=Dettagli tecnici sulla struttura e la versione del documento PDF
|
||||
@@ -1233,7 +1143,7 @@ adjustContrast.download=Download
|
||||
crop.title=Ritaglia
|
||||
crop.header=Ritaglia PDF
|
||||
crop.submit=Invia
|
||||
crop.autoCrop=Ritaglio automatico (rileva e rimuove gli spazi bianchi)
|
||||
crop.autoCrop=Auto-crop (detect and remove white space)
|
||||
|
||||
#autoSplitPDF
|
||||
autoSplitPDF.title=PDF diviso automaticamente
|
||||
@@ -1501,7 +1411,7 @@ multiTool.delete=Elimina
|
||||
multiTool.dragDropMessage=Pagina(e) selezionata(e)
|
||||
multiTool.undo=Annulla
|
||||
multiTool.redo=Rifai
|
||||
multiTool.duplicate=Duplicata
|
||||
multiTool.duplicate=Duplicate
|
||||
multiTool.svgNotSupported=I file SVG non sono supportati in Strumenti multipli e sono stati ignorati.
|
||||
|
||||
#decrypt
|
||||
@@ -1586,29 +1496,15 @@ cbrToPDF.selectText=Seleziona file CBR
|
||||
cbrToPDF.optimizeForEbook=Ottimizza PDF per lettori di ebook (utilizza Ghostscript)
|
||||
|
||||
#ebookToPDF
|
||||
ebookToPDF.title=eBook in PDF
|
||||
ebookToPDF.header=eBook in PDF
|
||||
ebookToPDF.submit=Converti in PDF
|
||||
ebookToPDF.selectText=Seleziona file eBook
|
||||
ebookToPDF.embedAllFonts=Incorpora tutti i font nel PDF di output (potrebbe aumentare le dimensioni del file)
|
||||
ebookToPDF.includeTableOfContents=Aggiungere un indice generato al PDF
|
||||
ebookToPDF.includePageNumbers=Aggiungere i numeri di pagina al PDF generato
|
||||
ebookToPDF.optimizeForEbook=Ottimizzazione PDF per lettori di ebook (utilizza Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Il supporto di Calibre è disabilitato. Abilita il gruppo di strumenti Calibre o installa Calibre per utilizzare questa funzionalità.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
ebookToPDF.title=eBook to PDF
|
||||
ebookToPDF.header=eBook to PDF
|
||||
ebookToPDF.submit=Convert to PDF
|
||||
ebookToPDF.selectText=Select eBook file
|
||||
ebookToPDF.embedAllFonts=Embed all fonts in the output PDF (may increase file size)
|
||||
ebookToPDF.includeTableOfContents=Add a generated table of contents to the PDF
|
||||
ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF in CBR
|
||||
@@ -1739,15 +1635,15 @@ unlockPDFForms.header=Sbloccare i moduli PDF
|
||||
unlockPDFForms.submit=Rimuovi
|
||||
|
||||
#pdfToPDFA
|
||||
pdfToPDFA.title=PDF in PDF/A o PDF/X
|
||||
pdfToPDFA.header=PDF in PDF/A o PDF/X
|
||||
pdfToPDFA.credit=Questo servizio utilizza Ghostscript (preferito) o LibreOffice per la conversione PDF/A e Ghostscript per la conversione PDF/X
|
||||
pdfToPDFA.title=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.header=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.credit=This service uses Ghostscript (preferred) or LibreOffice for PDF/A conversion, and Ghostscript for PDF/X conversion
|
||||
pdfToPDFA.submit=Converti
|
||||
pdfToPDFA.tip=Converti PDF in PDF/A (archiviazione a lungo termine) o PDF/X (produzione di stampa)
|
||||
pdfToPDFA.tip=Convert PDF to PDF/A (long-term archiving) or PDF/X (print production)
|
||||
pdfToPDFA.outputFormat=Formato di output
|
||||
pdfToPDFA.pdfWithDigitalSignature=Il PDF contiene una firma digitale. Questo verrà rimosso nel passaggio successivo.
|
||||
pdfToPDFA.pdfaFormats=Formati PDF/A (archiviazione a lungo termine)
|
||||
pdfToPDFA.pdfxFormats=Formati PDF/X (produzione di stampa)
|
||||
pdfToPDFA.pdfaFormats=PDF/A Formats (Long-term Archiving)
|
||||
pdfToPDFA.pdfxFormats=PDF/X Formats (Print Production)
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF in Immagine Vettoriale
|
||||
pdfToVector.description=Converti un PDF in formati vettoriali generati da Ghostscript (EPS, PS, PCL o XPS).
|
||||
pdfToVector.outputFormat=Formato di output
|
||||
pdfToVector.submit=Converti
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=ドキュメント内にしおり/アウトライン
|
||||
error.fontLoadingFailed=フォントファイルの処理中にエラーが発生しました
|
||||
error.fontDirectoryReadFailed=フォントディレクトリの読み取りに失敗しました
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=削除
|
||||
username=ユーザー名
|
||||
password=パスワード
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDFをCBZに変換
|
||||
home.pdfToCbz.desc=PDFファイルをCBZコミックブックアーカイブに変換します。
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDFをCBRに変換
|
||||
pdfToCBR.header=PDFをCBRに変換
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=삭제
|
||||
username=사용자 이름
|
||||
password=비밀번호
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=മായ്ക്കുക
|
||||
username=ഉപയോക്തൃനാമം
|
||||
password=പാസ്വേഡ്
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Geen bladwijzers/samenvatting aangetroffen in PDF-doc
|
||||
error.fontLoadingFailed=Fout bij het verwerken van lettertypebestand
|
||||
error.fontDirectoryReadFailed=Lezen van lettertypemap is mislukt
|
||||
error.noAttachmentsFound=Er zijn geen ingesloten bijlagen gevonden in de PDF.
|
||||
error.nullArgument={0} mag niet leeg zijn
|
||||
error.invalidPageSize=Ongeldig paginagrootte-formaat: {0}
|
||||
error.invalidComparator=Ongeldige vergelijking-formaat: alleen 'groter', 'gelijk', en 'kleiner' worden ondersteund
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF-wachtwoord vereist
|
||||
error.outOfMemoryDpi.title=Geheugentekort - DPI te hoog
|
||||
error.pdfCorrupted.title=PDF-bestand is beschadigd
|
||||
error.multiplePdfCorrupted=Een of meer PDF-bestanden lijken beschadigd of defect te zijn. Probeer eerst de functie 'PDF repareren' op elk bestand te gebruiken voordat u probeert ze samen te voegen.
|
||||
error.pdfEncryption.title=PDF Versleutelingsfout
|
||||
error.application.title=Toepassingsfout
|
||||
error.cbrFormat.title=Ongeldig CBR-bestandsformaat
|
||||
error.cbzFormat.title=Ongeldig CBZ-bestandsformaat
|
||||
error.emlFormat.title=Ongeldig EML-bestandsformaat
|
||||
error.formatError.title=Ongeldig bestandsformaat
|
||||
error.validation.title=Verzoekvalidatie mislukt
|
||||
error.validation.detail=Validatie mislukt
|
||||
error.missingParameter.title=Verzoekparameter ontbreekt
|
||||
error.missingParameter.detail=Vereiste parameter ''{0}'' van type ''{1}'' ontbreekt
|
||||
error.missingFile.title=Bestandsupload ontbreekt
|
||||
error.missingFile.detail=Vereist bestandsdeel ''{0}'' ontbreekt
|
||||
error.fileTooLarge.title=Bestand te groot
|
||||
error.fileTooLarge.detail=Bestandsgrootte overschrijdt de maximum limiet van {0} MB
|
||||
error.fileTooLarge.detailUnknown=Bestandsgrootte overschrijdt de maximum limiet
|
||||
error.methodNotAllowed.title=HTTP-methode niet toegestaan
|
||||
error.methodNotAllowed.detail=HTTP-methode ''{0}'' wordt niet ondersteund voor deze endpoint. Ondersteunde methodes: {1}
|
||||
error.unsupportedMediaType.title=Niet-ondersteund mediatype
|
||||
error.unsupportedMediaType.detail=Mediatype ''{0}'' wordt niet ondersteund. Ondersteunde mediatypes: {1}
|
||||
error.malformedRequest.title=Ongeldig verzoekbericht
|
||||
error.malformedRequest.detail=Ongeldig JSON-verzoek of onjuist formaat van het verzoekbericht
|
||||
error.malformedRequest.detailWithCause=Ongeldig verzoekbericht: {0}
|
||||
error.notFound.title=Eindpunt niet aangetroffen
|
||||
error.notFound.detail=Geen eindpunt aangetroffen voor {0} {1}
|
||||
error.invalidArgument.title=Ongeldig argument
|
||||
error.ioError.title=Bestandverwerkingsfout
|
||||
error.ioError.detail=Er is een fout opgetreden tijdens het verwerken van het bestand
|
||||
error.unexpected.title=Interne serverfout
|
||||
error.unexpected=Er is een onverwachte fout opgetreden. Probeer het later opnieuw.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF-bestand bevat geen pagina's
|
||||
error.notPdfFile=Het bestand moet in PDF-formaat zijn
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Ongeldig of beschadigd CBR/RAR-archief. Het bestand kan beschadigd zijn, een niet-ondersteund RAR-formaat gebruiken (RAR5+), versleuteld zijn of mogelijk geen geldig RAR-archief zijn.
|
||||
error.cbrNoImages=Er zijn geen geldige afbeeldingen gevonden in het CBR-bestand. Het archief is mogelijk leeg, of alle afbeeldingen zijn beschadigd of in een niet-ondersteund formaat.
|
||||
error.notCbrFile=Bestand moet een CBR- of RAR-archief zijn
|
||||
error.cbzInvalidFormat=Ongeldig of beschadigd CBZ/ZIP-archief. Het bestand kan leeg zijn, beschadigd zijn of mogelijk geen geldig ZIP-archief zijn.
|
||||
error.cbzNoImages=Er zijn geen geldige afbeeldingen gevonden in het CBZ-bestand. Het archief is mogelijk leeg, of alle afbeeldingen zijn beschadigd of in een niet-ondersteund formaat.
|
||||
error.notCbzFile=Bestand moet een CBZ- of ZIP-archief zijn
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML-bestand is leeg of null
|
||||
error.emlInvalidFormat=Ongeldig EML-bestandsformaat
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=Bestand mag niet null of leeg zijn
|
||||
error.fileNoName=Bestand moet een naam hebben
|
||||
error.imageReadError=Kan afbeelding niet lezen van bestand: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR-taalopties zijn niet gespecificeerd
|
||||
error.ocrInvalidLanguages=Ongeldig OCR-taalformaat: geen van de geselecteerde talen is geldig
|
||||
error.ocrToolsUnavailable=OCR-tools zijn niet geïnstalleerd
|
||||
error.ocrInvalidRenderType=Ongeldig OCR-weergavetype. Moet 'hocr' of 'sandwich' zijn
|
||||
error.ocrProcessingFailed=OCRmyPDF is mislukt met code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compressieopties zijn niet gespecificeerd (verwachte uitvoer grootte en optimalisatieniveau)
|
||||
error.ghostscriptCompression=Ghostscript-compressieopdracht mislukt
|
||||
error.ghostscriptCompression.title=Ghostscript verwerkingsfout
|
||||
error.ghostscriptPageDrawing=Ghostscript kon niet verwerken {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=Het bronbestand bevat inhoud die Ghostscript niet kan verwerken.
|
||||
error.qpdfCompression=QPDF-opdracht is mislukt
|
||||
error.processingInterrupted={0} verwerking werd onderbroken
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A-conversie is mislukt
|
||||
error.htmlFileRequired=Bestand moet in HTML- of ZIP-formaat zijn
|
||||
error.pythonRequiredWebp=Python is vereist voor WebP-conversie
|
||||
error.ffmpegRequired=FFmpeg moet geïnstalleerd zijn om PDF's naar video te converteren. Installeer FFmpeg en zorg dat het beschikbaar is in het systeem-PAD.
|
||||
error.ffmpegRequired.title=FFmpeg vereist
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5-algoritme niet beschikbaar
|
||||
error.outOfMemoryDpi=Geheugen- of afbeelding-te-groot-fout bij het renderen van PDF-pagina {0} op {1} DPI. Dit kan gebeuren wanneer de resulterende afbeelding de array-/geheugengrenzen van Java overschrijdt (bv. NegativeArraySizeException). Gebruik alstublieft een lagere DPI-waarde (aanbevolen: 150 of lager) of verwerk het document in kleinere delen.
|
||||
delete=Verwijderen
|
||||
username=Gebruikersnaam
|
||||
password=Wachtwoord
|
||||
@@ -702,13 +616,9 @@ home.cbrToPdf.title=CBR naar PDF
|
||||
home.cbrToPdf.desc=Converteer CBR comic book archives naar PDF.
|
||||
cbrToPdf.tags=conversie,comic,book,strip,album,archive,cbr,rar
|
||||
|
||||
home.ebookToPdf.title=eBook naar PDF
|
||||
home.ebookToPdf.desc=Converteer eBook-bestanden (EPUB, MOBI, AZW3, FB2, TXT, DOCX) naar PDF met Calibre.
|
||||
ebookToPdf.tags=conversie,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF naar EPUB/AZW3
|
||||
home.pdfToEpub.desc=Converteer PDF-bestanden naar EPUB of AZW3 ebooks geoptimaliseerd for e-readers met Calibre.
|
||||
pdfToEpub.tags=conversie,ebook,epub,azw3,calibre
|
||||
home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToCbz.title=PDF naar CBZ
|
||||
home.pdfToCbz.desc=Converteer PDF-bestanden naar CBZ comic book archives.
|
||||
@@ -788,9 +698,9 @@ home.extractImages.title=Afbeeldingen extraheren
|
||||
home.extractImages.desc=Extraheert alle afbeeldingen uit een PDF en slaat ze op in een zip
|
||||
extractImages.tags=foto,opslaan,archief,zip,vastleggen,plukken
|
||||
|
||||
home.pdfToPDFA.title=PDF naar PDF/A & PDF/X
|
||||
home.pdfToPDFA.desc=Converteer PDF naar PDF/A voor langdurige opslag of PDF/X voor drukproductie
|
||||
pdfToPDFA.tags=archief,lange termijn,standaard,conversie,opslag,behoud,druk,pdf-x
|
||||
home.pdfToPDFA.title=PDF to PDF/A & PDF/X
|
||||
home.pdfToPDFA.desc=Convert PDF to PDF/A for long-term storage or PDF/X for print production
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation,print,pdf-x
|
||||
|
||||
home.PDFToWord.title=PDF naar Word
|
||||
home.PDFToWord.desc=Converteer PDF naar Word-formaten (DOC, DOCX en ODT)
|
||||
@@ -853,7 +763,7 @@ home.pageLayout.title=Multi-pagina indeling
|
||||
home.pageLayout.desc=Voeg meerdere pagina's van een PDF-document samen op één pagina
|
||||
pageLayout.tags=samenvoegen,composiet,enkel-zicht,organiseren
|
||||
|
||||
home.scalePages.title=Paginagrootte/schaal aanpassen
|
||||
home.scalePages.title=Paginaformaat/schaal aanpassen
|
||||
home.scalePages.desc=Wijzig de grootte/schaal van een pagina en/of de inhoud ervan.
|
||||
scalePages.tags=resize,aanpassen,dimensie,aanpassen
|
||||
|
||||
@@ -905,17 +815,17 @@ EMLToPDF.downloadHtml=Download het HTML-bestand in plaats van PDF
|
||||
EMLToPDF.downloadHtmlHelp=Hiermee kunt u de HTML-versie bekijken voordat deze tot PDF wordt geconverteerd. Dit kan kan handig zijn bij het verhelpen van opmaakproblemen.
|
||||
EMLToPDF.includeAttachments=Bijlagen in PDF invoegen
|
||||
EMLToPDF.maxAttachmentSize=Maximale grootte van de bijlage (MB)
|
||||
EMLToPDF.help=Converteert e-mailbestanden (EML) naar PDF, incl. koppen, hoofdtekst en ingevoegde afbeeldingen
|
||||
EMLToPDF.help=Converteer e-mailbestanden (EML) naar PDF, incl. koppen, hoofdtekst en ingevoegde afbeeldingen
|
||||
EMLToPDF.troubleshootingTip1=E-mail naar HTML is een betrouwbaarder proces, dus bij batchverwerking wordt aanbevolen om beide op te slaan
|
||||
EMLToPDF.troubleshootingTip2=Met een klein aantal e-mails kunt u, als de PDF verkeerd is ingedeeld, HTML downloaden en een deel van de problematische HTML/CSS-code bewerken.
|
||||
EMLToPDF.troubleshootingTip3=Invoegingen werken echter niet met HTML
|
||||
|
||||
home.MarkdownToPDF.title=Markdown naar PDF
|
||||
home.MarkdownToPDF.desc=Converteert Markdown-bestand naar PDF
|
||||
home.MarkdownToPDF.desc=Converteer Markdown-bestand naar PDF
|
||||
MarkdownToPDF.tags=markup,markdown,web-inhoud,transformatie,omzetten
|
||||
|
||||
home.PDFToMarkdown.title=PDF naar Markdown
|
||||
home.PDFToMarkdown.desc=Converteert een PDF naar Markdown
|
||||
home.PDFToMarkdown.desc=Converteer een PDF naar Markdown
|
||||
PDFToMarkdown.tags=markup,web-inhoud,transformatie,converteren,md
|
||||
|
||||
home.getPdfInfo.title=ALLE informatie over PDF
|
||||
@@ -983,7 +893,7 @@ validateSignature.tags=handtekening,verifiëren,valideren,pdf,certificaat,digita
|
||||
|
||||
#replace-invert-color
|
||||
replace-color.title=Geavanceerde kleurenopties
|
||||
replace-color.header=Kleuren in PDF vervangen/inverteren
|
||||
replace-color.header=Kleuren in PDF Vervangen/inverteren
|
||||
home.replaceColorPdf.title=Geavanceerde Kleurenopties
|
||||
home.replaceColorPdf.desc=Tekstkleur en achtergrond in PDF vervangen of alle kleuren in de pdf omkeren om de bestandsgrootte te verminderen
|
||||
replaceColorPdf.tags=Kleur vervangen, pagina-acties, achterkant, serverzijde
|
||||
@@ -1115,7 +1025,7 @@ getPdfInfo.summary.all.permissions.alert=Alle machtigingen toegestaan
|
||||
getPdfInfo.summary.compliance.alert=Conform {0}
|
||||
getPdfInfo.summary.no.compliance.alert=Geen nalevingsnormen
|
||||
getPdfInfo.summary.security.section=Beveiligingsstatus
|
||||
getPdfInfo.summary.technical.section=Technische details
|
||||
getPdfInfo.summary.technical.section=Technical Details
|
||||
getPdfInfo.section.BasicInfo=Basisinformatie over het PDF-document, inclusief bestandsgrootte, paginaaantal en taal
|
||||
getPdfInfo.section.Metadata=Documentmetagegevens, waaronder titel, auteur, aanmaakdatum en andere documenteigenschappen
|
||||
getPdfInfo.section.DocumentInfo=Technische details over de PDF-documentstructuur en -versie
|
||||
@@ -1233,7 +1143,7 @@ adjustContrast.download=Downloaden
|
||||
crop.title=Bijsnijden
|
||||
crop.header=PDF bijsnijden
|
||||
crop.submit=Indienen
|
||||
crop.autoCrop=Autom. bijsnijden (witruimte detecteren en verwijderen)
|
||||
crop.autoCrop=Auto-crop (detect and remove white space)
|
||||
|
||||
#autoSplitPDF
|
||||
autoSplitPDF.title=PDF autom. splitsen
|
||||
@@ -1358,7 +1268,7 @@ repair.submit=Repareren
|
||||
flatten.title=Afvlakken
|
||||
flatten.header=PDF afvlakken
|
||||
flatten.flattenOnlyForms=Alleen formulieren afvlakken
|
||||
flatten.renderDpi=Rendering DPI (optioneel, aanbevolen 150 DPI):
|
||||
flatten.renderDpi=Rendering DPI (optional, recommended 150 DPI):
|
||||
flatten.renderDpi.help=Leeglaten om de standaardinstelling van het systeem te gebruiken. Hogere DPI verscherpt de uitvoer, maar vergroot de verwerkingstijd en de bestandsgrootte.
|
||||
flatten.submit=Afvlakken
|
||||
|
||||
@@ -1381,12 +1291,12 @@ ScannerImageSplit.info=Python is niet geïnstalleerd. Het is nodig voor de uitvo
|
||||
ocr.title=OCR / Scan opruimen
|
||||
ocr.header=Scans opruimen / OCR (Optical Character Recognition)
|
||||
ocr.selectText.1=Selecteer talen die binnen de PDF gedetecteerd moeten worden (De vermelde zijn de momenteel gedetecteerde):
|
||||
ocr.selectText.2=Produceer tekstbestand met OCR-tekst naast de OCR-de PDF
|
||||
ocr.selectText.2=Produceer tekstbestand met OCR-tekst naast de OCR'd PDF
|
||||
ocr.selectText.3=Corrigeer pagina's die onder een scheve hoek zijn gescand door ze terug te draaien
|
||||
ocr.selectText.4=Maak de pagina schoon, zodat het minder waarschijnlijk is dat OCR tekst in achtergrondruis vindt. (Geen uitvoerverandering)
|
||||
ocr.selectText.5=Maak de pagina schoon zodat OCR waarschijnlijk geen tekst in achtergrondruis vindt, behoudt opruiming in uitvoer.
|
||||
ocr.selectText.6=Negeert pagina's met interactieve tekst, OCR's alleen pagina's die afbeeldingen zijn
|
||||
ocr.selectText.7=Forceer OCR, zal elke pagina OCR-en en alle originele tekstelementen verwijderen
|
||||
ocr.selectText.7=Forceer OCR, zal elke pagina OCR'en en alle originele tekstelementen verwijderen
|
||||
ocr.selectText.8=Normaal (Zal een fout geven als de PDF tekst bevat)
|
||||
ocr.selectText.9=Aanvullende instellingen
|
||||
ocr.selectText.10=OCR-modus
|
||||
@@ -1407,11 +1317,11 @@ extractImages.submit=Extraheren
|
||||
|
||||
#File to PDF
|
||||
fileToPDF.title=Bestand naar PDF
|
||||
fileToPDF.header=Converteer een bestand naar PDF
|
||||
fileToPDF.header=Zet een bestand om naar PDF
|
||||
fileToPDF.credit=Deze functie gebruikt LibreOffice en Unoconv voor bestandsconversie.
|
||||
fileToPDF.supportedFileTypesInfo=Gestandaardiseerde bestandstypen
|
||||
fileToPDF.supportedFileTypes=Ondersteunde bestandstypen staan hieronder vermeld, maar raadpleeg voor een volledige lijst met ondersteunde formaten de LibreOffice-documentatie
|
||||
fileToPDF.submit=Converteren naar PDF
|
||||
fileToPDF.submit=Omzetten naar PDF
|
||||
|
||||
|
||||
#compress
|
||||
@@ -1419,7 +1329,7 @@ compress.title=Comprimeren
|
||||
compress.header=PDF comprimeren
|
||||
compress.credit=Deze functie gebruikt qpdf voor PDF Compressie/Optimalisatie.
|
||||
compress.grayscale.label=Grijswaarden toepassen voor compressie
|
||||
compress.linearize.label=PDF lineariseren voor snellere weergave op het web
|
||||
compress.linearize.label=Linearize PDF for faster web viewing
|
||||
compress.selectText.1=Compressie-instellingen
|
||||
compress.selectText.1.1=1-3 PDF-compressie,</br> 4-6 lichte compressie van afbeeldingen,</br> 7-9 sterke compressie van afbeeldingen leidt tot lagere kwaliteit
|
||||
compress.selectText.2=Optimalisatieniveau:
|
||||
@@ -1443,10 +1353,10 @@ attachments.descriptionPlaceholder=Voer een beschrijving in voor de bijlagen...
|
||||
attachments.addButton=Bijlagen toevoegen
|
||||
|
||||
#extractAttachments
|
||||
extractAttachments.title=Bijlagen extraheren
|
||||
extractAttachments.header=Bijlagen extraheren
|
||||
extractAttachments.description=Exporteert alle ingesloten bestanden uit de PDF naar een ZIP-archief.
|
||||
extractAttachments.downloadButton=Bijlagen extraheren
|
||||
extractAttachments.title=Extract Attachments
|
||||
extractAttachments.header=Extract attachments
|
||||
extractAttachments.description=Exports all embedded files from the PDF into a ZIP archive.
|
||||
extractAttachments.downloadButton=Extract Attachments
|
||||
|
||||
#merge
|
||||
merge.title=Samenvoegen
|
||||
@@ -1562,7 +1472,7 @@ imageToPDF.maintainAspectRatio=Beeldverhoudingen behouden
|
||||
imageToPDF.selectText.2=PDF automatisch roteren
|
||||
imageToPDF.selectText.3=Meervoudige bestandslogica (Alleen ingeschakeld bij werken met meerdere afbeeldingen)
|
||||
imageToPDF.selectText.4=Samenvoegen tot één PDF
|
||||
imageToPDF.selectText.5=Converteren naar afzonderlijke PDF's
|
||||
imageToPDF.selectText.5=Omzetten naar afzonderlijke PDF's
|
||||
|
||||
#cbzToPDF
|
||||
cbzToPDF.title=CBZ naar PDF
|
||||
@@ -1586,29 +1496,15 @@ cbrToPDF.selectText=Selecteer CBR-bestand
|
||||
cbrToPDF.optimizeForEbook=PDF optimaliseren voor e-boeklezers (gebruikt Ghostscript)
|
||||
|
||||
#ebookToPDF
|
||||
ebookToPDF.title=eBook naar PDF
|
||||
ebookToPDF.header=eBook naar PDF
|
||||
ebookToPDF.submit=Converteren naar PDF
|
||||
ebookToPDF.selectText=Selecteer eBook-bestand
|
||||
ebookToPDF.embedAllFonts=Alle lettertypen insluiten in de uitvoer-PDF (kan de bestandsgrootte vergroten)
|
||||
ebookToPDF.includeTableOfContents=Voeg een gegenereerde inhoudsopgave toe aan de PDF
|
||||
ebookToPDF.includePageNumbers=Voeg paginanummers toe aan de gegenereerde PDF
|
||||
ebookToPDF.optimizeForEbook=PDF optimaliseren voor e-readers (gebruikt Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre-ondersteuning is uitgeschakeld. Schakel de Calibre-groeptool in of installeer Calibre om deze functie te gebruiken.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF naar EPUB/AZW3
|
||||
pdfToEpub.header=PDF naar EPUB/AZW3
|
||||
pdfToEpub.submit=Converteren
|
||||
pdfToEpub.selectText=Selecteer PDF-bestand
|
||||
pdfToEpub.outputFormat=Uitvoerformaat
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Hoofdstukken detecteren en automatische onderbrekingen invoegen
|
||||
pdfToEpub.targetDevice=Doelapparaat
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Telefoon (houdt afbeeldingen van hoge kwaliteit)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (tekstgericht, kleinere afbeeldingen)
|
||||
pdfToEpub.calibreDisabled=Calibre-ondersteuning is uitgeschakeld. Schakel de Calibre-groeptool in of installeer Calibre om deze functie te gebruiken.
|
||||
ebookToPDF.title=eBook to PDF
|
||||
ebookToPDF.header=eBook to PDF
|
||||
ebookToPDF.submit=Convert to PDF
|
||||
ebookToPDF.selectText=Select eBook file
|
||||
ebookToPDF.embedAllFonts=Embed all fonts in the output PDF (may increase file size)
|
||||
ebookToPDF.includeTableOfContents=Add a generated table of contents to the PDF
|
||||
ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF naar CBR
|
||||
@@ -1739,15 +1635,15 @@ unlockPDFForms.header=PDF-formulieren ontgrendelen
|
||||
unlockPDFForms.submit=Verwijderen
|
||||
|
||||
#pdfToPDFA
|
||||
pdfToPDFA.title=PDF naar PDF/A of PDF/X
|
||||
pdfToPDFA.header=PDF naar PDF/A of PDF/X
|
||||
pdfToPDFA.credit=Deze service gebruikt Ghostscript (bij voorkeur) of LibreOffice voor PDF/A-conversie, en Ghostscript voor PDF/X-conversie
|
||||
pdfToPDFA.title=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.header=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.credit=This service uses Ghostscript (preferred) or LibreOffice for PDF/A conversion, and Ghostscript for PDF/X conversion
|
||||
pdfToPDFA.submit=Converteren
|
||||
pdfToPDFA.tip=Converteer PDF naar PDF/A (langdurige archivering) of PDF/X (drukproductie)
|
||||
pdfToPDFA.tip=Convert PDF to PDF/A (long-term archiving) or PDF/X (print production)
|
||||
pdfToPDFA.outputFormat=Uitvoerindeling
|
||||
pdfToPDFA.pdfWithDigitalSignature=Dit PDF bestand bevat een digitale handtekening. Deze wordt in de volgende stap verwijderd.
|
||||
pdfToPDFA.pdfaFormats=PDF/A Formaten (langdurige archivering)
|
||||
pdfToPDFA.pdfxFormats=PDF/X Formaten (drukproductie)
|
||||
pdfToPDFA.pdfaFormats=PDF/A Formats (Long-term Archiving)
|
||||
pdfToPDFA.pdfxFormats=PDF/X Formats (Print Production)
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -1858,14 +1754,14 @@ licenses.version=Versie
|
||||
licenses.license=Licentie
|
||||
|
||||
#survey
|
||||
survey.nav=Enquète
|
||||
survey.title=Stirling PDF Enquète
|
||||
survey.nav=Enquête
|
||||
survey.title=Stirling PDF Enquête
|
||||
survey.description=Stirling PDF bevat geen tracking, dus we horen graag van onze gebruikers hoe wij Stirling PDF kunnen verbeteren.
|
||||
survey.changes=Stirling PDF is sinds de laatste enquète veranderd! Zie hier onze blogpost voor meer informatie:
|
||||
survey.changes=Stirling PDF is sinds de laatste enquête veranderd! Zie hier onze blogpost voor meer informatie:
|
||||
survey.changes2=Met deze veranderingen voorziet Stirling PDF in betaalde bedrijfsondersteuning en financiering
|
||||
survey.please=Vul alstublieft onze enquète in!
|
||||
survey.disabled=(Enquète-popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.)
|
||||
survey.button=Vul enquète in.
|
||||
survey.please=Vul alstublieft onze enquête in!
|
||||
survey.disabled=(Enquête-popup wordt in een toekomstige update weggehaald, maar is beschikbaar aan de onderkant van de pagina.)
|
||||
survey.button=Vul enquête in.
|
||||
survey.dontShowAgain=Niet meer weergeven
|
||||
survey.meeting.1=Als u Stirling PDF op het werk gebruikt, willen we dit graag weten. We bieden technische ondersteuningssessies aan in ruil voor een gebruikersdetectiesessie van 15 minuten.
|
||||
survey.meeting.2=Dit is een gelegenheid om:
|
||||
@@ -1958,7 +1854,7 @@ validateSignature.cert.algorithm=Algoritme
|
||||
validateSignature.cert.keySize=Sleutelgrootte
|
||||
validateSignature.cert.version=Versie
|
||||
validateSignature.cert.keyUsage=Sleutelgebruik
|
||||
validateSignature.cert.selfSigned=Zelfondertekend
|
||||
validateSignature.cert.selfSigned=Self-Signed
|
||||
validateSignature.cert.bits=bits
|
||||
|
||||
# Audit Dashboard
|
||||
@@ -2043,7 +1939,7 @@ audit.dashboard.js.loadingPage=Pagina laden
|
||||
# Cookie banner #
|
||||
####################
|
||||
cookieBanner.popUp.title=Ons gebruik van Cookies
|
||||
cookieBanner.popUp.description.1=Wij gebruiken cookies en andere technologieën om Stirling PDF beter voor u te laten werken—, waardoor we onze tools kunnen verbeteren en functies kunnen blijven bouwen waar u dol op bent.
|
||||
cookieBanner.popUp.description.1=Wij gebruiken cookies en andere technologieën om Stirling PDF beter voor u te laten werken—, waardoor we onze tools kunnen verbeteren en functies kunnen blijven bouwen waar u dol op bent.
|
||||
cookieBanner.popUp.description.2=Als u dat liever niet hebt, door 'Nee bedankt' te klikken worden alleen de noodzakelijke cookies gebruikt om het systeem te laten functioneren.
|
||||
cookieBanner.popUp.acceptAllBtn=Oké
|
||||
cookieBanner.popUp.acceptNecessaryBtn=Nee bedankt
|
||||
@@ -2063,7 +1959,7 @@ cookieBanner.preferencesModal.necessary.title.2=Altijd ingeschakeld
|
||||
cookieBanner.preferencesModal.necessary.description=Deze cookies zijn essentieel om de website goed te laten functioneren. Ze maken kernfuncties mogelijk, zoals het instellen van uw privacyvoorkeuren, inloggen en het invullen van formulieren. Daarom kunnen ze niet worden uitgeschakeld.
|
||||
cookieBanner.preferencesModal.analytics.title=Analyse
|
||||
cookieBanner.preferencesModal.analytics.description=Deze cookies helpen ons te begrijpen hoe onze tools worden gebruikt, zodat we ons kunnen concentreren op het opbouwen van de functies die onze community het meest waardeert. Wees gerust. Stirling PDF kan en zal nooit de inhoud volgen van de documenten waarmee u werkt.
|
||||
cookieBanner.preferencesModal.analytics.posthog.label=PostHog-analyse
|
||||
cookieBanner.preferencesModal.analytics.posthog.label=PostHog Analytics
|
||||
cookieBanner.preferencesModal.analytics.scarf.label=Scarf Pixel
|
||||
|
||||
#scannerEffect
|
||||
@@ -2134,216 +2030,10 @@ vectorToPdf.tags=conversie,ghostscript,ps,eps,postscript
|
||||
vectorToPdf.title=Vectorafbeelding naar PDF
|
||||
vectorToPdf.header=Vectorafbeelding naar PDF
|
||||
vectorToPdf.description=Converteer PostScript vectorformaat (PS, EPS, EPSF) of PDF-bestanden naar PDF m.b.v. Ghostscript.
|
||||
vectorToPdf.prepress=Prepress-optimalisaties toepassen (/prepress)
|
||||
vectorToPdf.prepress=Apply prepress optimizations (/prepress)
|
||||
vectorToPdf.submit=Converteren
|
||||
pdfToVector.title=PDF naar vectorafbeelding
|
||||
pdfToVector.header=PDF naar vectorafbeelding
|
||||
pdfToVector.description=Converteer een PDF naar Ghostscript-gegenereerde vectorformaten (EPS, PS, PCL, of XPS).
|
||||
pdfToVector.outputFormat=Uitvoerformaat
|
||||
pdfToVector.submit=Converteren
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Probeer de functie 'PDF repareren' en probeer deze bewerking daarna opnieuw.
|
||||
error.E001.hint.2=Exporteer indien mogelijk de PDF opnieuw vanuit de oorspronkelijke applicatie.
|
||||
error.E001.hint.3=Vermijd het overbrengen van het bestand via tools die PDF's aanpassen (bv. fax-/e-mailconverters).
|
||||
error.E001.action=Repareer de PDF en probeer de bewerking opnieuw.
|
||||
|
||||
error.E002.hint.1=Identificeer welke bestanden beschadigd zijn door ze één voor één te verwerken.
|
||||
error.E002.hint.2=Voer 'PDF repareren' uit op elk probleembestand voordat u samenvoegt.
|
||||
error.E002.hint.3=Als de reparatie mislukt, exporteer dan elk brondocument opnieuw naar PDF.
|
||||
error.E002.action=Repareer of exporteer de beschadigde PDF's één voor één opnieuw en probeer daarna de bewerking opnieuw.
|
||||
|
||||
error.E003.hint.1=Gebruik de functie 'PDF repareren' om de versleutelingsmetadata te normaliseren.
|
||||
error.E003.hint.2=Als het bestand ongebruikelijke versleuteling gebruikt, sla het dan opnieuw op met een moderne PDF-tool.
|
||||
error.E003.hint.3=Als de PDF met een wachtwoord is beveiligd, geef dan eerst het juiste wachtwoord op.
|
||||
error.E003.action=Repareer de PDF of exporteer deze opnieuw met compatibele encryptie.
|
||||
|
||||
error.E004.hint.1=PDF's kunnen twee wachtwoorden hebben: een gebruikerswachtwoord (om het document te openen) en een eigenaarwachtwoord (om machtigingen te beheren). Deze bewerking vereist het eigenaarwachtwoord.
|
||||
error.E004.hint.2=Als je de PDF zonder wachtwoord kunt openen, is er misschien alleen een eigenaarwachtwoord ingesteld. Probeer het machtigingswachtwoord in te voeren.
|
||||
error.E004.hint.3=De beveiliging van digitaal ondertekende PDF's kan niet worden verwijderd totdat de handtekening is verwijderd.
|
||||
error.E004.hint.4=Wachtwoorden zijn hoofdlettergevoelig. Controleer hoofdletters, spaties en speciale tekens.
|
||||
error.E063.hint.1=Installeer FFmpeg op het hostsysteem en zorg ervoor dat het beschikbaar is in de PATH-omgevingsvariabele.
|
||||
error.E063.hint.2=Start Stirling-PDF opnieuw op na het installeren van FFmpeg zodat het programma het kan detecteren.
|
||||
error.E063.action=Installeer FFmpeg en start Stirling-PDF opnieuw voordat u de conversie opnieuw probeert.
|
||||
error.E004.hint.5=Sommige makers gebruiken verschillende encryptiestandaarden (40-bit, 128-bit, 256-bit AES). Zorg ervoor dat je wachtwoord overeenkomt met de gebruikte versleuteling.
|
||||
error.E004.hint.6=Als je alleen het gebruikerswachtwoord hebt, kun je de beveiligingsbeperkingen niet verwijderen. Neem contact op met de eigenaar van het document voor het toestemmingswachtwoord.
|
||||
error.E004.action=Geef het eigenaar-/machtigingenwachtwoord, niet alleen het wachtwoord om het document te openen.
|
||||
|
||||
error.E005.hint.1=Controleer of de PDF niet leeg is of alleen niet-ondersteunde objecten bevat.
|
||||
error.E005.hint.2=Open het bestand in een PDF-viewer om te controleren of het pagina's bevat.
|
||||
error.E005.hint.3=Maak de PDF opnieuw aan en zorg dat de pagina's erbij zijn (niet alleen de bijlagen).
|
||||
error.E005.action=Voorzie een PDF die ten minste één pagina bevat.
|
||||
|
||||
error.E006.hint.1=Zorg ervoor dat het geüploade bestand een geldig PDF-bestand is en geen ander formaat.
|
||||
error.E006.hint.2=Als het een .pdf-extensie heeft, controleer dan of het bestand niet eigenlijk een ander type is (bv. Word, afbeelding).
|
||||
error.E006.hint.3=Probeer het bestand te openen in een PDF-lezer om de geldigheid te bevestigen.
|
||||
error.E006.action=Upload een geldig PDF-bestand.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5-archieven worden niet ondersteund. Pak het archief opnieuw in als RAR4 of converteer naar CBZ (ZIP).
|
||||
error.E010.hint.2=Zorg ervoor dat het archief niet versleuteld is en geldige afbeeldingsbestanden bevat.
|
||||
error.E010.hint.3=Probeer het archief met een desktoptool uit te pakken om de integriteit te controleren.
|
||||
error.E010.action=Zet het archief om naar CBZ/ZIP of RAR4 en probeer het dan opnieuw.
|
||||
|
||||
error.E012.hint.1=Zorg ervoor dat het archief afbeeldingsbestanden bevat (bv. .jpg, .png).
|
||||
error.E012.hint.2=Verwijder niet-ondersteunde of beschadigde bestanden uit het archief.
|
||||
error.E012.hint.3=Pak het archief opnieuw in en zorg ervoor dat de afbeeldingen in de hoofdmap of in de juiste mappen staan.
|
||||
error.E012.action=Voeg ten minste één geldige afbeelding toe aan het archief en probeer het opnieuw.
|
||||
|
||||
error.E014.hint.1=Upload een CBR (RAR) bestand voor deze bewerking.
|
||||
error.E014.hint.2=Als je een ZIP/CBZ hebt, gebruik dan in plaats daarvan de CBZ-conversie.
|
||||
error.E014.hint.3=Controleer de bestandsextensie en het werkelijke formaat met een archiefprogramma.
|
||||
error.E014.action=Geef een geldig CBR/RAR-bestand op.
|
||||
|
||||
error.E015.hint.1=Zorg ervoor dat het ZIP/CBZ-bestand niet versleuteld is en een geldig archief is.
|
||||
error.E015.hint.2=Controleer of het archief niet leeg is en afbeeldingsbestanden bevat.
|
||||
error.E015.hint.3=Probeer de afbeeldingen opnieuw te zippen met een standaard ZIP-tool (zonder compressie-afwijkingen).
|
||||
error.E015.action=Maak de CBZ/ZIP opnieuw aan zonder encryptie en met geldige afbeeldingen, en probeer het dan opnieuw.
|
||||
|
||||
error.E016.hint.1=Voeg afbeeldingen (.jpg, .png, enz.) toe aan het ZIP-archief.
|
||||
error.E016.hint.2=Verwijder niet-beeldbestanden of geneste archieven die niet worden ondersteund.
|
||||
error.E016.hint.3=Zorg ervoor dat afbeeldingen niet beschadigd zijn en lokaal geopend kunnen worden.
|
||||
error.E016.action=Voeg ten minste één geldige afbeelding toe in het CBZ-bestand.
|
||||
|
||||
error.E018.hint.1=Upload een CBZ (ZIP) bestand voor deze bewerking.
|
||||
error.E018.hint.2=Als je een RAR/CBR hebt, gebruik dan in plaats daarvan de CBR-conversie.
|
||||
error.E018.hint.3=Controleer de bestandsextensie en het werkelijke formaat met een archiefprogramma.
|
||||
error.E018.action=Geef een geldig CBZ/ZIP-bestand op.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Controleer of het geüploade bestand niet nul bytes is.
|
||||
error.E020.hint.2=Exporteer de EML opnieuw vanuit je e-mailclient.
|
||||
error.E020.hint.3=Zorg ervoor dat het bestand niet door e-mail-/beveiligingstools is ontdaan van inhoud.
|
||||
error.E020.action=Upload een niet-leeg EML-bestand.
|
||||
|
||||
error.E021.hint.1=Zorg ervoor dat het bestand een raw EML-bericht is, geen MSG of een ander e-mailformaat.
|
||||
error.E021.hint.2=Exporteer de e-mail opnieuw als EML vanuit je client.
|
||||
error.E021.hint.3=Open het bestand met een teksteditor om te controleren of de standaard EML-headers aanwezig zijn.
|
||||
error.E021.action=Lever een geldig EML-bestand export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Bevestig dat de bestand-ID of het pad correct is.
|
||||
error.E030.hint.2=Zorg ervoor dat het bestand niet is verwijderd of verplaatst.
|
||||
error.E030.hint.3=Als u een tijdelijke upload gebruikt, upload dan het bestand opnieuw en probeer het opnieuw.
|
||||
error.E030.action=Geef een bestaande bestandsreferentie op en probeer het opnieuw.
|
||||
|
||||
error.E031.hint.1=Controleer of het bestand niet beschadigd is en wordt ondersteund door deze bewerking.
|
||||
error.E031.hint.2=Probeer de bewerking opnieuw; er kunnen tijdelijke I/O-problemen optreden.
|
||||
error.E031.hint.3=Als het probleem aanhoudt, vereenvoudig dan het document (minder pagina's, kleinere afbeeldingen).
|
||||
error.E031.action=Controleer het bestand en de bedieningsparameters en probeer het vervolgens opnieuw.
|
||||
|
||||
error.E032.hint.1=Voeg een bestand toe bij het verzoek.
|
||||
error.E032.hint.2=Zorg ervoor dat het bestand niet nul bytes groot is.
|
||||
error.E032.hint.3=Als u meerdere bestanden uploadt, zorg er dan voor dat er ten minste één wordt aangeleverd.
|
||||
error.E032.action=Upload een niet-leeg bestand en probeer het opnieuw.
|
||||
|
||||
error.E033.hint.1=Geef een bestandsnaam met een extensie op.
|
||||
error.E033.hint.2=Zorg ervoor dat uw cliënt de originele bestandsnaam bij de upload meeneemt.
|
||||
error.E033.action=Voeg een bestandsnaam toe voor het geüploade bestand.
|
||||
|
||||
error.E034.hint.1=Controleer of het afbeeldingsbestand niet beschadigd is en lokaal kan worden geopend.
|
||||
error.E034.hint.2=Zorg ervoor dat het bestandsformaat een ondersteund afbeeldingsformaat is.
|
||||
error.E034.hint.3=Exporteer de afbeelding opnieuw of converteer deze naar een standaardformaat (JPEG/PNG).
|
||||
error.E034.action=Lever een leesbaar, ondersteund afbeeldingsbestand aan.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Selecteer minstens één OCR-taal uit de opties.
|
||||
error.E040.hint.2=Als je het niet zeker weet, kies dan de primaire taal van de tekst in het document.
|
||||
error.E040.hint.3=Meerdere talen kunnen worden geselecteerd als er gemengde tekst aanwezig is.
|
||||
error.E040.action=Geef één of meer OCR-talen op.
|
||||
|
||||
error.E041.hint.1=Gebruik geldige taalcodes (bv. eng, fra, deu).
|
||||
error.E041.hint.2=Verwijder niet-ondersteunde of verkeerd gespelde taalcodes.
|
||||
error.E041.hint.3=Controleer geïnstalleerde OCR-taalpakketten en installeer de ontbrekende.
|
||||
error.E041.action=Geef geldige OCR-taalcodes op of installeer ontbrekende taalpakketten.
|
||||
|
||||
error.E042.hint.1=Installeer OCR-tools (bv. OCRmyPDF/Tesseract) volgens de documentatie.
|
||||
error.E042.hint.2=Controleer of de tools in het PATH staan en toegankelijk zijn voor de toepassing.
|
||||
error.E042.hint.3=Als u Docker gebruikt, gebruik dan een beeldvariant die OCR-tools bevat.
|
||||
error.E042.action=Installeer en configureer de OCR-tools.
|
||||
|
||||
error.E043.hint.1=Gebruik 'hocr' voor HTML OCR-output of 'sandwich' om tekst in een PDF in te sluiten.
|
||||
error.E043.hint.2=Bekijk de API-documentatie voor geldige weergavemodi.
|
||||
error.E043.hint.3=Vermijd typefouten; waarden zijn hoofdlettergevoelig.
|
||||
error.E043.action=Kies 'hocr' of 'sandwich' als weergavetype.
|
||||
|
||||
error.E044.hint.1=Controleer de serverlogboeken voor de gedetailleerde OCRmyPDF-foutmelding.
|
||||
error.E044.hint.2=Zorg ervoor dat de vereiste OCR-afhankelijkheden en taalpakketten zijn geïnstalleerd.
|
||||
error.E044.hint.3=Probeer OCR lokaal op het bestand uit te voeren om het probleem te reproduceren.
|
||||
error.E044.action=Onderzoek de OCR-logboeken en los ontbrekende afhankelijkheden of invoerproblemen op, en probeer het vervolgens opnieuw.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Geef zowel de gewenste uitvoergrootte als het optimalisatieniveau op.
|
||||
error.E050.hint.2=Bekijk de API-documentatie voor de vereiste compressieparameters.
|
||||
error.E050.hint.3=Als u het niet zeker weet, begin dan met de standaardoptimalisatie en pas deze aan.
|
||||
error.E050.action=Geef de verwachte uitvoergrootte op en optimaliseer het compressieniveau.
|
||||
|
||||
error.E051.hint.1=Controleer of Ghostscript is geïnstalleerd en toegankelijk.
|
||||
error.E051.hint.2=Vereenvoudig de PDF (bv. verklein de afbeeldingsformaten) en probeer het opnieuw.
|
||||
error.E051.hint.3=Controleer de opdrachtregelargumenten die voor Ghostscript in de logs zijn gegenereerd.
|
||||
error.E051.action=Zorg ervoor dat Ghostscript is geïnstalleerd en dat de opdracht succesvol wordt uitgevoerd.
|
||||
error.E054.hint.1=Zet EPS- of PS-bestanden om naar een PDF met één pagina voordat u deze bewerking opnieuw probeert.
|
||||
error.E054.hint.2=Exporteer elke pagina afzonderlijk vanuit de auteurstoepassing zodat Ghostscript één pagina tegelijk verwerkt.
|
||||
error.E054.hint.3=Gebruik de functie 'Converteren naar PDF' om afbeeldingen of geavanceerde effecten te vereenvoudigen en voer vervolgens het commando opnieuw uit.
|
||||
error.E054.action=Zet het bronbestand om naar een enkelvoudig document (of PDF) en probeer de bewerking opnieuw.
|
||||
|
||||
error.E052.hint.1=Zorg ervoor dat qpdf is geïnstalleerd en in de PATH staat.
|
||||
error.E052.hint.2=Controleer voordat u comprimeert of de PDF niet beschadigd is.
|
||||
error.E052.hint.3=Pas de compressie-instellingen aan als de opdracht mislukt.
|
||||
error.E052.action=Installeer qpdf en probeer opnieuw met geldige invoer.
|
||||
|
||||
error.E053.hint.1=De bewerking is geannuleerd of onderbroken door het systeem.
|
||||
error.E053.hint.2=Vermijd het beëindigen van het proces of het sluiten van de browser tijdens de uitvoering.
|
||||
error.E053.hint.3=Voer de bewerking opnieuw uit; als het probleem aanhoudt, controleer de serverbronnenlimieten.
|
||||
error.E053.action=Probeer de bewerking opnieuw en voorkom onderbreking.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Zorg ervoor dat de PDF geldig is en wordt ondersteund door de converter.
|
||||
error.E060.hint.2=Probeer te converteren naar een ander PDF/A-niveau of exporteer eerst de bron opnieuw naar PDF.
|
||||
error.E060.hint.3=Verwijder problematische elementen (bv. complexe transparantie) en probeer het opnieuw.
|
||||
error.E060.action=Pas de conversie-instellingen aan of normaliseer de PDF en probeer het opnieuw.
|
||||
|
||||
error.E061.hint.1=Lever ofwel een enkel HTML-bestand of een ZIP-bestand met HTML en middelen.
|
||||
error.E061.hint.2=Zorg ervoor dat relatieve links in HTML verwijzen naar de meegeleverde bestanden in de ZIP.
|
||||
error.E061.action=Upload een HTML-bestand of een ZIP van de website-inhoud.
|
||||
|
||||
error.E062.hint.1=Installeer Python en de vereiste WebP-bibliotheken om conversie mogelijk te maken.
|
||||
error.E062.hint.2=Als je Docker gebruikt, gebruik dan een beeldvariant met Python/WebP-ondersteuning.
|
||||
error.E062.hint.3=Controleer PATH en de omgeving om te zorgen dat Python beschikbaar is.
|
||||
error.E062.action=Installeer Python en WebP-afhankelijkheden.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Bekijk de toegestane waarden van de parameter in de API-documentatie.
|
||||
error.E070.hint.2=Zorg ervoor dat het waardenformaat overeenkomt met de verwachtingen (hoofdletters, bereik, patroon).
|
||||
error.E070.hint.3=Corrigeer het argument en stuur het verzoek opnieuw.
|
||||
error.E070.action=Geef een geldige parameterwaarde op en probeer het opnieuw.
|
||||
|
||||
error.E071.hint.1=Neem de ontbrekende parameter op in het verzoek.
|
||||
error.E071.hint.2=Controleer of uw cliënt alle vereiste velden verzendt.
|
||||
error.E071.action=Voeg de vereiste parameter toe en probeer het opnieuw.
|
||||
|
||||
error.E072.hint.1=Gebruik formaten zoals 'A4', 'Letter' of 'BREEDTExHOOGTE' (bv. 800x600).
|
||||
error.E072.hint.2=Zorg ervoor dat de eenheden en scheidingstekens correct zijn.
|
||||
error.E072.hint.3=Raadpleeg de documentatie voor ondersteunde maten.
|
||||
error.E072.action=Geef een ondersteunde paginagrootte op.
|
||||
|
||||
error.E073.hint.1=Toegestane waarden: 'groter', 'gelijk', 'kleiner'.
|
||||
error.E073.hint.2=Controleer op typfouten en gebruik kleine letters.
|
||||
error.E073.hint.3=Raadpleeg de API-documentatie voor voorbeelden van het gebruik van de vergelijkingsoperator.
|
||||
error.E073.action=Gebruik 'greater', 'equal' of 'less' als vergelijkingsoperator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Uw Java-runtime bevat mogelijk geen MD5. Gebruik een alternatief algoritme.
|
||||
error.E080.hint.2=Als hashen optioneel is, schakel dan over naar SHA-256 of een andere ondersteunde digest.
|
||||
error.E080.hint.3=Installeer geschikte beveiligingsproviders als MD5 vereist is.
|
||||
error.E080.action=Gebruik een ondersteund hash-algoritme (bv. SHA-256) of installeer een MD5-provider.
|
||||
|
||||
error.E081.hint.1=Verlaag de DPI (probeer 150 of lager).
|
||||
error.E081.hint.2=Verwerk het document in kleinere delen of minder pagina's tegelijk.
|
||||
error.E081.hint.3=Verminder de paginagrootte of de complexiteit van de afbeelding voordat u deze weergeeft.
|
||||
error.E081.hint.4=Verhoog indien mogelijk het beschikbare heapgeheugen voor de toepassing.
|
||||
error.E081.action=Verlaag de DPI en probeer het opnieuw; 150 DPI wordt aanbevolen voor grote pagina's.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Slett
|
||||
username=Brukernavn
|
||||
password=Passord
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Nie znaleziono zakładek/struktury w dokumencie PDF
|
||||
error.fontLoadingFailed=Błąd podczas przetwarzania pliku czcionki
|
||||
error.fontDirectoryReadFailed=Nie udało się odczytać katalogu czcionek
|
||||
error.noAttachmentsFound=Nie znaleziono załączników w dokumencie PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=usuń
|
||||
username=nazwa użytkownika
|
||||
password=hasło
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF na CBZ
|
||||
home.pdfToCbz.desc=Konwertuj pliki PDF na archiwa komiksów CBZ.
|
||||
pdfToCbz.tags=konwersja,komiks,książka,archiwum,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF na CBR
|
||||
pdfToCBR.header=PDF na CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF na Obraz Wektorowy
|
||||
pdfToVector.description=Konwertuj plik PDF na formaty wektorowe generowane przez Ghostscript (EPS, PS, PCL lub XPS).
|
||||
pdfToVector.outputFormat=Format wyjściowy
|
||||
pdfToVector.submit=Konwertuj
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Nenhum marcador/esquema de PDF encontrado no document
|
||||
error.fontLoadingFailed=Erro ao processar a fonte do arquivo
|
||||
error.fontDirectoryReadFailed=Falha ao ler a fonte do diretório
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Apagar
|
||||
username=Usuário
|
||||
password=Senha
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Não foram encontrados marcadores/índices PDF no doc
|
||||
error.fontLoadingFailed=Erro ao processar o arquivo de fonte
|
||||
error.fontDirectoryReadFailed=Falha ao ler o diretório de fontes
|
||||
error.noAttachmentsFound=Não foram encontrados anexos incorporados no PDF fornecido.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Eliminar
|
||||
username=Nome de utilizador
|
||||
password=Palavra-passe
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF para CBZ
|
||||
home.pdfToCbz.desc=Converter ficheiros PDF para arquivos de banda desenhada CBZ.
|
||||
pdfToCbz.tags=conversão,banda desenhada,livro,arquivo,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF para CBR
|
||||
pdfToCBR.header=PDF para CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Șterge
|
||||
username=Nume de utilizator
|
||||
password=Parolă
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=В PDF-документе не найдены зак
|
||||
error.fontLoadingFailed=Ошибка при обработке файла шрифта
|
||||
error.fontDirectoryReadFailed=Не удалось прочитать каталог шрифтов
|
||||
error.noAttachmentsFound=В предоставленном PDF-файле не было обнаружено встроенных вложений.
|
||||
error.nullArgument={0} не должно быть пустым
|
||||
error.invalidPageSize=Недопустимый формат размера страницы: {0}
|
||||
error.invalidComparator=Недопустимый формат сравнения: поддерживаются только значения 'greater', 'equal', и 'less' (больше, равно и меньше)
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=Требуется пароль для PDF-файла
|
||||
error.outOfMemoryDpi.title=Недостаточно памяти - Слишком высокое разрешение DPI
|
||||
error.pdfCorrupted.title=PDF-файл повреждён
|
||||
error.multiplePdfCorrupted=Один или несколько PDF-файлов, по-видимому, повреждены. Пожалуйста, попробуйте сначала использовать функцию "Восстановить PDF" для каждого файла, прежде чем пытаться объединить их.
|
||||
error.pdfEncryption.title=Ошибка шифрования PDF
|
||||
error.application.title=Ошибка приложения
|
||||
error.cbrFormat.title=Недопустимый формат файла CBR
|
||||
error.cbzFormat.title=Недопустимый формат файла CBZ
|
||||
error.emlFormat.title=Недопустимый формат файла EML
|
||||
error.formatError.title=Недопустимый формат файла
|
||||
error.validation.title=Не удалось выполнить проверку запроса
|
||||
error.validation.detail=Не удалось выполнить проверку
|
||||
error.missingParameter.title=Отсутствует параметр запроса
|
||||
error.missingParameter.detail=Отсутствует обязательный параметр ''{0}'' типа ''{1}''
|
||||
error.missingFile.title=Отсутствует загрузка файла
|
||||
error.missingFile.detail=Отсутствует требуемая часть файла ''{0}''
|
||||
error.fileTooLarge.title=Слишком большой файл
|
||||
error.fileTooLarge.detail=Размер файла превышает максимально допустимый предел {0} MB
|
||||
error.fileTooLarge.detailUnknown=Размер файла превышает максимально допустимый предел
|
||||
error.methodNotAllowed.title=HTTP-метод не разрешен
|
||||
error.methodNotAllowed.detail=HTTP метод ''{0}'' не поддерживается для этой конечной точки. Поддерживаемые методы: {1}
|
||||
error.unsupportedMediaType.title=Неподдерживаемый тип медиа
|
||||
error.unsupportedMediaType.detail=Тип медиа ''{0}'' не поддерживается. Поддерживаемые типы медиа: {1}
|
||||
error.malformedRequest.title=Неправильно сформированный текст запроса
|
||||
error.malformedRequest.detail=Неправильно сформированный запрос JSON или неверный формат тела запроса
|
||||
error.malformedRequest.detailWithCause=Недопустимый запрос: {0}
|
||||
error.notFound.title=Конечная точка не найдена
|
||||
error.notFound.detail=Конечная точка для {0} {1} не найдена
|
||||
error.invalidArgument.title=Недопустимый аргумент
|
||||
error.ioError.title=Ошибка при обработке файла
|
||||
error.ioError.detail=При обработке файла произошла ошибка
|
||||
error.unexpected.title=Внутренняя ошибка сервера
|
||||
error.unexpected=Произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF-файл не содержит страниц
|
||||
error.notPdfFile=Файл должен быть в формате PDF
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Недопустимый или поврежденный CBR/RAR архив. Возможно, файл поврежден, используется неподдерживаемый формат RAR (RAR5+), зашифрован или может быть недействительным RAR архивом.
|
||||
error.cbrNoImages=В файле CBR не найдено допустимых изображений. Возможно, архив пуст, или все изображения повреждены, или они имеют неподдерживаемые форматы.
|
||||
error.notCbrFile=Файл должен быть CBR или архивом RAR
|
||||
error.cbzInvalidFormat=Недействительный или поврежденный CBZ/ZIP архив. Файл может быть пустым, поврежденным или не являться действительным ZIP-архивом.
|
||||
error.cbzNoImages=В файле CBZ не найдено допустимых изображений. Возможно, архив пуст, или все изображения повреждены, или они имеют неподдерживаемые форматы.
|
||||
error.notCbzFile=Файл должен быть в формате CBZ или ZIP-архив
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML-файл пуст или null
|
||||
error.emlInvalidFormat=Недопустимый формат файла EML
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=Файл не может быть null или пустым
|
||||
error.fileNoName=Файл должен иметь имя
|
||||
error.imageReadError=Не удается прочитать изображение из файла: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=Не указаны языковые параметры распознавания
|
||||
error.ocrInvalidLanguages=Недопустимый формат распознавания языков: ни один из выбранных языков не является допустимым
|
||||
error.ocrToolsUnavailable=Инструменты распознавания текста не установлены
|
||||
error.ocrInvalidRenderType=Недопустимый тип распознавания текста. Должно быть 'hocr' или 'sandwich'
|
||||
error.ocrProcessingFailed=Ошибка OCRmyPDF с кодом возврата: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Параметры сжатия не указаны (ожидаемый выходной размер и уровень оптимизации).
|
||||
error.ghostscriptCompression=Не удалось выполнить команду сжатия Ghostscript
|
||||
error.ghostscriptCompression.title=Ошибка обработки Ghostscript
|
||||
error.ghostscriptPageDrawing=Ghostscript не удалось отобразить {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=Исходный файл содержит содержимое, которое Ghostscript не может отобразить.
|
||||
error.qpdfCompression=Не удалось выполнить команду QPDF
|
||||
error.processingInterrupted={0} обработка была прервана
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=Не удалось выполнить преобразование PDF/A
|
||||
error.htmlFileRequired=Файл должен быть в формате HTML или ZIP
|
||||
error.pythonRequiredWebp=Для преобразования WebP требуется Python
|
||||
error.ffmpegRequired=Для преобразования PDF-файлов в видео должен быть установлен FFmpeg. Установите FFmpeg и убедитесь, что он доступен в переменной среды PATH.
|
||||
error.ffmpegRequired.title=Требуется FFmpeg
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=Алгоритм MD5 недоступен
|
||||
error.outOfMemoryDpi=Ошибка нехватки памяти или слишком большой размера изображений при отрисовки PDF-страницы {0} с разрешением {1} точек на дюйм. Это может произойти, когда результирующее изображение превышает установленные в Java ограничения по размеру массива/памяти (например, NegativeArraySizeException). Пожалуйста, используйте меньшее значение разрешения (рекомендуется 150 или меньше) или обрабатывайте документ небольшими фрагментами.
|
||||
delete=Удалить
|
||||
username=Имя пользователя
|
||||
password=Пароль
|
||||
@@ -702,13 +616,9 @@ home.cbrToPdf.title=CBR в PDF
|
||||
home.cbrToPdf.desc=Конвертируйте архивы комиксов CBR в формат PDF.
|
||||
cbrToPdf.tags=конвертация,комикс,книга,архив,cbr,rar
|
||||
|
||||
home.ebookToPdf.title=eBook в PDF
|
||||
home.ebookToPdf.desc=Преобразование eBook файлов (EPUB, MOBI, AZW3, FB2, TXT, DOCX) в PDF используя Calibre.
|
||||
ebookToPdf.tags=конвертация,ebook,книга,calibre,epub,mobi,azw3,fb2
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToCbz.title=PDF в CBZ
|
||||
home.pdfToCbz.desc=Конвертируйте PDF-файлы в архивы комиксов CBZ.
|
||||
@@ -788,9 +698,9 @@ home.extractImages.title=Извлечь изображения
|
||||
home.extractImages.desc=Извлекает все изображения из PDF и сохраняет их в zip-архив
|
||||
extractImages.tags=картинка,фото,сохранение,архив,zip,захват,извлечение
|
||||
|
||||
home.pdfToPDFA.title=PDF в PDF/A или PDF/X
|
||||
home.pdfToPDFA.desc=Преобразуйте PDF в формат PDF/A для длительного хранения или PDF/X для печати
|
||||
pdfToPDFA.tags=архив,длительное хранение,преобразование,хранение,печать,pdf-a,pdf-x
|
||||
home.pdfToPDFA.title=PDF to PDF/A & PDF/X
|
||||
home.pdfToPDFA.desc=Convert PDF to PDF/A for long-term storage or PDF/X for print production
|
||||
pdfToPDFA.tags=archive,long-term,standard,conversion,storage,preservation,print,pdf-x
|
||||
|
||||
home.PDFToWord.title=PDF в Word
|
||||
home.PDFToWord.desc=Преобразование PDF в форматы Word (DOC, DOCX и ODT)
|
||||
@@ -1233,7 +1143,7 @@ adjustContrast.download=Скачать
|
||||
crop.title=Обрезка
|
||||
crop.header=Обрезка PDF
|
||||
crop.submit=Отправить
|
||||
crop.autoCrop=Автоматическая обрезка (обнаружение и удаление пробелов)
|
||||
crop.autoCrop=Auto-crop (detect and remove white space)
|
||||
|
||||
#autoSplitPDF
|
||||
autoSplitPDF.title=Автоматическое разделение PDF
|
||||
@@ -1419,7 +1329,7 @@ compress.title=Сжать
|
||||
compress.header=Сжать PDF
|
||||
compress.credit=Этот сервис использует qpdf для сжатия/оптимизации PDF.
|
||||
compress.grayscale.label=Примените оттенки серого для сжатия
|
||||
compress.linearize.label=Линеаризовать PDF-файл для более быстрого просмотра в Интернете
|
||||
compress.linearize.label=Linearize PDF for faster web viewing
|
||||
compress.selectText.1=Параметры сжатия
|
||||
compress.selectText.1.1=1-3 сжатие PDF,</br> 4-6 лёгкое сжатие изображений,</br> 7-9 интенсивное сжатие изображений (значительно снижает качество изображений)
|
||||
compress.selectText.2=Уровень оптимизации:
|
||||
@@ -1586,29 +1496,15 @@ cbrToPDF.selectText=Выбрать файл CBR
|
||||
cbrToPDF.optimizeForEbook=Оптимизировать PDF для чтения электронных книг (используется Ghostscript)
|
||||
|
||||
#ebookToPDF
|
||||
ebookToPDF.title=eBook в PDF
|
||||
ebookToPDF.header=eBook в PDF
|
||||
ebookToPDF.submit=Конвертация в PDF
|
||||
ebookToPDF.selectText=Выберите файл eBook
|
||||
ebookToPDF.embedAllFonts=Внедрить все шрифты в выходной PDF-файл (возможно увеличение размера файла)
|
||||
ebookToPDF.includeTableOfContents=Добавить сгенерированное оглавление в PDF-файл
|
||||
ebookToPDF.includePageNumbers=Добавить номера страниц в генерируемый PDF-файл
|
||||
ebookToPDF.optimizeForEbook=Оптимизировать PDF для чтения электронных книг (используется Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Поддержка Calibre отключена. Чтобы использовать эту функцию, включите группу инструментов Calibre или установите Calibre.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
ebookToPDF.title=eBook to PDF
|
||||
ebookToPDF.header=eBook to PDF
|
||||
ebookToPDF.submit=Convert to PDF
|
||||
ebookToPDF.selectText=Select eBook file
|
||||
ebookToPDF.embedAllFonts=Embed all fonts in the output PDF (may increase file size)
|
||||
ebookToPDF.includeTableOfContents=Add a generated table of contents to the PDF
|
||||
ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF в CBR
|
||||
@@ -1637,16 +1533,16 @@ pdfToImage.includeAnnotations=Добавьте аннотации (коммен
|
||||
|
||||
|
||||
#pdfToVideo
|
||||
pdfToVideo.title=PDF в Видео Слайд-шоу
|
||||
pdfToVideo.header=PDF в Видео Слайд-шоу
|
||||
pdfToVideo.videoFormat=Формат видео
|
||||
pdfToVideo.secondsPerPage=Секунд на страницу
|
||||
pdfToVideo.resolution=Разрешение
|
||||
pdfToVideo.watermarkText=Текст водяного знака (оставьте пустым, если водяной знак отсутствует)
|
||||
pdfToVideo.opacity=Прозрачность водяного знака (применяется в том случае, если указан текст водяного знака)
|
||||
pdfToVideo.resolutionOriginal=Оригинал (сохранить размер страниц как в исходном формате PDF)
|
||||
pdfToVideo.dpiLabel=DPI (ограничение сервера {0} точек на дюйм)
|
||||
pdfToVideo.submit=Преобразовать
|
||||
pdfToVideo.title=PDF to Video Slideshow
|
||||
pdfToVideo.header=PDF to Video Slideshow
|
||||
pdfToVideo.videoFormat=Video format
|
||||
pdfToVideo.secondsPerPage=Seconds per page
|
||||
pdfToVideo.resolution=Resolution
|
||||
pdfToVideo.watermarkText=Watermark Text (empty for no watermark)
|
||||
pdfToVideo.opacity=Opacity of the watermark (only applied if a watermark text is specified)
|
||||
pdfToVideo.resolutionOriginal=Original (keep PDF page size)
|
||||
pdfToVideo.dpiLabel=DPI (The server limit is {0} dpi)
|
||||
pdfToVideo.submit=Convert
|
||||
|
||||
|
||||
#addPassword
|
||||
@@ -1739,15 +1635,15 @@ unlockPDFForms.header=Разблокировать PDF-формы
|
||||
unlockPDFForms.submit=Удалить
|
||||
|
||||
#pdfToPDFA
|
||||
pdfToPDFA.title=PDF в PDF/A или PDF/X
|
||||
pdfToPDFA.header=PDF в PDF/A или PDF/X
|
||||
pdfToPDFA.credit=Этот сервис использует Ghostscript (предпочтительнее) или LibreOffice для преобразования PDF/A, и Ghostscript для преобразования PDF/X
|
||||
pdfToPDFA.title=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.header=PDF to PDF/A or PDF/X
|
||||
pdfToPDFA.credit=This service uses Ghostscript (preferred) or LibreOffice for PDF/A conversion, and Ghostscript for PDF/X conversion
|
||||
pdfToPDFA.submit=Преобразовать
|
||||
pdfToPDFA.tip=Преобразовать PDF в PDF/A (для длительного хранения) или PDF/X (для печати)
|
||||
pdfToPDFA.tip=Convert PDF to PDF/A (long-term archiving) or PDF/X (print production)
|
||||
pdfToPDFA.outputFormat=Формат вывода
|
||||
pdfToPDFA.pdfWithDigitalSignature=PDF содержит цифровую подпись. Она будет удалена на следующем шаге.
|
||||
pdfToPDFA.pdfaFormats=PDF/A форматы (для длительного хранения)
|
||||
pdfToPDFA.pdfxFormats=PDF/X форматы (для печати)
|
||||
pdfToPDFA.pdfaFormats=PDF/A Formats (Long-term Archiving)
|
||||
pdfToPDFA.pdfxFormats=PDF/X Formats (Print Production)
|
||||
|
||||
|
||||
#PDFToWord
|
||||
@@ -2104,7 +2000,7 @@ scannerEffect.resolution=Разрешение (DPI)
|
||||
|
||||
|
||||
# Table of Contents Feature
|
||||
home.editTableOfContents.title=Редактирование оглавления
|
||||
home.editTableOfContents.title=Редактир оглавления
|
||||
home.editTableOfContents.desc=Добавление или редактирование закладок и оглавления в PDF-документах
|
||||
|
||||
editTableOfContents.tags=закладки, указатель, индекс, оглавление, главы, разделы, схема, навигация, структура
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF в векторное изображение
|
||||
pdfToVector.description=Конвертируйте PDF-файл в векторные форматы, созданные с помощью Ghostscript (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Выходной формат
|
||||
pdfToVector.submit=Конвертировать
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Попробуйте функцию "Восстановить PDF", затем повторите эту операцию.
|
||||
error.E001.hint.2=По возможности повторно экспортируйте PDF-файл из исходного приложения.
|
||||
error.E001.hint.3=Избегайте передачи файла с помощью инструментов, которые изменяют PDF-файлы (например, конвертеры факсов/электронной почты).
|
||||
error.E001.action=Восстановите PDF-файл и повторите операцию.
|
||||
|
||||
error.E002.hint.1=Определите, какие файлы повреждены, обработав их один за другим.
|
||||
error.E002.hint.2=Запустите "Восстановить PDF" для каждого проблемного файла перед объединением.
|
||||
error.E002.hint.3=Если восстановление завершится неудачно, повторно экспортируйте каждый исходный документ в формат PDF.
|
||||
error.E002.action=Восстановите или повторно экспортируйте поврежденные PDF-файлы по отдельности, а затем повторите операцию.
|
||||
|
||||
error.E003.hint.1=Используйте функцию "Восстановить PDF" для нормализации метаданных шифрования.
|
||||
error.E003.hint.2=Если файл использует необычное шифрование, пересохраните его с помощью современного инструмента для работы с PDF-файлами.
|
||||
error.E003.hint.3=Если PDF-файл защищён паролем, сначала введите правильный пароль.
|
||||
error.E003.action=Восстановите PDF-файл или повторно экспортируйте его с совместимым шифрованием.
|
||||
|
||||
error.E004.hint.1=PDF-файлы могут иметь два пароля: пароль пользователя (открывает документ) и пароль владельца (управляет правами доступа). Для этой операции требуется пароль владельца.
|
||||
error.E004.hint.2=Если PDF-файл открывается без пароля, возможно, установлен только пароль владельца. Попробуйте ввести пароль для управления правами доступа.
|
||||
error.E004.hint.3=PDF-файлы с цифровой подписью не могут быть сняты с защиты, пока не будет удалена подпись.
|
||||
error.E004.hint.4=Пароли чувствительны к регистру. Проверьте регистр, пробелы и специальные символы.
|
||||
error.E063.hint.1=Установите FFmpeg на хост-систему и убедитесь, что он доступен в переменной среды PATH.
|
||||
error.E063.hint.2=Перезапустите Stirling-PDF после установки FFmpeg, чтобы процесс мог его обнаружить.
|
||||
error.E063.action=Установите FFmpeg и перезапустите Stirling-PDF перед повторной попыткой конвертации.
|
||||
error.E004.hint.5=Некоторые разработчики используют разные стандарты шифрования (40-битное, 128-битное, 256-битное AES). Убедитесь, что ваш пароль соответствует используемому шифрованию.
|
||||
error.E004.hint.6=Если у вас есть только пароль пользователя, вы не сможете снять ограничения безопасности. Обратитесь к владельцу документа за паролем с правами доступа.
|
||||
error.E004.action=Укажите пароль владельца/прав доступа, а не только пароль для открытия документа.
|
||||
|
||||
error.E005.hint.1=Убедитесь, что PDF-файл не пустой и не содержит только неподдерживаемые объекты.
|
||||
error.E005.hint.2=Откройте файл в программе просмотра PDF, чтобы убедиться, что в нем есть страницы.
|
||||
error.E005.hint.3=Пересоздайте PDF-файл, убедившись, что в него включены страницы (а не только вложения).
|
||||
error.E005.action=Предоставьте PDF-файл, содержащий хотя бы одну страницу.
|
||||
|
||||
error.E006.hint.1=Убедитесь, что загруженный файл имеет формат PDF, а не какой-либо другой формат.
|
||||
error.E006.hint.2=Если файл имеет расширение .pdf, убедитесь, что он не относится к другому формату (например, Word, изображение).
|
||||
error.E006.hint.3=Попробуйте открыть файл в программе для чтения PDF-файлов, чтобы убедиться в его корректности.
|
||||
error.E006.action=Загрузите корректный PDF-файл.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=Архивы формата RAR5 не поддерживаются. Перепакуйте архив в формат RAR4 или преобразуйте в CBZ (ZIP).
|
||||
error.E010.hint.2=Убедитесь, что архив не зашифрован и содержит корректные файлы изображений.
|
||||
error.E010.hint.3=Попробуйте извлечь архив с помощью десктопной утилиты для проверки целостности.
|
||||
error.E010.action=Преобразуйте архив в формат CBZ/ZIP или RAR4, затем повторите попытку.
|
||||
|
||||
error.E012.hint.1=Убедитесь, что в архиве содержатся файлы изображений (например, .jpg, .png).
|
||||
error.E012.hint.2=Удалите неподдерживаемые или повреждённые файлы из архива.
|
||||
error.E012.hint.3=Переупакуйте архив, убедившись, что изображения находятся в корневой папке или в соответствующих папках.
|
||||
error.E012.action=Добавьте в архив хотя бы одно корректное изображение и повторите попытку.
|
||||
|
||||
error.E014.hint.1=Для этой операции необходимо загрузить файл формата CBR (RAR).
|
||||
error.E014.hint.2=Если у вас есть файл формата ZIP/CBZ, используйте преобразование в формат CBZ.
|
||||
error.E014.hint.3=Проверьте расширение файла и актуальный формат с помощью архиватора.
|
||||
error.E014.action=Укажите корректный файл CBR/RAR.
|
||||
|
||||
error.E015.hint.1=Убедитесь, что ZIP/CBZ-архив не зашифрован и является допустимым архивом.
|
||||
error.E015.hint.2=Убедитесь, что архив не пустой и содержит файлы изображений.
|
||||
error.E015.hint.3=Попробуйте повторно заархивировать изображения с помощью стандартного архиватора ZIP (без аномалий сжатия).
|
||||
error.E015.action=Пересоздайте файл CBZ/ZIP без шифрования и с допустимыми изображениями, затем повторите попытку.
|
||||
|
||||
error.E016.hint.1=Добавьте изображения (.jpg, .png и т.д.) в ZIP-архив.
|
||||
error.E016.hint.2=Удалите файлы, не являющиеся изображениями, или вложенные архивы, которые не поддерживаются.
|
||||
error.E016.hint.3=Убедитесь, что изображения не повреждены и их можно открыть локально.
|
||||
error.E016.action=Добавьте хотя бы одно корректное изображение в CBZ-файл.
|
||||
|
||||
error.E018.hint.1=Для этой операции необходимо загрузить CBZ (ZIP) файл.
|
||||
error.E018.hint.2=Если у вас есть формат RAR/CBR, используйте преобразование в формат CBR.
|
||||
error.E018.hint.3=Проверьте расширение файла и актуальный формат с помощью архиватора.
|
||||
error.E018.action=Укажите корректный файл CBZ/ZIP.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Убедитесь, что размер загруженного файла не равен нулю.
|
||||
error.E020.hint.2=Повторно экспортируйте EML-файл из вашего почтового клиента.
|
||||
error.E020.hint.3=Убедитесь, что содержимое файла не было удалено с помощью электронной почты или средств обеспечения безопасности.
|
||||
error.E020.action=Загрузите непустой EML-файл.
|
||||
|
||||
error.E021.hint.1=Убедитесь, что файл представляет собой исходное EML-сообщение, а не MSG или другой формат электронной почты.
|
||||
error.E021.hint.2=Повторно экспортируйте электронное письмо из вашего клиента в формате EML.
|
||||
error.E021.hint.3=Откройте файл в текстовом редакторе, чтобы проверить наличие стандартных заголовков EML.
|
||||
error.E021.action=Предоставьте корректный экспорт файла EML.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Подтвердите правильность идентификатора файла или пути к нему.
|
||||
error.E030.hint.2=Убедитесь, что файл не был удален или перемещен.
|
||||
error.E030.hint.3=Если используется временная загрузка, повторно загрузите файл и повторите попытку.
|
||||
error.E030.action=Укажите ссылку на существующий файл и повторите попытку.
|
||||
|
||||
error.E031.hint.1=Убедитесь, что файл не поврежден и поддерживается этой операцией.
|
||||
error.E031.hint.2=Повторите операцию; могли возникнуть временные проблемы ввода-вывода.
|
||||
error.E031.hint.3=Если проблема не устранена, упростите документ (уменьшите количество страниц, размер изображений).
|
||||
error.E031.action=Проверьте файл и параметры операции, затем повторите попытку.
|
||||
|
||||
error.E032.hint.1=Прикрепите файл к запросу.
|
||||
error.E032.hint.2=Убедитесь, что размер файла не равен нулю.
|
||||
error.E032.hint.3=При загрузке нескольких файлов убедитесь, что указан хотя бы один из них.
|
||||
error.E032.action=Загрузите непустой файл и повторите попытку.
|
||||
|
||||
error.E033.hint.1=Укажите имя файла с расширением.
|
||||
error.E033.hint.2=Убедитесь, что ваш клиент указал исходное имя файла при загрузке.
|
||||
error.E033.action=Укажите имя загруженного файла.
|
||||
|
||||
error.E034.hint.1=Убедитесь, что файл изображения не поврежден и его можно открыть локально.
|
||||
error.E034.hint.2=Убедитесь, что формат файла соответствует поддерживаемому типу изображений.
|
||||
error.E034.hint.3=Повторно экспортируйте или преобразуйте изображение в стандартный формат (JPEG/PNG).
|
||||
error.E034.action=Укажите доступный для чтения, поддерживаемый файл изображения.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Выберите хотя бы один язык распознавания текста из предложенных.
|
||||
error.E040.hint.2=Если вы не уверены, выберите основной язык текста документа.
|
||||
error.E040.hint.3=При наличии смешанного текста можно выбрать несколько языков.
|
||||
error.E040.action=Укажите один или несколько языков распознавания текста.
|
||||
|
||||
error.E041.hint.1=Используйте допустимые языковые коды (например, eng, fra, deu).
|
||||
error.E041.hint.2=Удалите неподдерживаемые или неправильно написанные языковые коды.
|
||||
error.E041.hint.3=Проверьте установленные языковые пакеты распознавания текста и установите отсутствующие.
|
||||
error.E041.action=Укажите допустимые языковые коды распознавания текста или установите отсутствующие языковые пакеты.
|
||||
|
||||
error.E042.hint.1=Установите инструменты распознавания текста (например, OCRmyPDF/Tesseract) в соответствии с документацией.
|
||||
error.E042.hint.2=Убедитесь, что инструменты находятся в системной переменной PATH и доступны приложению.
|
||||
error.E042.hint.3=При запуске в Docker используйте вариант образа, который включает инструменты распознавания текста.
|
||||
error.E042.action=Установите и настройте инструменты распознавания текста.
|
||||
|
||||
error.E043.hint.1=Используйте 'hocr' для распознавания текста в формате HTML или 'sandwich' для встраивания текста в PDF.
|
||||
error.E043.hint.2=Проверьте документацию API на наличие допустимых типов рендеринга.
|
||||
error.E043.hint.3=Избегайте опечаток; значения чувствительны к регистру.
|
||||
error.E043.action=Выберите 'hocr' или 'sandwich' в качестве типа рендеринга.
|
||||
|
||||
error.E044.hint.1=Проверьте журналы сервера на наличие подробной информации об ошибке OCRmyPDF.
|
||||
error.E044.hint.2=Убедитесь, что установлены необходимые зависимости для распознавания текста и языковые пакеты.
|
||||
error.E044.hint.3=Попробуйте запустить распознавание текста локально для файла, чтобы воспроизвести проблему.
|
||||
error.E044.action=Изучите журналы распознавания текста и исправьте отсутствующие зависимости или входные данные, затем повторите попытку.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Укажите целевой размер выходного файла и уровень оптимизации.
|
||||
error.E050.hint.2=Ознакомьтесь с документацией API для получения информации о необходимых параметрах сжатия.
|
||||
error.E050.hint.3=Если не уверены, начните с оптимизации по умолчанию и подстройте.
|
||||
error.E050.action=Укажите ожидаемый размер выходного файла и уровень оптимизации для сжатия.
|
||||
|
||||
error.E051.hint.1=Проверьте, что Ghostscript установлен и доступен.
|
||||
error.E051.hint.2=Упростите PDF-файл (например, уменьшите размер изображений) и повторите попытку.
|
||||
error.E051.hint.3=Просмотрите аргументы командной строки, созданные для Ghostscript, в журналах.
|
||||
error.E051.action=Убедитесь, что Ghostscript установлен и команда выполняется успешно.
|
||||
error.E054.hint.1=Преобразуйте файлы EPS или PS в одностраничный PDF-файл, прежде чем повторить эту операцию.
|
||||
error.E054.hint.2=Экспортируйте каждую страницу по отдельности из приложения-автора, чтобы Ghostscript обрабатывал по одной странице за раз.
|
||||
error.E054.hint.3=Используйте инструмент «Преобразовать в PDF» для сглаживания изображений или применения дополнительных эффектов, затем повторите команду.
|
||||
error.E054.action=Преобразуйте исходный файл в одностраничный документ (или PDF) и повторите операцию.
|
||||
|
||||
error.E052.hint.1=Убедитесь, что qpdf установлен и находится в системной переменной PATH.
|
||||
error.E052.hint.2=Убедитесь, что PDF-файл не поврежден перед сжатием.
|
||||
error.E052.hint.3=Измените параметры сжатия, если команда не выполняется.
|
||||
error.E052.action=Установите qpdf и повторите попытку с корректными входными данными.
|
||||
|
||||
error.E053.hint.1=Операция была отменена или прервана системой.
|
||||
error.E053.hint.2=Не прерывайте процесс и не закрывайте браузер во время выполнения.
|
||||
error.E053.hint.3=Повторите операцию; если проблема не устранена, проверьте ограничения ресурсов сервера.
|
||||
error.E053.action=Повторите операцию, избегая прерывания.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Убедитесь, что PDF-файл корректен и поддерживается конвертером.
|
||||
error.E060.hint.2=Попробуйте преобразовать его в другой формат PDF/A или сначала повторно экспортируйте исходный текст в PDF.
|
||||
error.E060.hint.3=Удалите проблемные элементы (например, сложную прозрачность) и повторите попытку.
|
||||
error.E060.action=Измените параметры преобразования или нормализуйте формат PDF, затем повторите попытку.
|
||||
|
||||
error.E061.hint.1=Укажите либо отдельный HTML-файл, либо ZIP-архив, содержащий HTML-код и ресурсы.
|
||||
error.E061.hint.2=Убедитесь, что относительные ссылки в HTML указывают на включенные ресурсы в ZIP-архиве.
|
||||
error.E061.action=Загрузите HTML-файл или ZIP-архив с содержимым веб-сайта.
|
||||
|
||||
error.E062.hint.1=Установите Python и необходимые библиотеки WebP, чтобы включить преобразование.
|
||||
error.E062.hint.2=При использовании Docker используйте вариант образа с поддержкой Python/WebP.
|
||||
error.E062.hint.3=Проверьте системную переменную PATH и окружение, чтобы убедиться в доступности Python.
|
||||
error.E062.action=Установите Python и WebP зависимости.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Проверьте допустимые значения параметра в документации API.
|
||||
error.E070.hint.2=Убедитесь, что формат значения соответствует ожиданиям (регистр, диапазон, шаблон).
|
||||
error.E070.hint.3=Исправьте аргумент и отправьте запрос повторно.
|
||||
error.E070.action=Укажите допустимое значение параметра и повторите попытку.
|
||||
|
||||
error.E071.hint.1=Включите отсутствующий параметр в запрос.
|
||||
error.E071.hint.2=Убедитесь, что ваш клиент отправил все необходимые поля.
|
||||
error.E071.action=Добавьте обязательный параметр и повторите попытку.
|
||||
|
||||
error.E072.hint.1=Используйте такие форматы, как 'A4', 'Letter' или 'WIDTHxHEIGHT' (например, 800x600).
|
||||
error.E072.hint.2=Убедитесь, что единицы измерения и разделители указаны правильно.
|
||||
error.E072.hint.3=Сведения о поддерживаемых размерах указаны в документации.
|
||||
error.E072.action=Укажите поддерживаемое значение размера страницы.
|
||||
|
||||
error.E073.hint.1=Допустимые значения: 'greater', 'equal', 'less' (больше, равно, меньше).
|
||||
error.E073.hint.2=Проверьте, нет ли опечаток, и используйте строчные буквы.
|
||||
error.E073.hint.3=Обратитесь к документации API для получения примеров использования компаратора.
|
||||
error.E073.action=Используйте в качестве компаратора одно из значений: 'greater', 'equal', or 'less' (больше, равно и меньше).
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Возможно, в вашей среде выполнения Java отсутствует MD5. Используйте альтернативный алгоритм.
|
||||
error.E080.hint.2=Если хеширование необязательно, переключитесь на SHA-256 или другой поддерживаемый алгоритм.
|
||||
error.E080.hint.3=Установите соответствующие поставщики безопасности, если требуется MD5.
|
||||
error.E080.action=Используйте поддерживаемый алгоритм хэширования (например, SHA-256) или установите поставщик MD5.
|
||||
|
||||
error.E081.hint.1=Уменьшите разрешение DPI (попробуйте 150 или меньше).
|
||||
error.E081.hint.2=Обрабатывайте документ небольшими фрагментами или меньшим количеством страниц за раз.
|
||||
error.E081.hint.3=Уменьшите размеры страницы или сложность изображения перед рендерингом.
|
||||
error.E081.hint.4=Увеличьте доступную динамическую память для приложения, если это возможно.
|
||||
error.E081.action=Уменьшите разрешение DPI и повторите попытку; для больших страниц рекомендуется использовать разрешение 150 точек на дюйм.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Vymazať
|
||||
username=Používateľské meno
|
||||
password=Heslo
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Izbriši
|
||||
username=Uporabniško ime
|
||||
password=Geslo
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=PDF dokument ne sadrži obeleživače/navigacioni sad
|
||||
error.fontLoadingFailed=Greška prilikom obrade fonta
|
||||
error.fontDirectoryReadFailed=Greška prilikom pristupa direktorijuma sa fontovima
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Obriši
|
||||
username=Korisničko ime
|
||||
password=Lozinka
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Radera
|
||||
username=Användarnamn
|
||||
password=Lösenord
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=ลบ
|
||||
username=ชื่อผู้ใช้
|
||||
password=รหัสผ่าน
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=Belgede herhangi bir PDF yer imi / içindekiler bulun
|
||||
error.fontLoadingFailed=Yazı tipi dosyası işlenirken hata oluştu
|
||||
error.fontDirectoryReadFailed=Yazı tipi dizini okunamadı
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Sil
|
||||
username=Kullanıcı Adı
|
||||
password=Parola
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Видалити
|
||||
username=Ім'я користувача
|
||||
password=Пароль
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=No PDF bookmarks/outline found in document
|
||||
error.fontLoadingFailed=Error processing font file
|
||||
error.fontDirectoryReadFailed=Failed to read font directory
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=Xóa
|
||||
username=Tên người dùng
|
||||
password=Mật khẩu
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=文档中没有找到PDF书签/大纲
|
||||
error.fontLoadingFailed=处理字体文件出错
|
||||
error.fontDirectoryReadFailed=无法读取字体目录
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=删除
|
||||
username=用户名
|
||||
password=密码
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF to CBZ
|
||||
home.pdfToCbz.desc=Convert PDF files to CBZ comic book archives.
|
||||
pdfToCbz.tags=conversion,comic,book,archive,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF to CBR
|
||||
pdfToCBR.header=PDF to CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -235,92 +235,6 @@ error.pdfBookmarksNotFound=在文件中找不到 PDF 書籤/大綱
|
||||
error.fontLoadingFailed=處理字型檔案時發生錯誤
|
||||
error.fontDirectoryReadFailed=讀取字型目錄失敗
|
||||
error.noAttachmentsFound=No embedded attachments were found in the provided PDF.
|
||||
error.nullArgument={0} must not be null
|
||||
error.invalidPageSize=Invalid page size format: {0}
|
||||
error.invalidComparator=Invalid comparator format: only 'greater', 'equal', and 'less' are supported
|
||||
|
||||
# Error titles for GlobalExceptionHandler
|
||||
error.pdfPassword.title=PDF Password Required
|
||||
error.outOfMemoryDpi.title=Out of Memory - DPI Too High
|
||||
error.pdfCorrupted.title=PDF File Corrupted
|
||||
error.multiplePdfCorrupted=One or more PDF files appear to be corrupted or damaged. Please try using the 'Repair PDF' feature on each file first before attempting to merge them.
|
||||
error.pdfEncryption.title=PDF Encryption Error
|
||||
error.application.title=Application Error
|
||||
error.cbrFormat.title=Invalid CBR File Format
|
||||
error.cbzFormat.title=Invalid CBZ File Format
|
||||
error.emlFormat.title=Invalid EML File Format
|
||||
error.formatError.title=Invalid File Format
|
||||
error.validation.title=Request Validation Failed
|
||||
error.validation.detail=Validation failed
|
||||
error.missingParameter.title=Missing Request Parameter
|
||||
error.missingParameter.detail=Required parameter ''{0}'' of type ''{1}'' is missing
|
||||
error.missingFile.title=Missing File Upload
|
||||
error.missingFile.detail=Required file part ''{0}'' is missing
|
||||
error.fileTooLarge.title=File Too Large
|
||||
error.fileTooLarge.detail=File size exceeds maximum allowed limit of {0} MB
|
||||
error.fileTooLarge.detailUnknown=File size exceeds maximum allowed limit
|
||||
error.methodNotAllowed.title=HTTP Method Not Allowed
|
||||
error.methodNotAllowed.detail=HTTP method ''{0}'' is not supported for this endpoint. Supported methods: {1}
|
||||
error.unsupportedMediaType.title=Unsupported Media Type
|
||||
error.unsupportedMediaType.detail=Media type ''{0}'' is not supported. Supported media types: {1}
|
||||
error.malformedRequest.title=Malformed Request Body
|
||||
error.malformedRequest.detail=Malformed JSON request or invalid request body format
|
||||
error.malformedRequest.detailWithCause=Invalid request body: {0}
|
||||
error.notFound.title=Endpoint Not Found
|
||||
error.notFound.detail=No endpoint found for {0} {1}
|
||||
error.invalidArgument.title=Invalid Argument
|
||||
error.ioError.title=File Processing Error
|
||||
error.ioError.detail=An error occurred while processing the file
|
||||
error.unexpected.title=Internal Server Error
|
||||
error.unexpected=An unexpected error occurred. Please try again later.
|
||||
|
||||
# PDF-related error messages from ErrorCode enum
|
||||
error.pdfNoPages=PDF file contains no pages
|
||||
error.notPdfFile=File must be in PDF format
|
||||
|
||||
# CBR/CBZ error messages from ErrorCode enum
|
||||
error.cbrInvalidFormat=Invalid or corrupted CBR/RAR archive. The file may be corrupted, use an unsupported RAR format (RAR5+), encrypted, or may not be a valid RAR archive.
|
||||
error.cbrNoImages=No valid images found in the CBR file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbrFile=File must be a CBR or RAR archive
|
||||
error.cbzInvalidFormat=Invalid or corrupted CBZ/ZIP archive. The file may be empty, corrupted, or may not be a valid ZIP archive.
|
||||
error.cbzNoImages=No valid images found in the CBZ file. The archive may be empty, or all images may be corrupted or in unsupported formats.
|
||||
error.notCbzFile=File must be a CBZ or ZIP archive
|
||||
|
||||
# EML error messages from ErrorCode enum
|
||||
error.emlEmpty=EML file is empty or null
|
||||
error.emlInvalidFormat=Invalid EML file format
|
||||
|
||||
# File processing error messages from ErrorCode enum
|
||||
error.fileNullOrEmpty=File cannot be null or empty
|
||||
error.fileNoName=File must have a name
|
||||
error.imageReadError=Unable to read image from file: {0}
|
||||
|
||||
# OCR error messages from ErrorCode enum
|
||||
error.ocrLanguageRequired=OCR language options are not specified
|
||||
error.ocrInvalidLanguages=Invalid OCR languages format: none of the selected languages are valid
|
||||
error.ocrToolsUnavailable=OCR tools are not installed
|
||||
error.ocrInvalidRenderType=Invalid OCR render type. Must be 'hocr' or 'sandwich'
|
||||
error.ocrProcessingFailed=OCRmyPDF failed with return code: {0}
|
||||
|
||||
# Compression error messages from ErrorCode enum
|
||||
error.compressionOptions=Compression options are not specified (expected output size and optimise level)
|
||||
error.ghostscriptCompression=Ghostscript compression command failed
|
||||
error.ghostscriptCompression.title=Ghostscript Processing Error
|
||||
error.ghostscriptPageDrawing=Ghostscript could not render {0}. {1}
|
||||
error.ghostscriptDefaultDiagnostic=The source file contains content Ghostscript cannot render.
|
||||
error.qpdfCompression=QPDF command failed
|
||||
error.processingInterrupted={0} processing was interrupted
|
||||
|
||||
# Conversion error messages from ErrorCode enum
|
||||
error.pdfaConversionFailed=PDF/A conversion failed
|
||||
error.htmlFileRequired=File must be in HTML or ZIP format
|
||||
error.pythonRequiredWebp=Python is required for WebP conversion
|
||||
error.ffmpegRequired=FFmpeg must be installed to convert PDFs to video. Install FFmpeg and ensure it is available on the system PATH.
|
||||
error.ffmpegRequired.title=FFmpeg Required
|
||||
|
||||
# System error messages from ErrorCode enum
|
||||
error.md5Algorithm=MD5 algorithm not available
|
||||
error.outOfMemoryDpi=Out of memory or image-too-large error while rendering PDF page {0} at {1} DPI. This can occur when the resulting image exceeds Java's array/memory limits (e.g., NegativeArraySizeException). Please use a lower DPI value (recommended: 150 or less) or process the document in smaller chunks.
|
||||
delete=刪除
|
||||
username=使用者名稱
|
||||
password=密碼
|
||||
@@ -706,10 +620,6 @@ home.ebookToPdf.title=eBook to PDF
|
||||
home.ebookToPdf.desc=Convert eBook files (EPUB, MOBI, AZW3, FB2, TXT, DOCX) to PDF using Calibre.
|
||||
ebookToPdf.tags=conversion,ebook,calibre,epub,mobi,azw3
|
||||
|
||||
home.pdfToEpub.title=PDF to EPUB/AZW3
|
||||
home.pdfToEpub.desc=Convert PDF files into EPUB or AZW3 ebooks optimised for e-readers using Calibre.
|
||||
pdfToEpub.tags=conversion,ebook,epub,azw3,calibre
|
||||
|
||||
home.pdfToCbz.title=PDF 轉 CBZ
|
||||
home.pdfToCbz.desc=將 PDF 檔案轉換為 CBZ 漫畫封存檔。
|
||||
pdfToCbz.tags=轉換,漫畫,書,封存,cbz,pdf
|
||||
@@ -1596,20 +1506,6 @@ ebookToPDF.includePageNumbers=Add page numbers to the generated PDF
|
||||
ebookToPDF.optimizeForEbook=Optimize PDF for ebook readers (uses Ghostscript)
|
||||
ebookToPDF.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToEpub
|
||||
pdfToEpub.title=PDF to EPUB/AZW3
|
||||
pdfToEpub.header=PDF to EPUB/AZW3
|
||||
pdfToEpub.submit=Convert
|
||||
pdfToEpub.selectText=Select PDF file
|
||||
pdfToEpub.outputFormat=Output format
|
||||
pdfToEpub.outputFormat.epub=EPUB
|
||||
pdfToEpub.outputFormat.azw3=AZW3
|
||||
pdfToEpub.detectChapters=Detect chapters and insert automatic breaks
|
||||
pdfToEpub.targetDevice=Target device
|
||||
pdfToEpub.targetDevice.tablet=Tablet / Phone (keeps images high quality)
|
||||
pdfToEpub.targetDevice.kindle=Kindle / E-Ink (text-focused, smaller images)
|
||||
pdfToEpub.calibreDisabled=Calibre support is disabled. Enable the Calibre tool group or install Calibre to use this feature.
|
||||
|
||||
#pdfToCBR
|
||||
pdfToCBR.title=PDF 轉 CBR
|
||||
pdfToCBR.header=PDF 轉 CBR
|
||||
@@ -2141,209 +2037,3 @@ pdfToVector.header=PDF to Vector Image
|
||||
pdfToVector.description=Convert a PDF into Ghostscript-generated vector formats (EPS, PS, PCL, or XPS).
|
||||
pdfToVector.outputFormat=Output format
|
||||
pdfToVector.submit=Convert
|
||||
|
||||
#####################
|
||||
# Exception Hints #
|
||||
#####################
|
||||
|
||||
# PDF-related errors
|
||||
error.E001.hint.1=Try the 'Repair PDF' feature, then retry this operation.
|
||||
error.E001.hint.2=Re-export the PDF from the original application if possible.
|
||||
error.E001.hint.3=Avoid transferring the file through tools that modify PDFs (e.g., fax/email converters).
|
||||
error.E001.action=Repair the PDF and retry the operation.
|
||||
|
||||
error.E002.hint.1=Identify which files are corrupted by processing them one by one.
|
||||
error.E002.hint.2=Run 'Repair PDF' on each problematic file before merging.
|
||||
error.E002.hint.3=If repair fails, re-export each source document to PDF again.
|
||||
error.E002.action=Repair or re-export the corrupted PDFs individually, then retry the operation.
|
||||
|
||||
error.E003.hint.1=Use the 'Repair PDF' feature to normalise encryption metadata.
|
||||
error.E003.hint.2=If the file uses unusual encryption, re-save with a modern PDF tool.
|
||||
error.E003.hint.3=If the PDF is password-protected, provide the correct password first.
|
||||
error.E003.action=Repair the PDF or re-export it with compatible encryption.
|
||||
|
||||
error.E004.hint.1=PDFs can have two passwords: a user password (opens the document) and an owner password (controls permissions). This operation requires the owner password.
|
||||
error.E004.hint.2=If you can open the PDF without a password, it may only have an owner password set. Try submitting the permissions password.
|
||||
error.E004.hint.3=Digitally signed PDFs cannot have security removed until the signature is removed.
|
||||
error.E004.hint.4=Passwords are case-sensitive. Verify capitalisation, spaces, and special characters.
|
||||
error.E063.hint.1=Install FFmpeg on the host system and ensure it is available on the PATH environment variable.
|
||||
error.E063.hint.2=Restart Stirling-PDF after installing FFmpeg so the process can detect it.
|
||||
error.E063.action=Install FFmpeg and restart Stirling-PDF before retrying the conversion.
|
||||
error.E004.hint.5=Some creators use different encryption standards (40-bit, 128-bit, 256-bit AES). Ensure your password matches the encryption used.
|
||||
error.E004.hint.6=If you only have the user password, you cannot remove security restrictions. Contact the document owner for the permissions password.
|
||||
error.E004.action=Provide the owner/permissions password, not just the document open password.
|
||||
|
||||
error.E005.hint.1=Verify the PDF is not empty or contains only unsupported objects.
|
||||
error.E005.hint.2=Open the file in a PDF viewer to confirm it has pages.
|
||||
error.E005.hint.3=Recreate the PDF ensuring pages are included (not just attachments).
|
||||
error.E005.action=Provide a PDF that contains at least one page.
|
||||
|
||||
error.E006.hint.1=Ensure the uploaded file is a valid PDF, not another format.
|
||||
error.E006.hint.2=If it has a .pdf extension, verify the file is not actually another type (e.g., Word, image).
|
||||
error.E006.hint.3=Try opening the file in a PDF reader to confirm validity.
|
||||
error.E006.action=Upload a valid PDF file.
|
||||
|
||||
# CBR/CBZ errors
|
||||
error.E010.hint.1=RAR5 archives are not supported. Repack the archive as RAR4 or convert to CBZ (ZIP).
|
||||
error.E010.hint.2=Ensure the archive is not encrypted and contains valid image files.
|
||||
error.E010.hint.3=Try extracting the archive with a desktop tool to verify integrity.
|
||||
error.E010.action=Convert the archive to CBZ/ZIP or RAR4, then retry.
|
||||
|
||||
error.E012.hint.1=Make sure the archive contains image files (e.g., .jpg, .png).
|
||||
error.E012.hint.2=Remove unsupported or corrupted files from the archive.
|
||||
error.E012.hint.3=Repack the archive ensuring images are at the root or in proper folders.
|
||||
error.E012.action=Add at least one valid image to the archive and retry.
|
||||
|
||||
error.E014.hint.1=Upload a CBR (RAR) file for this operation.
|
||||
error.E014.hint.2=If you have a ZIP/CBZ, use the CBZ conversion instead.
|
||||
error.E014.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E014.action=Provide a valid CBR/RAR file.
|
||||
|
||||
error.E015.hint.1=Ensure the ZIP/CBZ is not encrypted and is a valid archive.
|
||||
error.E015.hint.2=Verify the archive is not empty and contains image files.
|
||||
error.E015.hint.3=Try re-zipping the images using a standard ZIP tool (no compression anomalies).
|
||||
error.E015.action=Recreate the CBZ/ZIP without encryption and with valid images, then retry.
|
||||
|
||||
error.E016.hint.1=Add images (.jpg, .png, etc.) to the ZIP archive.
|
||||
error.E016.hint.2=Remove non-image files or nested archives that aren't supported.
|
||||
error.E016.hint.3=Ensure images are not corrupted and can be opened locally.
|
||||
error.E016.action=Include at least one valid image in the CBZ file.
|
||||
|
||||
error.E018.hint.1=Upload a CBZ (ZIP) file for this operation.
|
||||
error.E018.hint.2=If you have a RAR/CBR, use the CBR conversion instead.
|
||||
error.E018.hint.3=Check the file extension and actual format with an archive tool.
|
||||
error.E018.action=Provide a valid CBZ/ZIP file.
|
||||
|
||||
# EML errors
|
||||
error.E020.hint.1=Verify the uploaded file is not zero bytes.
|
||||
error.E020.hint.2=Export the EML again from your email client.
|
||||
error.E020.hint.3=Ensure the file hasn't been stripped of content by email/security tools.
|
||||
error.E020.action=Upload a non-empty EML file.
|
||||
|
||||
error.E021.hint.1=Ensure the file is a raw EML message, not MSG or another email format.
|
||||
error.E021.hint.2=Re-export the email as EML from your client.
|
||||
error.E021.hint.3=Open the file with a text editor to verify standard EML headers are present.
|
||||
error.E021.action=Provide a valid EML file export.
|
||||
|
||||
# File processing errors
|
||||
error.E030.hint.1=Confirm the file ID or path is correct.
|
||||
error.E030.hint.2=Ensure the file wasn't deleted or moved.
|
||||
error.E030.hint.3=If using a temporary upload, re-upload the file and try again.
|
||||
error.E030.action=Provide an existing file reference and retry.
|
||||
|
||||
error.E031.hint.1=Check that the file is not corrupted and is supported by this operation.
|
||||
error.E031.hint.2=Retry the operation; transient I/O issues can occur.
|
||||
error.E031.hint.3=If the problem persists, simplify the document (fewer pages, smaller images).
|
||||
error.E031.action=Verify the file and operation parameters, then retry.
|
||||
|
||||
error.E032.hint.1=Attach a file in the request.
|
||||
error.E032.hint.2=Make sure the file is not zero bytes.
|
||||
error.E032.hint.3=If uploading multiple files, ensure at least one is provided.
|
||||
error.E032.action=Upload a non-empty file and retry.
|
||||
|
||||
error.E033.hint.1=Provide a filename with an extension.
|
||||
error.E033.hint.2=Ensure your client includes the original filename during upload.
|
||||
error.E033.action=Include a filename for the uploaded file.
|
||||
|
||||
error.E034.hint.1=Verify the image file is not corrupted and can be opened locally.
|
||||
error.E034.hint.2=Ensure the file format is a supported image type.
|
||||
error.E034.hint.3=Re-export or convert the image to a standard format (JPEG/PNG).
|
||||
error.E034.action=Provide a readable, supported image file.
|
||||
|
||||
# OCR errors
|
||||
error.E040.hint.1=Select at least one OCR language from the options.
|
||||
error.E040.hint.2=If unsure, choose the primary language of the document's text.
|
||||
error.E040.hint.3=Multiple languages can be selected if mixed text is present.
|
||||
error.E040.action=Specify one or more OCR languages.
|
||||
|
||||
error.E041.hint.1=Use valid language codes (e.g., eng, fra, deu).
|
||||
error.E041.hint.2=Remove unsupported or misspelt language codes.
|
||||
error.E041.hint.3=Check installed OCR language packs and install missing ones.
|
||||
error.E041.action=Provide valid OCR language codes or install missing language packs.
|
||||
|
||||
error.E042.hint.1=Install OCR tools (e.g., OCRmyPDF/Tesseract) as per documentation.
|
||||
error.E042.hint.2=Verify the tools are on the PATH and accessible by the application.
|
||||
error.E042.hint.3=If running in Docker, use an image variant that includes OCR tools.
|
||||
error.E042.action=Install and configure the OCR tools.
|
||||
|
||||
error.E043.hint.1=Use 'hocr' for HTML OCR output or 'sandwich' to embed text in PDF.
|
||||
error.E043.hint.2=Check the API docs for valid render types.
|
||||
error.E043.hint.3=Avoid typos; values are case-sensitive.
|
||||
error.E043.action=Choose either 'hocr' or 'sandwich' as render type.
|
||||
|
||||
error.E044.hint.1=Check the server logs for the detailed OCRmyPDF error output.
|
||||
error.E044.hint.2=Ensure required OCR dependencies and language packs are installed.
|
||||
error.E044.hint.3=Try running OCR locally on the file to reproduce the issue.
|
||||
error.E044.action=Investigate OCR logs and fix missing dependencies or inputs, then retry.
|
||||
|
||||
# Compression/processing errors
|
||||
error.E050.hint.1=Provide both target output size and optimisation level.
|
||||
error.E050.hint.2=Review API docs for required compression parameters.
|
||||
error.E050.hint.3=If unsure, start with default optimisation and adjust.
|
||||
error.E050.action=Specify expected output size and optimise level for compression.
|
||||
|
||||
error.E051.hint.1=Confirm Ghostscript is installed and accessible.
|
||||
error.E051.hint.2=Simplify the PDF (e.g., reduce image sizes) and retry.
|
||||
error.E051.hint.3=Review command-line arguments generated for Ghostscript in logs.
|
||||
error.E051.action=Ensure Ghostscript is installed and the command executes successfully.
|
||||
error.E054.hint.1=Convert EPS or PS files to a single-page PDF before retrying this operation.
|
||||
error.E054.hint.2=Export each page individually from the authoring application so Ghostscript processes a single page at a time.
|
||||
error.E054.hint.3=Use the Convert to PDF tool to flatten artwork or advanced effects, then rerun the command.
|
||||
error.E054.action=Convert the source file to a single-page document (or PDF) and retry the operation.
|
||||
|
||||
error.E052.hint.1=Ensure qpdf is installed and on PATH.
|
||||
error.E052.hint.2=Verify that the PDF is not corrupted before compression.
|
||||
error.E052.hint.3=Adjust compression parameters if the command fails.
|
||||
error.E052.action=Install qpdf and retry with valid inputs.
|
||||
|
||||
error.E053.hint.1=The operation was cancelled or interrupted by the system.
|
||||
error.E053.hint.2=Avoid terminating the process or closing the browser mid-operation.
|
||||
error.E053.hint.3=Retry the operation; if it persists, check server resource limits.
|
||||
error.E053.action=Retry the operation and avoid interruption.
|
||||
|
||||
# Conversion/System errors
|
||||
error.E060.hint.1=Ensure the PDF is valid and supported by the converter.
|
||||
error.E060.hint.2=Try converting to a different PDF/A level or re-export the source to PDF first.
|
||||
error.E060.hint.3=Remove problematic elements (e.g., complex transparency) and retry.
|
||||
error.E060.action=Adjust conversion settings or normalise the PDF, then retry.
|
||||
|
||||
error.E061.hint.1=Provide either a single HTML file or a ZIP containing HTML and assets.
|
||||
error.E061.hint.2=Ensure relative links in HTML point to included assets in the ZIP.
|
||||
error.E061.action=Upload an HTML file or a ZIP of the website content.
|
||||
|
||||
error.E062.hint.1=Install Python and required WebP libraries to enable conversion.
|
||||
error.E062.hint.2=If using Docker, use an image variant with Python/WebP support.
|
||||
error.E062.hint.3=Check PATH and environment to ensure Python is available.
|
||||
error.E062.action=Install Python and WebP dependencies.
|
||||
|
||||
# Validation errors
|
||||
error.E070.hint.1=Review the parameter's allowed values in the API docs.
|
||||
error.E070.hint.2=Ensure the value format matches expectations (case, range, pattern).
|
||||
error.E070.hint.3=Correct the argument and resend the request.
|
||||
error.E070.action=Provide a valid parameter value and retry.
|
||||
|
||||
error.E071.hint.1=Include the missing parameter in the request.
|
||||
error.E071.hint.2=Verify your client sends all required fields.
|
||||
error.E071.action=Add the required parameter and retry.
|
||||
|
||||
error.E072.hint.1=Use formats like 'A4', 'Letter', or 'WIDTHxHEIGHT' (e.g., 800x600).
|
||||
error.E072.hint.2=Ensure units and separators are correct.
|
||||
error.E072.hint.3=Refer to docs for supported sizes.
|
||||
error.E072.action=Provide a supported page size value.
|
||||
|
||||
error.E073.hint.1=Allowed values: 'greater', 'equal', 'less'.
|
||||
error.E073.hint.2=Check for typos and use lowercase.
|
||||
error.E073.hint.3=Consult API docs for comparator usage examples.
|
||||
error.E073.action=Use one of 'greater', 'equal', or 'less' as comparator.
|
||||
|
||||
# System errors
|
||||
error.E080.hint.1=Your Java runtime may not include MD5. Use an alternative algorithm.
|
||||
error.E080.hint.2=If hashing is optional, switch to SHA-256 or another supported digest.
|
||||
error.E080.hint.3=Install appropriate security providers if MD5 is required.
|
||||
error.E080.action=Use a supported hash algorithm (e.g., SHA-256) or install MD5 provider.
|
||||
|
||||
error.E081.hint.1=Reduce the DPI (try 150 or lower).
|
||||
error.E081.hint.2=Process the document in smaller chunks or fewer pages at a time.
|
||||
error.E081.hint.3=Reduce page dimensions or image complexity before rendering.
|
||||
error.E081.hint.4=Increase available heap memory for the application if possible.
|
||||
error.E081.action=Lower the DPI and retry; 150 DPI is recommended for large pages.
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
function formatProblemDetailsJson(input) {
|
||||
try {
|
||||
const obj = typeof input === 'string' ? JSON.parse(input) : input;
|
||||
@@ -244,7 +238,7 @@ export class DecryptFile {
|
||||
return {isEncrypted: false, requiresPassword: false};
|
||||
}
|
||||
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
|
||||
const arrayBuffer = await file.arrayBuffer();
|
||||
const arrayBufferForPdfLib = arrayBuffer.slice(0);
|
||||
@@ -252,14 +246,12 @@ export class DecryptFile {
|
||||
|
||||
if(this.decryptWorker == null){
|
||||
loadingTask = pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: arrayBuffer,
|
||||
});
|
||||
this.decryptWorker = loadingTask._worker
|
||||
|
||||
}else {
|
||||
loadingTask = pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: arrayBuffer,
|
||||
worker: this.decryptWorker
|
||||
});
|
||||
|
||||
@@ -1,39 +1,18 @@
|
||||
importScripts('./diff.js');
|
||||
|
||||
let complexMessage = 'One or both of the provided documents are large files, accuracy of comparison may be reduced';
|
||||
let largeFilesMessage = 'One or Both of the provided documents are too large to process';
|
||||
|
||||
// Early: Listener for SET messages (before onmessage)
|
||||
self.addEventListener('message', (event) => {
|
||||
if (event.data.type === 'SET_COMPLEX_MESSAGE') {
|
||||
complexMessage = event.data.message;
|
||||
} else if (event.data.type === 'SET_TOO_LARGE_MESSAGE') {
|
||||
largeFilesMessage = event.data.message;
|
||||
}
|
||||
});
|
||||
|
||||
self.onmessage = async function (e) {
|
||||
const data = e.data;
|
||||
if (data.type !== 'COMPARE') {
|
||||
console.log('Worker ignored non-COMPARE message');
|
||||
return;
|
||||
}
|
||||
|
||||
const { text1, text2, color1, color2 } = data;
|
||||
console.log('Received text for comparison:', { lengths: { text1: text1.length, text2: text2.length } }); // Safe Log
|
||||
const { text1, text2, color1, color2 } = e.data;
|
||||
console.log('Received text for comparison:', { text1, text2 });
|
||||
|
||||
const startTime = performance.now();
|
||||
|
||||
// Safe Trim
|
||||
if (!text1 || !text2 || text1.trim() === "" || text2.trim() === "") {
|
||||
if (text1.trim() === "" || text2.trim() === "") {
|
||||
self.postMessage({ status: 'error', message: 'One or both of the texts are empty.' });
|
||||
return;
|
||||
}
|
||||
|
||||
// Robust Word-Split (handles spaces/punctuation better)
|
||||
const words1 = text1.trim().split(/\s+/).filter(w => w.length > 0);
|
||||
const words2 = text2.trim().split(/\s+/).filter(w => w.length > 0);
|
||||
|
||||
const words1 = text1.split(' ');
|
||||
const words2 = text2.split(' ');
|
||||
const MAX_WORD_COUNT = 150000;
|
||||
const COMPLEX_WORD_COUNT = 50000;
|
||||
const BATCH_SIZE = 5000; // Define a suitable batch size for processing
|
||||
@@ -42,28 +21,44 @@ self.onmessage = async function (e) {
|
||||
const isComplex = words1.length > COMPLEX_WORD_COUNT || words2.length > COMPLEX_WORD_COUNT;
|
||||
const isTooLarge = words1.length > MAX_WORD_COUNT || words2.length > MAX_WORD_COUNT;
|
||||
|
||||
let complexMessage = 'One or both of the provided documents are large files, accuracy of comparison may be reduced';
|
||||
let tooLargeMessage = 'One or Both of the provided documents are too large to process';
|
||||
|
||||
// Listen for messages from the main thread
|
||||
self.addEventListener('message', (event) => {
|
||||
if (event.data.type === 'SET_TOO_LARGE_MESSAGE') {
|
||||
tooLargeMessage = event.data.message;
|
||||
}
|
||||
if (event.data.type === 'SET_COMPLEX_MESSAGE') {
|
||||
complexMessage = event.data.message;
|
||||
}
|
||||
});
|
||||
|
||||
if (isTooLarge) {
|
||||
self.postMessage({ status: 'error', message: largeFilesMessage });
|
||||
self.postMessage({
|
||||
status: 'warning',
|
||||
message: tooLargeMessage,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
if (isComplex) {
|
||||
self.postMessage({ status: 'warning', message: complexMessage });
|
||||
}
|
||||
|
||||
// Diff based on size
|
||||
let differences;
|
||||
if (isComplex) {
|
||||
differences = await staggeredBatchDiff(words1, words2, color1 || '#ff0000', color2 || '#008000', BATCH_SIZE, OVERLAP_SIZE);
|
||||
} else {
|
||||
differences = diff(words1, words2, color1 || '#ff0000', color2 || '#008000');
|
||||
}
|
||||
|
||||
console.log(`Diff took ${performance.now() - startTime} ms for ${words1.length + words2.length} words`);
|
||||
self.postMessage({ status: 'success', differences });
|
||||
if (isComplex) {
|
||||
self.postMessage({
|
||||
status: 'warning',
|
||||
message: complexMessage,
|
||||
});
|
||||
}
|
||||
// Perform diff operation depending on document size
|
||||
const differences = isComplex
|
||||
? await staggeredBatchDiff(words1, words2, color1, color2, BATCH_SIZE, OVERLAP_SIZE)
|
||||
: diff(words1, words2, color1, color2);
|
||||
|
||||
console.log(`Diff operation took ${performance.now() - startTime} milliseconds`);
|
||||
self.postMessage({ status: 'success', differences });
|
||||
}
|
||||
};
|
||||
|
||||
// Splits text into smaller batches to run through diff checking algorithms. overlaps the batches to help ensure
|
||||
//Splits text into smaller batches to run through diff checking algorithms. overlaps the batches to help ensure
|
||||
async function staggeredBatchDiff(words1, words2, color1, color2, batchSize, overlapSize) {
|
||||
const differences = [];
|
||||
const totalWords1 = words1.length;
|
||||
@@ -72,9 +67,10 @@ async function staggeredBatchDiff(words1, words2, color1, color2, batchSize, ove
|
||||
let previousEnd1 = 0; // Track where the last batch ended in words1
|
||||
let previousEnd2 = 0; // Track where the last batch ended in words2
|
||||
|
||||
// Track processed indices to dedupe overlaps
|
||||
const processed1 = new Set();
|
||||
const processed2 = new Set();
|
||||
// Function to determine if differences are large, differences that are too large indicate potential error in batching
|
||||
const isLargeDifference = (differences) => {
|
||||
return differences.length > 50;
|
||||
};
|
||||
|
||||
while (previousEnd1 < totalWords1 || previousEnd2 < totalWords2) {
|
||||
// Define the next chunk boundaries
|
||||
@@ -84,130 +80,66 @@ async function staggeredBatchDiff(words1, words2, color1, color2, batchSize, ove
|
||||
const start2 = previousEnd2;
|
||||
const end2 = Math.min(start2 + batchSize, totalWords2);
|
||||
|
||||
// Adaptive: If many diffs, smaller batch (max 3x downscale)
|
||||
const recentDiffs = differences.slice(-100).filter(([c]) => c !== 'black').length;
|
||||
// If difference is too high decrease batch size for more granular check
|
||||
const dynamicBatchSize = Math.max(batchSize / Math.min(8, 1 + recentDiffs / 50), batchSize / 8);
|
||||
//If difference is too high decrease batch size for more granular check
|
||||
const dynamicBatchSize = isLargeDifference(differences) ? batchSize / 2 : batchSize;
|
||||
|
||||
const extendedEnd1 = Math.min(end1 + dynamicBatchSize, totalWords1);
|
||||
const extendedEnd2 = Math.min(end2 + dynamicBatchSize, totalWords2);
|
||||
|
||||
const batchWords1 = words1.slice(start1, extendedEnd1);
|
||||
const batchWords2 = words2.slice(start2, extendedEnd2);
|
||||
// Adjust the size of the current chunk using dynamic batch size
|
||||
const batchWords1 = words1.slice(start1, end1 + dynamicBatchSize);
|
||||
const batchWords2 = words2.slice(start2, end2 + dynamicBatchSize);
|
||||
|
||||
// Include overlap from the previous chunk
|
||||
const overlapStart1 = Math.max(0, previousEnd1 - overlapSize);
|
||||
const overlapStart2 = Math.max(0, previousEnd2 - overlapSize);
|
||||
const overlapWords1 = previousEnd1 > 0 ? words1.slice(overlapStart1, previousEnd1) : [];
|
||||
const overlapWords2 = previousEnd2 > 0 ? words2.slice(overlapStart2, previousEnd2) : [];
|
||||
|
||||
const overlapWords1 = previousEnd1 > 0 ? words1.slice(Math.max(0, previousEnd1 - overlapSize), previousEnd1) : [];
|
||||
const overlapWords2 = previousEnd2 > 0 ? words2.slice(Math.max(0, previousEnd2 - overlapSize), previousEnd2) : [];
|
||||
|
||||
// Combine overlaps and current batches for comparison
|
||||
const combinedWords1 = [...overlapWords1, ...batchWords1];
|
||||
const combinedWords2 = [...overlapWords2, ...batchWords2];
|
||||
const combinedWords1 = overlapWords1.concat(batchWords1);
|
||||
const combinedWords2 = overlapWords2.concat(batchWords2);
|
||||
|
||||
// Perform the diff on the combined words
|
||||
const batchDifferences = diff(combinedWords1, combinedWords2, color1, color2);
|
||||
differences.push(...batchDifferences);
|
||||
|
||||
const combinedIndices1 = [];
|
||||
for (let i = overlapStart1; i < previousEnd1; i++) {
|
||||
combinedIndices1.push(i);
|
||||
}
|
||||
for (let i = start1; i < extendedEnd1; i++) {
|
||||
combinedIndices1.push(i);
|
||||
}
|
||||
|
||||
const combinedIndices2 = [];
|
||||
for (let i = overlapStart2; i < previousEnd2; i++) {
|
||||
combinedIndices2.push(i);
|
||||
}
|
||||
for (let i = start2; i < extendedEnd2; i++) {
|
||||
combinedIndices2.push(i);
|
||||
}
|
||||
|
||||
let pointer1 = 0;
|
||||
let pointer2 = 0;
|
||||
|
||||
const filteredBatch = [];
|
||||
batchDifferences.forEach(([color, word]) => {
|
||||
if (color === color1) {
|
||||
const globalIndex1 = combinedIndices1[pointer1];
|
||||
if (globalIndex1 === undefined || !processed1.has(globalIndex1)) {
|
||||
filteredBatch.push([color, word]);
|
||||
}
|
||||
if (globalIndex1 !== undefined) {
|
||||
processed1.add(globalIndex1);
|
||||
}
|
||||
pointer1++;
|
||||
} else if (color === color2) {
|
||||
const globalIndex2 = combinedIndices2[pointer2];
|
||||
if (globalIndex2 === undefined || !processed2.has(globalIndex2)) {
|
||||
filteredBatch.push([color, word]);
|
||||
}
|
||||
if (globalIndex2 !== undefined) {
|
||||
processed2.add(globalIndex2);
|
||||
}
|
||||
pointer2++;
|
||||
} else {
|
||||
const globalIndex1 = combinedIndices1[pointer1];
|
||||
const globalIndex2 = combinedIndices2[pointer2];
|
||||
const alreadyProcessed = (globalIndex1 !== undefined && processed1.has(globalIndex1)) && (globalIndex2 !== undefined && processed2.has(globalIndex2));
|
||||
if (!alreadyProcessed) {
|
||||
filteredBatch.push([color, word]);
|
||||
}
|
||||
if (globalIndex1 !== undefined) {
|
||||
processed1.add(globalIndex1);
|
||||
}
|
||||
if (globalIndex2 !== undefined) {
|
||||
processed2.add(globalIndex2);
|
||||
}
|
||||
pointer1++;
|
||||
pointer2++;
|
||||
}
|
||||
});
|
||||
|
||||
differences.push(...filteredBatch);
|
||||
|
||||
// Mark as processed
|
||||
for (let k = start1; k < end1; k++) processed1.add(k);
|
||||
for (let k = start2; k < end2; k++) processed2.add(k);
|
||||
|
||||
// Update the previous end indices based on the results of this batch
|
||||
previousEnd1 = end1;
|
||||
previousEnd2 = end2;
|
||||
|
||||
// Yield for async (avoids blocking)
|
||||
await new Promise(resolve => setTimeout(resolve, 0));
|
||||
}
|
||||
|
||||
return differences;
|
||||
}
|
||||
|
||||
|
||||
// Standard diff function for small text comparisons
|
||||
function diff(words1, words2, color1, color2) {
|
||||
console.log(`Diff: ${words1.length} vs ${words2.length} words`);
|
||||
const oldStr = words1.join(' '); // As string for diff.js
|
||||
const newStr = words2.join(' ');
|
||||
// Static method: No 'new' needed, avoids constructor error
|
||||
const changes = Diff.diffWords(oldStr, newStr, { ignoreWhitespace: true });
|
||||
console.log(`Starting diff between ${words1.length} words and ${words2.length} words`);
|
||||
const matrix = Array.from({ length: words1.length + 1 }, () => Array(words2.length + 1).fill(0));
|
||||
|
||||
// Map changes to [color, word] format (change.value and added/removed)
|
||||
for (let i = 1; i <= words1.length; i++) {
|
||||
for (let j = 1; j <= words2.length; j++) {
|
||||
matrix[i][j] = words1[i - 1] === words2[j - 1]
|
||||
? matrix[i - 1][j - 1] + 1
|
||||
: Math.max(matrix[i][j - 1], matrix[i - 1][j]);
|
||||
}
|
||||
}
|
||||
return backtrack(matrix, words1, words2, color1, color2);
|
||||
}
|
||||
|
||||
// Backtrack function to find differences
|
||||
function backtrack(matrix, words1, words2, color1, color2) {
|
||||
let i = words1.length, j = words2.length;
|
||||
const differences = [];
|
||||
changes.forEach(change => {
|
||||
const value = change.value;
|
||||
const op = change.added ? 1 : change.removed ? -1 : 0;
|
||||
|
||||
// Split value into words and process
|
||||
const words = value.split(/\s+/).filter(w => w.length > 0);
|
||||
words.forEach(word => {
|
||||
if (op === 0) { // Equal
|
||||
differences.push(['black', word]);
|
||||
} else if (op === 1) { // Insert
|
||||
differences.push([color2, word]);
|
||||
} else if (op === -1) { // Delete
|
||||
differences.push([color1, word]);
|
||||
}
|
||||
});
|
||||
});
|
||||
while (i > 0 || j > 0) {
|
||||
if (i > 0 && j > 0 && words1[i - 1] === words2[j - 1]) {
|
||||
differences.unshift(['black', words1[i - 1]]);
|
||||
i--; j--;
|
||||
} else if (j > 0 && (i === 0 || matrix[i][j] === matrix[i][j - 1])) {
|
||||
differences.unshift([color2, words2[j - 1]]);
|
||||
j--;
|
||||
} else {
|
||||
differences.unshift([color1, words1[i - 1]]);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
return differences;
|
||||
}
|
||||
|
||||
@@ -2,12 +2,6 @@
|
||||
if (window.isDownloadScriptInitialized) return; // Prevent re-execution
|
||||
window.isDownloadScriptInitialized = true;
|
||||
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
// Global PDF processing count tracking for survey system
|
||||
window.incrementPdfProcessingCount = function() {
|
||||
let pdfProcessingCount = parseInt(localStorage.getItem('pdfProcessingCount') || '0');
|
||||
@@ -240,13 +234,8 @@
|
||||
async function getPDFPageCount(file) {
|
||||
try {
|
||||
const arrayBuffer = await file.arrayBuffer();
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: arrayBuffer,
|
||||
})
|
||||
.promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib.getDocument({data: arrayBuffer}).promise;
|
||||
return pdf.numPages;
|
||||
} catch (error) {
|
||||
console.error('Error getting PDF page count:', error);
|
||||
@@ -256,7 +245,7 @@
|
||||
|
||||
async function checkAndDecryptFiles(url, files) {
|
||||
const decryptedFiles = [];
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
|
||||
// Extract the base URL
|
||||
const baseUrl = new URL(url);
|
||||
@@ -282,10 +271,7 @@
|
||||
}
|
||||
try {
|
||||
const arrayBuffer = await file.arrayBuffer();
|
||||
const loadingTask = pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: arrayBuffer,
|
||||
});
|
||||
const loadingTask = pdfjsLib.getDocument({data: arrayBuffer});
|
||||
|
||||
console.log(`Attempting to load PDF: ${file.name}`);
|
||||
const pdf = await loadingTask.promise;
|
||||
|
||||
@@ -220,7 +220,7 @@ document.addEventListener('DOMContentLoaded', async function () {
|
||||
});
|
||||
}
|
||||
try {
|
||||
const response = await fetch('./files/popularity.txt');
|
||||
const response = await fetch('/files/popularity.txt');
|
||||
if (!response.ok) {
|
||||
const errorText = await response.text().catch(() => '');
|
||||
const errorMsg = errorText || response.statusText || 'Request failed';
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
let currentSort = {
|
||||
field: null,
|
||||
descending: false,
|
||||
@@ -79,13 +73,7 @@ async function displayFiles(files) {
|
||||
|
||||
async function getPDFPageCount(file) {
|
||||
const blobUrl = URL.createObjectURL(file);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
url: blobUrl,
|
||||
})
|
||||
.promise;
|
||||
const pdf = await pdfjsLib.getDocument(blobUrl).promise;
|
||||
URL.revokeObjectURL(blobUrl);
|
||||
return pdf.numPages;
|
||||
}
|
||||
|
||||
@@ -8,12 +8,6 @@ import { AddFilesCommand } from './commands/add-page.js';
|
||||
import { DecryptFile } from '../DecryptFiles.js';
|
||||
import { CommandSequence } from './commands/commands-sequence.js';
|
||||
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
const isSvgFile = (file) => {
|
||||
if (!file) return false;
|
||||
const type = (file.type || '').toLowerCase();
|
||||
@@ -485,11 +479,8 @@ class PdfContainer {
|
||||
}
|
||||
|
||||
async toRenderer(objectUrl) {
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib.getDocument({
|
||||
url: objectUrl,
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
}).promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib.getDocument(objectUrl).promise;
|
||||
return {
|
||||
document: pdf,
|
||||
pageCount: pdf.numPages,
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
window.goToFirstOrLastPage = goToFirstOrLastPage;
|
||||
|
||||
document.getElementById('download-pdf').addEventListener('click', async () => {
|
||||
@@ -37,11 +31,8 @@ document.querySelector('input[name=pdf-upload]').addEventListener('change', asyn
|
||||
const file = allFiles[0];
|
||||
originalFileName = file.name.replace(/\.[^/.]+$/, '');
|
||||
const pdfData = await file.arrayBuffer();
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdfDoc = await pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: pdfData,
|
||||
}).promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
const pdfDoc = await pdfjsLib.getDocument({ data: pdfData }).promise;
|
||||
await DraggableUtils.renderPage(pdfDoc, 0);
|
||||
|
||||
document.querySelectorAll('.show-on-file-selected').forEach((el) => {
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
var canvas = document.getElementById('contrast-pdf-canvas');
|
||||
var context = canvas.getContext('2d');
|
||||
var originalImageData = null;
|
||||
@@ -15,11 +9,8 @@ async function renderPDFAndSaveOriginalImageData(file) {
|
||||
var fileReader = new FileReader();
|
||||
fileReader.onload = async function () {
|
||||
var data = new Uint8Array(this.result);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdf = await pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: data,
|
||||
}).promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
pdf = await pdfjsLib.getDocument({data: data}).promise;
|
||||
|
||||
// Get the number of pages in the PDF
|
||||
var numPages = pdf.numPages;
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
const deleteAllCheckbox = document.querySelector('#deleteAll');
|
||||
let inputs = document.querySelectorAll('input');
|
||||
const customMetadataDiv = document.getElementById('customMetadata');
|
||||
@@ -49,13 +43,8 @@ fileInput.addEventListener('change', async function () {
|
||||
customMetadataFormContainer.removeChild(customMetadataFormContainer.firstChild);
|
||||
}
|
||||
var url = URL.createObjectURL(file);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
url: url,
|
||||
})
|
||||
.promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
const pdf = await pdfjsLib.getDocument(url).promise;
|
||||
const pdfMetadata = await pdf.getMetadata();
|
||||
lastPDFFile = pdfMetadata?.info;
|
||||
console.log(pdfMetadata);
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
let pdfCanvas = document.getElementById('cropPdfCanvas');
|
||||
let overlayCanvas = document.getElementById('overlayCanvas');
|
||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
||||
@@ -48,17 +42,12 @@ function renderPageFromFile(file) {
|
||||
let reader = new FileReader();
|
||||
reader.onload = function (ev) {
|
||||
let typedArray = new Uint8Array(reader.result);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: typedArray,
|
||||
})
|
||||
.promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
let pdfCanvas = document.getElementById('cropPdfCanvas');
|
||||
let overlayCanvas = document.getElementById('overlayCanvas');
|
||||
let canvasesContainer = document.getElementById('canvasesContainer');
|
||||
@@ -43,17 +37,12 @@ btn1Object.addEventListener('click', function (e) {
|
||||
let reader = new FileReader();
|
||||
reader.onload = function (ev) {
|
||||
let typedArray = new Uint8Array(reader.result);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: typedArray,
|
||||
})
|
||||
.promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
@@ -69,17 +58,12 @@ btn2Object.addEventListener('click', function (e) {
|
||||
let reader = new FileReader();
|
||||
reader.onload = function (ev) {
|
||||
let typedArray = new Uint8Array(reader.result);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: typedArray,
|
||||
})
|
||||
.promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
}
|
||||
@@ -91,17 +75,12 @@ function renderPageFromFile(file) {
|
||||
let reader = new FileReader();
|
||||
reader.onload = function (ev) {
|
||||
let typedArray = new Uint8Array(reader.result);
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib
|
||||
.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: typedArray,
|
||||
})
|
||||
.promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
pdfjsLib.getDocument(typedArray).promise.then(function (pdf) {
|
||||
pdfDoc = pdf;
|
||||
totalPages = pdf.numPages;
|
||||
renderPage(currentPage);
|
||||
});
|
||||
pageNumbers.value = currentPage;
|
||||
};
|
||||
reader.readAsArrayBuffer(file);
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
};
|
||||
|
||||
window.toggleSignatureView = toggleSignatureView;
|
||||
window.previewSignature = previewSignature;
|
||||
window.addSignatureFromPreview = addSignatureFromPreview;
|
||||
@@ -76,11 +70,9 @@ document
|
||||
const file = allFiles[0];
|
||||
originalFileName = file.name.replace(/\.[^/.]+$/, "");
|
||||
const pdfData = await file.arrayBuffer();
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const pdfDoc = await pdfjsLib.getDocument({
|
||||
...PDFJS_DEFAULT_OPTIONS,
|
||||
data: pdfData,
|
||||
}).promise;
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc =
|
||||
"./pdfjs-legacy/pdf.worker.mjs";
|
||||
const pdfDoc = await pdfjsLib.getDocument({ data: pdfData }).promise;
|
||||
await DraggableUtils.renderPage(pdfDoc, 0);
|
||||
|
||||
document.querySelectorAll(".show-on-file-selected").forEach((el) => {
|
||||
|
||||
@@ -38,31 +38,56 @@
|
||||
th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='.epub,.mobi,.azw3,.fb2,.txt,.docx', inputText=#{ebookToPDF.selectText})}">
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-3">
|
||||
<input id="embedAllFonts" name="embedAllFonts" type="checkbox" value="true">
|
||||
<label for="embedAllFonts" th:text="#{ebookToPDF.embedAllFonts}"></label>
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input"
|
||||
id="embedAllFonts"
|
||||
name="embedAllFonts"
|
||||
type="checkbox"
|
||||
value="true">
|
||||
<label for="embedAllFonts"
|
||||
th:text="#{ebookToPDF.embedAllFonts}">
|
||||
Embed all fonts in PDF
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-3">
|
||||
<input id="includeTableOfContents"
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input"
|
||||
id="includeTableOfContents"
|
||||
name="includeTableOfContents"
|
||||
type="checkbox"
|
||||
value="true">
|
||||
<label for="includeTableOfContents" th:text="#{ebookToPDF.includeTableOfContents}"></label>
|
||||
<label
|
||||
for="includeTableOfContents"
|
||||
th:text="#{ebookToPDF.includeTableOfContents}">
|
||||
Add table of contents
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-3">
|
||||
<input id="includePageNumbers" name="includePageNumbers" type="checkbox" value="true">
|
||||
<label for="includePageNumbers" th:text="#{ebookToPDF.includePageNumbers}"></label>
|
||||
<div class="form-check mb-2">
|
||||
<input class="form-check-input"
|
||||
id="includePageNumbers"
|
||||
name="includePageNumbers"
|
||||
type="checkbox"
|
||||
value="true">
|
||||
<label
|
||||
for="includePageNumbers"
|
||||
th:text="#{ebookToPDF.includePageNumbers}">
|
||||
Add page numbers
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-3"
|
||||
th:if="${@endpointConfiguration.isGroupEnabled('Ghostscript')}">
|
||||
<input id="optimizeForEbook"
|
||||
<input class="form-check-input"
|
||||
id="optimizeForEbook"
|
||||
name="optimizeForEbook"
|
||||
type="checkbox"
|
||||
value="true">
|
||||
<label for="optimizeForEbook" th:text="#{ebookToPDF.optimizeForEbook}"></label>
|
||||
<label
|
||||
for="optimizeForEbook"
|
||||
th:text="#{ebookToPDF.optimizeForEbook}">
|
||||
Optimize PDF for ebook readers (uses Ghostscript)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary"
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html th:data-language="${#locale.toString()}"
|
||||
th:dir="#{language.direction}"
|
||||
th:lang="${#locale.language}"
|
||||
xmlns:th="https://www.thymeleaf.org">
|
||||
|
||||
<head>
|
||||
<th:block th:insert="~{fragments/common :: head(title=#{pdfToEpub.title}, header=#{pdfToEpub.header})}"></th:block>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<th:block th:insert="~{fragments/common :: game}"></th:block>
|
||||
<div id="page-container">
|
||||
<div id="content-wrap">
|
||||
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
|
||||
<br><br>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6 bg-card">
|
||||
<div class="tool-header">
|
||||
<span class="material-symbols-rounded tool-header-icon convert">menu_book</span>
|
||||
<span class="tool-header-text"
|
||||
th:text="#{pdfToEpub.header}"></span>
|
||||
</div>
|
||||
<p th:text="#{processTimeWarning}"></p>
|
||||
|
||||
<div class="alert alert-warning"
|
||||
th:if="${!@endpointConfiguration.isGroupEnabled('Calibre')}">
|
||||
<span th:text="#{pdfToEpub.calibreDisabled}">Calibre support is disabled.</span>
|
||||
</div>
|
||||
|
||||
<form enctype="multipart/form-data"
|
||||
id="pdfToEpubForm"
|
||||
method="post"
|
||||
th:action="@{'/api/v1/convert/pdf/epub'}"
|
||||
th:if="${@endpointConfiguration.isGroupEnabled('Calibre')}">
|
||||
<div
|
||||
th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='.pdf', inputText=#{pdfToEpub.selectText})}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="outputFormat"
|
||||
th:text="#{pdfToEpub.outputFormat}"></label>
|
||||
<select class="form-select"
|
||||
id="outputFormat"
|
||||
name="outputFormat">
|
||||
<option selected
|
||||
th:text="#{pdfToEpub.outputFormat.epub}"
|
||||
value="EPUB"></option>
|
||||
<option th:text="#{pdfToEpub.outputFormat.azw3}"
|
||||
value="AZW3"></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-check mb-3">
|
||||
<input checked id="detectChapters" name="detectChapters" type="checkbox">
|
||||
<label for="detectChapters" th:text="#{pdfToEpub.detectChapters}"></label>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="form-label" for="targetDevice"
|
||||
th:text="#{pdfToEpub.targetDevice}"></label>
|
||||
<select class="form-select"
|
||||
id="targetDevice"
|
||||
name="targetDevice">
|
||||
<option selected
|
||||
th:text="#{pdfToEpub.targetDevice.tablet}"
|
||||
value="TABLET_PHONE_IMAGES"></option>
|
||||
<option th:text="#{pdfToEpub.targetDevice.kindle}"
|
||||
value="KINDLE_EINK_TEXT"></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary"
|
||||
id="submitBtn"
|
||||
th:text="#{pdfToEpub.submit}"
|
||||
type="submit">Convert</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -41,7 +41,7 @@
|
||||
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
||||
<script th:inline="javascript">
|
||||
document.getElementById('fileInput-input').addEventListener('change', async () => {
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
const fileInput = document.getElementById('fileInput-input');
|
||||
const resultDiv = document.getElementById('result');
|
||||
|
||||
|
||||
@@ -89,9 +89,6 @@
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-cbr', 'auto_stories', 'home.pdfToCbr.title', 'home.pdfToCbr.desc', 'pdfToCbr.tags', 'convert')}">
|
||||
</div>
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-epub', 'menu_book', 'home.pdfToEpub.title', 'home.pdfToEpub.desc', 'pdfToEpub.tags', 'convert')}">
|
||||
</div>
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-pdfa', 'picture_as_pdf', 'home.pdfToPDFA.title', 'home.pdfToPDFA.desc', 'pdfToPDFA.tags', 'convert')}">
|
||||
</div>
|
||||
@@ -166,9 +163,6 @@
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-pdfa', 'picture_as_pdf', 'home.pdfToPDFA.title', 'home.pdfToPDFA.desc', 'pdfToPDFA.tags', 'convert')}">
|
||||
</div>
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-epub', 'menu_book', 'home.pdfToEpub.title', 'home.pdfToEpub.desc', 'pdfToEpub.tags', 'convert')}">
|
||||
</div>
|
||||
<div
|
||||
th:replace="~{fragments/navbarEntry :: navbarEntry('pdf-to-word', 'description', 'home.PDFToWord.title', 'home.PDFToWord.desc', 'PDFToWord.tags', 'convert')}">
|
||||
</div>
|
||||
|
||||
@@ -49,9 +49,6 @@
|
||||
const updateBreakingChanges = /*[[#{update.breakingChanges}]]*/ 'Breaking Changes:';
|
||||
const updateBreakingChangesDefault = /*[[#{update.breakingChangesDefault}]]*/ 'This version contains breaking changes';
|
||||
const updateMigrationGuide = /*[[#{update.migrationGuide}]]*/ 'Migration Guide';
|
||||
|
||||
// PDF.js path
|
||||
const pdfjsPath = /*[[@{'/pdfjs-legacy/'}]]*/ './pdfjs-legacy/';
|
||||
</script>
|
||||
<script th:src="@{'/js/homecard.js'}"></script>
|
||||
<script th:src="@{'/js/githubVersion.js'}"></script>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
</script>
|
||||
<script type="module">
|
||||
import * as pdfjsLib from './pdfjs-legacy/pdf.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
</script>
|
||||
<script th:src="@{'/js/merge.js'}"></script>
|
||||
</div>
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button class="btn btn-primary" id="compareBtn" onclick="comparePDFs(event)" th:text="#{compare.submit}"></button>
|
||||
<button class="btn btn-primary" onclick="comparePDFs()" th:text="#{compare.submit}"></button>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
@@ -105,8 +105,7 @@
|
||||
result2.addEventListener('scroll', function () {
|
||||
result1.scrollTop = result2.scrollTop;
|
||||
});
|
||||
|
||||
async function comparePDFs(event) {
|
||||
async function comparePDFs() {
|
||||
const file1 = document.getElementById("fileInput-input").files[0];
|
||||
const file2 = document.getElementById("fileInput2-input").files[0];
|
||||
var color1 = document.getElementById('color-box1').value;
|
||||
@@ -114,216 +113,137 @@
|
||||
|
||||
const complexMessage = /*[[#{compare.complex.message}]]*/ 'One or both of the provided documents are large files, accuracy of comparison may be reduced';
|
||||
const largeFilesMessage = /*[[#{compare.large.file.message}]]*/ 'One or Both of the provided documents are too large to process';
|
||||
const noTextMessage = /*[[#{compare.no.text.message}]]*/ 'One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison.';
|
||||
const invalidPdfMessage = /*[[#{compare.invalid.pdf.message}]]*/ 'One or both files are not valid PDFs. Please check and re-upload.';
|
||||
const submitText = /*[[#{compare.submit}]]*/ 'Compare';
|
||||
const noTextMessage = /*[[#{compare.no.text.message}]]*/ 'One or both of the selected PDFs have no text content. Please choose PDFs with text for comparison."';
|
||||
|
||||
if (!file1 || !file2) {
|
||||
alert('Please select two PDF files to compare');
|
||||
console.error("Please select two PDF files to compare");
|
||||
return;
|
||||
}
|
||||
|
||||
// Basic checks
|
||||
if (file1.size === 0 || file2.size === 0) {
|
||||
alert('One or both files are empty.');
|
||||
return;
|
||||
}
|
||||
if (file1.size > 100 * 1024 * 1024 || file2.size > 100 * 1024 * 1024) {
|
||||
alert(largeFilesMessage);
|
||||
return;
|
||||
}
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs';
|
||||
|
||||
// PDF.js setup (Legacy-safe: Worker disabled)
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
disableWorker: true // Avoids Legacy CMap errors without changing PDF.js
|
||||
};
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
const [pdf1, pdf2] = await Promise.all([
|
||||
pdfjsLib.getDocument(URL.createObjectURL(file1)).promise,
|
||||
pdfjsLib.getDocument(URL.createObjectURL(file2)).promise
|
||||
]);
|
||||
|
||||
const button = event.target;
|
||||
button.disabled = true;
|
||||
button.textContent = 'Processing...';
|
||||
|
||||
try {
|
||||
// Load ArrayBuffer
|
||||
const [data1, data2] = await Promise.all([
|
||||
readFileAsArrayBuffer(file1),
|
||||
readFileAsArrayBuffer(file2)
|
||||
]);
|
||||
|
||||
// Header validation (prevents InvalidPDFException)
|
||||
await validatePdfHeader(data1, 'File 1');
|
||||
await validatePdfHeader(data2, 'File 2');
|
||||
|
||||
// Load PDFs
|
||||
const [pdf1, pdf2] = await Promise.all([
|
||||
loadPdfWithErrorHandling({ ...PDFJS_DEFAULT_OPTIONS, data: data1 }, 'File 1'),
|
||||
loadPdfWithErrorHandling({ ...PDFJS_DEFAULT_OPTIONS, data: data2 }, 'File 2')
|
||||
]);
|
||||
|
||||
// Extract text
|
||||
result1.innerHTML = 'Extracting text from File 1...';
|
||||
result2.innerHTML = 'Extracting text from File 2...';
|
||||
const [text1, text2] = await Promise.all([
|
||||
extractText(pdf1, 'File 1', result1),
|
||||
extractText(pdf2, 'File 2', result2)
|
||||
]);
|
||||
|
||||
if (text1.trim() === "" || text2.trim() === "") {
|
||||
throw new Error(noTextMessage);
|
||||
const extractText = async (pdf) => {
|
||||
const pages = [];
|
||||
for (let i = 1; i <= pdf.numPages; i++) {
|
||||
const page = await pdf.getPage(i);
|
||||
const content = await page.getTextContent();
|
||||
const strings = content.items.map(item => item.str);
|
||||
pages.push(strings.join(" "));
|
||||
}
|
||||
return pages.join(" ");
|
||||
};
|
||||
|
||||
// Worker diff
|
||||
await processWithWorker(text1, text2, color1, color2, complexMessage, largeFilesMessage);
|
||||
const [text1, text2] = await Promise.all([
|
||||
extractText(pdf1),
|
||||
extractText(pdf2)
|
||||
]);
|
||||
|
||||
} catch (error) {
|
||||
console.error('Comparison failed:', error);
|
||||
alert(error.message || invalidPdfMessage);
|
||||
result1.innerHTML = '';
|
||||
result2.innerHTML = '';
|
||||
} finally {
|
||||
button.disabled = false;
|
||||
button.textContent = submitText;
|
||||
if (text1.trim() === "" || text2.trim() === "") {
|
||||
alert(noTextMessage);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// FileReader helper
|
||||
function readFileAsArrayBuffer(file) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader();
|
||||
reader.onload = () => resolve(reader.result);
|
||||
reader.onerror = reject;
|
||||
reader.readAsArrayBuffer(file);
|
||||
});
|
||||
}
|
||||
|
||||
// Header validation (PDF.js-specific, but client-side)
|
||||
async function validatePdfHeader(data, fileName) {
|
||||
const header = new Uint8Array(data.slice(0, 8));
|
||||
const headerStr = String.fromCharCode(...header);
|
||||
console.log(`${fileName} header:`, headerStr);
|
||||
if (!headerStr.startsWith('%PDF-')) {
|
||||
throw new Error(`${fileName} is not a valid PDF (header: ${headerStr}).`);
|
||||
}
|
||||
if (data.byteLength < 100) {
|
||||
throw new Error(`${fileName} is too short.`);
|
||||
}
|
||||
}
|
||||
|
||||
// PDF loading with catch
|
||||
function loadPdfWithErrorHandling(options, fileName) {
|
||||
return pdfjsLib.getDocument(options).promise
|
||||
.then(pdf => {
|
||||
console.log(`${fileName} loaded: ${pdf.numPages} pages`);
|
||||
return pdf;
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(`${fileName} load failed:`, err);
|
||||
if (err.name === 'InvalidPDFException') {
|
||||
throw new Error(`${fileName}: Invalid PDF structure. Re-upload.`);
|
||||
}
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
|
||||
// Text extraction
|
||||
async function extractText(pdf, fileName, statusElement) {
|
||||
const pages = [];
|
||||
const totalPages = pdf.numPages;
|
||||
for (let i = 1; i <= totalPages; i++) {
|
||||
const page = await pdf.getPage(i);
|
||||
const content = await page.getTextContent();
|
||||
const strings = content.items.map(item => item.str).join(' ');
|
||||
pages.push(strings);
|
||||
statusElement.innerHTML = `${fileName}: ${Math.round((i / totalPages) * 100)}%`;
|
||||
}
|
||||
return pages.join(' ');
|
||||
}
|
||||
|
||||
// Worker processing
|
||||
async function processWithWorker(text1, text2, color1, color2, complexMessage, largeFilesMessage) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const worker = new Worker('./js/compare/pdfWorker.js');
|
||||
const timeout = setTimeout(() => {
|
||||
worker.terminate();
|
||||
reject(new Error('Timeout: Files too complex.'));
|
||||
}, 30000);
|
||||
|
||||
worker.postMessage({ type: 'SET_COMPLEX_MESSAGE', message: complexMessage });
|
||||
worker.postMessage({ type: 'SET_TOO_LARGE_MESSAGE', message: largeFilesMessage });
|
||||
|
||||
worker.onerror = (error) => {
|
||||
clearTimeout(timeout);
|
||||
worker.terminate();
|
||||
reject(new Error('Worker error: ' + error.message));
|
||||
};
|
||||
|
||||
worker.onmessage = (e) => {
|
||||
clearTimeout(timeout);
|
||||
const { status, differences, message } = e.data;
|
||||
if (status === 'error') {
|
||||
worker.terminate();
|
||||
reject(new Error(message));
|
||||
return;
|
||||
}
|
||||
if (status === 'warning') {
|
||||
alert(message);
|
||||
}
|
||||
if (status === 'success' && differences) {
|
||||
displayDifferences(differences, color1, color2);
|
||||
worker.terminate();
|
||||
resolve();
|
||||
}
|
||||
};
|
||||
|
||||
worker.postMessage({ type: 'COMPARE', text1, text2, color1, color2 });
|
||||
});
|
||||
}
|
||||
|
||||
// Display differences
|
||||
function displayDifferences(differences, color1, color2) {
|
||||
const resultDiv1 = document.getElementById("result1");
|
||||
const resultDiv2 = document.getElementById("result2");
|
||||
resultDiv1.innerHTML = "";
|
||||
resultDiv2.innerHTML = "";
|
||||
const loading = /*[[#{loading}]]*/ 'Loading...';
|
||||
|
||||
differences.forEach(([color, word]) => {
|
||||
const span1 = document.createElement("span");
|
||||
const span2 = document.createElement("span");
|
||||
resultDiv1.innerHTML = loading;
|
||||
resultDiv2.innerHTML = loading;
|
||||
|
||||
if (color === color2) {
|
||||
span1.style.color = "transparent";
|
||||
span1.style.userSelect = "none";
|
||||
span2.style.color = color;
|
||||
} else if (color === color1) {
|
||||
span1.style.color = color;
|
||||
span2.style.color = "transparent";
|
||||
span2.style.userSelect = "none";
|
||||
} else {
|
||||
span1.style.color = color || 'black';
|
||||
span2.style.color = color || 'black';
|
||||
}
|
||||
// Create a new Worker
|
||||
const worker = new Worker('./js/compare/pdfWorker.js');
|
||||
|
||||
span1.textContent = word;
|
||||
span2.textContent = word;
|
||||
resultDiv1.appendChild(span1);
|
||||
resultDiv2.appendChild(span2);
|
||||
|
||||
const spaceOrNewline1 = document.createElement("span");
|
||||
const spaceOrNewline2 = document.createElement("span");
|
||||
if (word.endsWith(".")) {
|
||||
spaceOrNewline1.innerHTML = "<br>";
|
||||
spaceOrNewline2.innerHTML = "<br>";
|
||||
} else {
|
||||
spaceOrNewline1.textContent = " ";
|
||||
spaceOrNewline2.textContent = " ";
|
||||
}
|
||||
resultDiv1.appendChild(spaceOrNewline1);
|
||||
resultDiv2.appendChild(spaceOrNewline2);
|
||||
// Post messages to the worker
|
||||
worker.postMessage({
|
||||
type: 'SET_COMPLEX_MESSAGE',
|
||||
message: complexMessage
|
||||
});
|
||||
|
||||
worker.postMessage({
|
||||
type: 'SET_TOO_LARGE_MESSAGE',
|
||||
message: largeFilesMessage
|
||||
});
|
||||
|
||||
// Error handling for the worker
|
||||
worker.onerror = function (error) {
|
||||
console.error('Worker error:', error);
|
||||
};
|
||||
worker.onmessage = function (e) {
|
||||
const { status, differences, message } = e.data;
|
||||
if (status === 'error') {
|
||||
|
||||
resultDiv1.innerHTML = '';
|
||||
resultDiv2.innerHTML = '';
|
||||
alert(message);
|
||||
return;
|
||||
}
|
||||
if (status === 'success' && differences) {
|
||||
console.log('Differences:', differences);
|
||||
displayDifferences(differences);
|
||||
}
|
||||
if (event.data.status === 'warning') {
|
||||
console.warn(event.data.message);
|
||||
alert(event.data.message);
|
||||
}
|
||||
};
|
||||
|
||||
worker.postMessage({ text1, text2, color1, color2 });
|
||||
|
||||
const displayDifferences = (differences) => {
|
||||
const resultDiv1 = document.getElementById("result1");
|
||||
const resultDiv2 = document.getElementById("result2");
|
||||
resultDiv1.innerHTML = "";
|
||||
resultDiv2.innerHTML = "";
|
||||
|
||||
differences.forEach(([color, word]) => {
|
||||
const span1 = document.createElement("span");
|
||||
const span2 = document.createElement("span");
|
||||
|
||||
if (color === color2) {
|
||||
span1.style.color = "transparent";
|
||||
span1.style.userSelect = "none";
|
||||
span2.style.color = color;
|
||||
}
|
||||
// If it's a deletion, show it in in the first document and transparent in the second
|
||||
else if (color === color1) {
|
||||
span1.style.color = color;
|
||||
span2.style.color = "transparent";
|
||||
span2.style.userSelect = "none";
|
||||
}
|
||||
// If it's unchanged, show it in black in both
|
||||
else {
|
||||
span1.style.color = color;
|
||||
span2.style.color = color;
|
||||
}
|
||||
|
||||
span1.textContent = word;
|
||||
span2.textContent = word;
|
||||
resultDiv1.appendChild(span1);
|
||||
resultDiv2.appendChild(span2);
|
||||
|
||||
// Add space after each word, or a new line if the word ends with a full stop
|
||||
const spaceOrNewline1 = document.createElement("span");
|
||||
const spaceOrNewline2 = document.createElement("span");
|
||||
if (word.endsWith(".")) {
|
||||
spaceOrNewline1.innerHTML = "<br>";
|
||||
spaceOrNewline2.innerHTML = "<br>";
|
||||
} else {
|
||||
spaceOrNewline1.textContent = " ";
|
||||
spaceOrNewline2.textContent = " ";
|
||||
}
|
||||
resultDiv1.appendChild(spaceOrNewline1);
|
||||
resultDiv2.appendChild(spaceOrNewline2);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -59,24 +59,12 @@
|
||||
</div>
|
||||
<th:block th:insert="~{fragments/footer.html :: footer}"></th:block>
|
||||
</div>
|
||||
<script type="module">
|
||||
import * as pdfjsLib from './pdfjs-legacy/pdf.mjs';
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = pdfjsPath + 'pdf.worker.mjs';
|
||||
window.pdfjsLib = pdfjsLib;
|
||||
</script>
|
||||
<script type="module" th:src="@{'/pdfjs-legacy/pdf.mjs'}"></script>
|
||||
<script>
|
||||
const angleInput = document.getElementById("angleInput");
|
||||
const fileInput = document.getElementById("fileInput-input");
|
||||
const previewContainer = document.getElementById("previewContainer");
|
||||
|
||||
// PDF.js setup (with CMap options to fix font loading warning)
|
||||
const PDFJS_DEFAULT_OPTIONS = {
|
||||
cMapUrl: pdfjsPath + 'cmaps/',
|
||||
cMapPacked: true,
|
||||
standardFontDataUrl: pdfjsPath + 'standard_fonts/',
|
||||
disableWorker: true // Avoids Legacy CMap errors
|
||||
};
|
||||
|
||||
// const preview = document.getElementById("pdf-preview");
|
||||
fileInput.addEventListener("change", async function () {
|
||||
console.log("loading pdf");
|
||||
|
||||
@@ -86,9 +74,9 @@
|
||||
if (existingPreview) {
|
||||
existingPreview.remove();
|
||||
}
|
||||
|
||||
const url = URL.createObjectURL(fileInput.files[0]);
|
||||
const pdf = await window.pdfjsLib.getDocument({ ...PDFJS_DEFAULT_OPTIONS, url }).promise;
|
||||
var url = URL.createObjectURL(fileInput.files[0])
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = './pdfjs-legacy/pdf.worker.mjs'
|
||||
const pdf = await pdfjsLib.getDocument(url).promise;
|
||||
const page = await pdf.getPage(1);
|
||||
|
||||
const canvas = document.createElement("canvas");
|
||||
@@ -103,7 +91,7 @@
|
||||
}
|
||||
|
||||
// render the page onto the canvas
|
||||
const renderContext = {
|
||||
var renderContext = {
|
||||
canvasContext: canvas.getContext("2d"),
|
||||
viewport: page.getViewport({ scale: 1 })
|
||||
};
|
||||
|
||||
-328
@@ -1,328 +0,0 @@
|
||||
package stirling.software.SPDF.controller.api.converters;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doAnswer;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockedStatic;
|
||||
import org.mockito.Mockito;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.mock.web.MockMultipartFile;
|
||||
|
||||
import stirling.software.SPDF.config.EndpointConfiguration;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest.OutputFormat;
|
||||
import stirling.software.SPDF.model.api.converters.ConvertPdfToEpubRequest.TargetDevice;
|
||||
import stirling.software.common.util.GeneralUtils;
|
||||
import stirling.software.common.util.ProcessExecutor;
|
||||
import stirling.software.common.util.ProcessExecutor.ProcessExecutorResult;
|
||||
import stirling.software.common.util.ProcessExecutor.Processes;
|
||||
import stirling.software.common.util.TempFileManager;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class ConvertPDFToEpubControllerTest {
|
||||
|
||||
private static final MediaType EPUB_MEDIA_TYPE = MediaType.valueOf("application/epub+zip");
|
||||
|
||||
@Mock private TempFileManager tempFileManager;
|
||||
@Mock private EndpointConfiguration endpointConfiguration;
|
||||
|
||||
@InjectMocks private ConvertPDFToEpubController controller;
|
||||
|
||||
@Test
|
||||
void convertPdfToEpub_buildsGoldenCommandAndCleansUp() throws Exception {
|
||||
when(endpointConfiguration.isGroupEnabled("Calibre")).thenReturn(true);
|
||||
|
||||
MockMultipartFile pdfFile =
|
||||
new MockMultipartFile(
|
||||
"fileInput", "novel.pdf", "application/pdf", "content".getBytes());
|
||||
|
||||
ConvertPdfToEpubRequest request = new ConvertPdfToEpubRequest();
|
||||
request.setFileInput(pdfFile);
|
||||
|
||||
Path workingDir = Files.createTempDirectory("pdf-epub-test-");
|
||||
when(tempFileManager.createTempDirectory()).thenReturn(workingDir);
|
||||
|
||||
AtomicReference<Path> deletedDir = new AtomicReference<>();
|
||||
doAnswer(
|
||||
invocation -> {
|
||||
Path dir = invocation.getArgument(0);
|
||||
deletedDir.set(dir);
|
||||
if (Files.exists(dir)) {
|
||||
try (Stream<Path> paths = Files.walk(dir)) {
|
||||
paths.sorted(Comparator.reverseOrder())
|
||||
.forEach(
|
||||
path -> {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.when(tempFileManager)
|
||||
.deleteTempDirectory(any(Path.class));
|
||||
|
||||
try (MockedStatic<ProcessExecutor> pe = Mockito.mockStatic(ProcessExecutor.class);
|
||||
MockedStatic<GeneralUtils> gu = Mockito.mockStatic(GeneralUtils.class)) {
|
||||
|
||||
ProcessExecutor executor = mock(ProcessExecutor.class);
|
||||
pe.when(() -> ProcessExecutor.getInstance(Processes.CALIBRE)).thenReturn(executor);
|
||||
|
||||
ProcessExecutorResult execResult = mock(ProcessExecutorResult.class);
|
||||
when(execResult.getRc()).thenReturn(0);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
ArgumentCaptor<List<String>> commandCaptor = ArgumentCaptor.forClass(List.class);
|
||||
Path expectedInput = workingDir.resolve("novel.pdf");
|
||||
Path expectedOutput = workingDir.resolve("novel.epub");
|
||||
|
||||
when(executor.runCommandWithOutputHandling(
|
||||
commandCaptor.capture(), eq(workingDir.toFile())))
|
||||
.thenAnswer(
|
||||
invocation -> {
|
||||
Files.writeString(expectedOutput, "epub");
|
||||
return execResult;
|
||||
});
|
||||
|
||||
gu.when(() -> GeneralUtils.generateFilename("novel.pdf", "_convertedToEPUB.epub"))
|
||||
.thenReturn("novel_convertedToEPUB.epub");
|
||||
ResponseEntity<byte[]> response = controller.convertPdfToEpub(request);
|
||||
|
||||
List<String> command = commandCaptor.getValue();
|
||||
assertEquals(11, command.size());
|
||||
assertEquals("ebook-convert", command.get(0));
|
||||
assertEquals(expectedInput.toString(), command.get(1));
|
||||
assertEquals(expectedOutput.toString(), command.get(2));
|
||||
assertTrue(command.contains("--enable-heuristics"));
|
||||
assertTrue(command.contains("--insert-blank-line"));
|
||||
assertTrue(command.contains("--filter-css"));
|
||||
assertTrue(
|
||||
command.contains(
|
||||
"font-family,color,background-color,margin-left,margin-right"));
|
||||
assertTrue(command.contains("--chapter"));
|
||||
assertTrue(command.stream().anyMatch(arg -> arg.contains("Chapter\\s+")));
|
||||
assertTrue(command.contains("--output-profile"));
|
||||
assertTrue(command.contains(TargetDevice.TABLET_PHONE_IMAGES.getCalibreProfile()));
|
||||
|
||||
assertEquals(EPUB_MEDIA_TYPE, response.getHeaders().getContentType());
|
||||
assertEquals(
|
||||
"novel_convertedToEPUB.epub",
|
||||
response.getHeaders().getContentDisposition().getFilename());
|
||||
assertEquals("epub", new String(response.getBody(), StandardCharsets.UTF_8));
|
||||
|
||||
verify(tempFileManager).deleteTempDirectory(workingDir);
|
||||
assertEquals(workingDir, deletedDir.get());
|
||||
} finally {
|
||||
deleteIfExists(workingDir);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void convertPdfToEpub_respectsOptions() throws Exception {
|
||||
when(endpointConfiguration.isGroupEnabled("Calibre")).thenReturn(true);
|
||||
|
||||
MockMultipartFile pdfFile =
|
||||
new MockMultipartFile(
|
||||
"fileInput", "story.pdf", "application/pdf", "content".getBytes());
|
||||
|
||||
ConvertPdfToEpubRequest request = new ConvertPdfToEpubRequest();
|
||||
request.setFileInput(pdfFile);
|
||||
request.setDetectChapters(false);
|
||||
request.setTargetDevice(TargetDevice.KINDLE_EINK_TEXT);
|
||||
|
||||
Path workingDir = Files.createTempDirectory("pdf-epub-options-test-");
|
||||
when(tempFileManager.createTempDirectory()).thenReturn(workingDir);
|
||||
|
||||
doAnswer(
|
||||
invocation -> {
|
||||
Path dir = invocation.getArgument(0);
|
||||
if (Files.exists(dir)) {
|
||||
try (Stream<Path> paths = Files.walk(dir)) {
|
||||
paths.sorted(Comparator.reverseOrder())
|
||||
.forEach(
|
||||
path -> {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.when(tempFileManager)
|
||||
.deleteTempDirectory(any(Path.class));
|
||||
|
||||
try (MockedStatic<ProcessExecutor> pe = Mockito.mockStatic(ProcessExecutor.class);
|
||||
MockedStatic<GeneralUtils> gu = Mockito.mockStatic(GeneralUtils.class)) {
|
||||
|
||||
ProcessExecutor executor = mock(ProcessExecutor.class);
|
||||
pe.when(() -> ProcessExecutor.getInstance(Processes.CALIBRE)).thenReturn(executor);
|
||||
|
||||
ProcessExecutorResult execResult = mock(ProcessExecutorResult.class);
|
||||
when(execResult.getRc()).thenReturn(0);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
ArgumentCaptor<List<String>> commandCaptor = ArgumentCaptor.forClass(List.class);
|
||||
Path expectedOutput = workingDir.resolve("story.epub");
|
||||
|
||||
when(executor.runCommandWithOutputHandling(
|
||||
commandCaptor.capture(), eq(workingDir.toFile())))
|
||||
.thenAnswer(
|
||||
invocation -> {
|
||||
Files.writeString(expectedOutput, "epub");
|
||||
return execResult;
|
||||
});
|
||||
|
||||
gu.when(() -> GeneralUtils.generateFilename("story.pdf", "_convertedToEPUB.epub"))
|
||||
.thenReturn("story_convertedToEPUB.epub");
|
||||
ResponseEntity<byte[]> response = controller.convertPdfToEpub(request);
|
||||
|
||||
List<String> command = commandCaptor.getValue();
|
||||
assertTrue(command.stream().noneMatch(arg -> "--chapter".equals(arg)));
|
||||
assertTrue(command.contains("--output-profile"));
|
||||
assertTrue(command.contains(TargetDevice.KINDLE_EINK_TEXT.getCalibreProfile()));
|
||||
assertTrue(command.contains("--filter-css"));
|
||||
assertTrue(
|
||||
command.contains(
|
||||
"font-family,color,background-color,margin-left,margin-right"));
|
||||
assertTrue(command.size() >= 9);
|
||||
|
||||
assertEquals(EPUB_MEDIA_TYPE, response.getHeaders().getContentType());
|
||||
assertEquals(
|
||||
"story_convertedToEPUB.epub",
|
||||
response.getHeaders().getContentDisposition().getFilename());
|
||||
assertEquals("epub", new String(response.getBody(), StandardCharsets.UTF_8));
|
||||
} finally {
|
||||
deleteIfExists(workingDir);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void convertPdfToAzw3_buildsCorrectCommandAndOutput() throws Exception {
|
||||
when(endpointConfiguration.isGroupEnabled("Calibre")).thenReturn(true);
|
||||
|
||||
MockMultipartFile pdfFile =
|
||||
new MockMultipartFile(
|
||||
"fileInput", "book.pdf", "application/pdf", "content".getBytes());
|
||||
|
||||
ConvertPdfToEpubRequest request = new ConvertPdfToEpubRequest();
|
||||
request.setFileInput(pdfFile);
|
||||
request.setOutputFormat(OutputFormat.AZW3);
|
||||
request.setDetectChapters(false);
|
||||
request.setTargetDevice(TargetDevice.KINDLE_EINK_TEXT);
|
||||
|
||||
Path workingDir = Files.createTempDirectory("pdf-azw3-test-");
|
||||
when(tempFileManager.createTempDirectory()).thenReturn(workingDir);
|
||||
|
||||
doAnswer(
|
||||
invocation -> {
|
||||
Path dir = invocation.getArgument(0);
|
||||
if (Files.exists(dir)) {
|
||||
try (Stream<Path> paths = Files.walk(dir)) {
|
||||
paths.sorted(Comparator.reverseOrder())
|
||||
.forEach(
|
||||
path -> {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return null;
|
||||
})
|
||||
.when(tempFileManager)
|
||||
.deleteTempDirectory(any(Path.class));
|
||||
|
||||
try (MockedStatic<ProcessExecutor> pe = Mockito.mockStatic(ProcessExecutor.class);
|
||||
MockedStatic<GeneralUtils> gu = Mockito.mockStatic(GeneralUtils.class)) {
|
||||
|
||||
ProcessExecutor executor = mock(ProcessExecutor.class);
|
||||
pe.when(() -> ProcessExecutor.getInstance(Processes.CALIBRE)).thenReturn(executor);
|
||||
|
||||
ProcessExecutorResult execResult = mock(ProcessExecutorResult.class);
|
||||
when(execResult.getRc()).thenReturn(0);
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
ArgumentCaptor<List<String>> commandCaptor = ArgumentCaptor.forClass(List.class);
|
||||
Path expectedInput = workingDir.resolve("book.pdf");
|
||||
Path expectedOutput = workingDir.resolve("book.azw3");
|
||||
|
||||
when(executor.runCommandWithOutputHandling(
|
||||
commandCaptor.capture(), eq(workingDir.toFile())))
|
||||
.thenAnswer(
|
||||
invocation -> {
|
||||
Files.writeString(expectedOutput, "azw3");
|
||||
return execResult;
|
||||
});
|
||||
|
||||
gu.when(() -> GeneralUtils.generateFilename("book.pdf", "_convertedToAZW3.azw3"))
|
||||
.thenReturn("book_convertedToAZW3.azw3");
|
||||
ResponseEntity<byte[]> response = controller.convertPdfToEpub(request);
|
||||
|
||||
List<String> command = commandCaptor.getValue();
|
||||
assertEquals("ebook-convert", command.get(0));
|
||||
assertEquals(expectedInput.toString(), command.get(1));
|
||||
assertEquals(expectedOutput.toString(), command.get(2));
|
||||
assertTrue(command.contains("--enable-heuristics"));
|
||||
assertTrue(command.contains("--insert-blank-line"));
|
||||
assertTrue(command.contains("--filter-css"));
|
||||
assertTrue(command.stream().noneMatch(arg -> "--chapter".equals(arg)));
|
||||
assertTrue(command.contains("--output-profile"));
|
||||
assertTrue(command.contains(TargetDevice.KINDLE_EINK_TEXT.getCalibreProfile()));
|
||||
|
||||
assertEquals(
|
||||
MediaType.valueOf("application/vnd.amazon.ebook"),
|
||||
response.getHeaders().getContentType());
|
||||
assertEquals(
|
||||
"book_convertedToAZW3.azw3",
|
||||
response.getHeaders().getContentDisposition().getFilename());
|
||||
assertEquals("azw3", new String(response.getBody(), StandardCharsets.UTF_8));
|
||||
|
||||
verify(tempFileManager).deleteTempDirectory(workingDir);
|
||||
} finally {
|
||||
deleteIfExists(workingDir);
|
||||
}
|
||||
}
|
||||
|
||||
private void deleteIfExists(Path directory) throws IOException {
|
||||
if (directory == null || !Files.exists(directory)) {
|
||||
return;
|
||||
}
|
||||
try (Stream<Path> paths = Files.walk(directory)) {
|
||||
paths.sorted(Comparator.reverseOrder())
|
||||
.forEach(
|
||||
path -> {
|
||||
try {
|
||||
Files.deleteIfExists(path);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
-36
@@ -110,42 +110,6 @@ class ConverterWebControllerTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Nested
|
||||
@DisplayName("PDF to EPUB endpoint tests")
|
||||
class PdfToEpubTests {
|
||||
|
||||
@Test
|
||||
@DisplayName("Should return 404 when endpoint disabled")
|
||||
void shouldReturn404WhenDisabled() throws Exception {
|
||||
try (MockedStatic<ApplicationContextProvider> acp =
|
||||
org.mockito.Mockito.mockStatic(ApplicationContextProvider.class)) {
|
||||
EndpointConfiguration endpointConfig = mock(EndpointConfiguration.class);
|
||||
when(endpointConfig.isEndpointEnabled(eq("pdf-to-epub"))).thenReturn(false);
|
||||
acp.when(() -> ApplicationContextProvider.getBean(EndpointConfiguration.class))
|
||||
.thenReturn(endpointConfig);
|
||||
|
||||
mockMvc.perform(get("/pdf-to-epub")).andExpect(status().isNotFound());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Should return OK when endpoint enabled")
|
||||
void shouldReturnOkWhenEnabled() throws Exception {
|
||||
try (MockedStatic<ApplicationContextProvider> acp =
|
||||
org.mockito.Mockito.mockStatic(ApplicationContextProvider.class)) {
|
||||
EndpointConfiguration endpointConfig = mock(EndpointConfiguration.class);
|
||||
when(endpointConfig.isEndpointEnabled(eq("pdf-to-epub"))).thenReturn(true);
|
||||
acp.when(() -> ApplicationContextProvider.getBean(EndpointConfiguration.class))
|
||||
.thenReturn(endpointConfig);
|
||||
|
||||
mockMvc.perform(get("/pdf-to-epub"))
|
||||
.andExpect(status().isOk())
|
||||
.andExpect(view().name("convert/pdf-to-epub"))
|
||||
.andExpect(model().attribute("currentPage", "pdf-to-epub"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@DisplayName("Should handle pdf-to-img with default maxDPI=500")
|
||||
void shouldHandlePdfToImgWithDefaultMaxDpi() throws Exception {
|
||||
|
||||
+2
-3
@@ -30,7 +30,6 @@ ext {
|
||||
openSamlVersion = "4.3.2"
|
||||
commonmarkVersion = "0.27.0"
|
||||
googleJavaFormatVersion = "1.28.0"
|
||||
logback = "1.5.21"
|
||||
tempJrePath = null
|
||||
}
|
||||
|
||||
@@ -127,8 +126,8 @@ subprojects {
|
||||
implementation 'io.github.pixee:java-security-toolkit:1.2.2'
|
||||
|
||||
//tmp for security bumps
|
||||
implementation "ch.qos.logback:logback-core:$logback"
|
||||
implementation "ch.qos.logback:logback-classic:$logback"
|
||||
implementation 'ch.qos.logback:logback-core:1.5.20'
|
||||
implementation 'ch.qos.logback:logback-classic:1.5.20'
|
||||
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
||||
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
||||
|
||||
|
||||
Generated
+171
-132
@@ -8,9 +8,9 @@
|
||||
"name": "stirling-pdf",
|
||||
"version": "1.0.0",
|
||||
"devDependencies": {
|
||||
"@stylistic/stylelint-plugin": "^4.0.0",
|
||||
"stylelint": "^16.26.0",
|
||||
"stylelint-config-standard": "^39.0.1"
|
||||
"@stylistic/stylelint-plugin": "^3.1.3",
|
||||
"stylelint": "^16.21.1",
|
||||
"stylelint-config-standard": "^38.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
@@ -38,30 +38,6 @@
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@cacheable/memory": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.5.tgz",
|
||||
"integrity": "sha512-fkiAxCvssEyJZ5fxX4tcdZFRmW9JehSTGvvqmXn6rTzG5cH6V/3C4ad8yb01vOjp2xBydHkHrgpW0qeGtzt6VQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cacheable/utils": "^2.3.0",
|
||||
"@keyv/bigmap": "^1.1.0",
|
||||
"hookified": "^1.12.2",
|
||||
"keyv": "^5.5.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@cacheable/utils": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.3.1.tgz",
|
||||
"integrity": "sha512-38NJXjIr4W1Sghun8ju+uYWD8h2c61B4dKwfnQHVDFpAJ9oS28RpfqZQJ6Dgd3RceGkILDY9YT+72HJR3LoeSQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"hashery": "^1.2.0",
|
||||
"keyv": "^5.5.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-parser-algorithms": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
|
||||
@@ -153,39 +129,25 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@dual-bundle/import-meta-resolve": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz",
|
||||
"integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==",
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
|
||||
"integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/JounQin"
|
||||
}
|
||||
},
|
||||
"node_modules/@keyv/bigmap": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.0.tgz",
|
||||
"integrity": "sha512-KT01GjzV6AQD5+IYrcpoYLkCu1Jod3nau1Z7EsEuViO3TZGRacSbO9MfHmbJ1WaOXFtWLxPVj169cn2WNKPkIg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"hashery": "^1.2.0",
|
||||
"hookified": "^1.13.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"keyv": "^5.5.4"
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/@keyv/serialize": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz",
|
||||
"integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz",
|
||||
"integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"buffer": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
@@ -226,17 +188,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@stylistic/stylelint-plugin": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-4.0.0.tgz",
|
||||
"integrity": "sha512-CFwt3K4Y/7bygNCLCQ8Sy4Hzgbhxq3BsNW0FIuYxl17HD3ywptm54ocyeiLVRrk5jtz1Zwks7Xr9eiZt8SWHAw==",
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@stylistic/stylelint-plugin/-/stylelint-plugin-3.1.3.tgz",
|
||||
"integrity": "sha512-85fsmzgsIVmyG3/GFrjuYj6Cz8rAM7IZiPiXCMiSMfoDOC1lOrzrXPDk24WqviAghnPqGpx8b0caK2PuewWGFg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@csstools/css-parser-algorithms": "^3.0.5",
|
||||
"@csstools/css-tokenizer": "^3.0.4",
|
||||
"@csstools/media-query-list-parser": "^4.0.3",
|
||||
"postcss": "^8.5.6",
|
||||
"postcss-selector-parser": "^7.1.0",
|
||||
"@csstools/css-parser-algorithms": "^3.0.1",
|
||||
"@csstools/css-tokenizer": "^3.0.1",
|
||||
"@csstools/media-query-list-parser": "^3.0.1",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"postcss": "^8.4.41",
|
||||
"postcss-selector-parser": "^6.1.2",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"style-search": "^0.1.0"
|
||||
},
|
||||
@@ -244,7 +207,45 @@
|
||||
"node": "^18.12 || >=20.9"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": "^16.22.0"
|
||||
"stylelint": "^16.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@stylistic/stylelint-plugin/node_modules/@csstools/media-query-list-parser": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-3.0.1.tgz",
|
||||
"integrity": "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/csstools"
|
||||
},
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/csstools"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@csstools/css-parser-algorithms": "^3.0.1",
|
||||
"@csstools/css-tokenizer": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@stylistic/stylelint-plugin/node_modules/postcss-selector-parser": {
|
||||
"version": "6.1.2",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
|
||||
"integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
@@ -324,6 +325,27 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||
@@ -337,18 +359,40 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.2.0.tgz",
|
||||
"integrity": "sha512-LEJxRqfeomiiRd2t0uON6hxAtgOoWDfY3fugebbz+J3vDLO+SkdfFChQcOHTZhj9SYa9iwE9MGYNX72dKiOE4w==",
|
||||
"version": "1.10.1",
|
||||
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.10.1.tgz",
|
||||
"integrity": "sha512-Fa2BZY0CS9F0PFc/6aVA6tgpOdw+hmv9dkZOlHXII5v5Hw+meJBIWDcPrG9q/dXxGcNbym5t77fzmawrBQfTmQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@cacheable/memory": "^2.0.5",
|
||||
"@cacheable/utils": "^2.3.0",
|
||||
"hookified": "^1.13.0",
|
||||
"keyv": "^5.5.4",
|
||||
"qified": "^0.5.2"
|
||||
"hookified": "^1.10.0",
|
||||
"keyv": "^5.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/callsites": {
|
||||
@@ -453,9 +497,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -572,13 +616,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/file-entry-cache": {
|
||||
"version": "11.1.1",
|
||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.1.tgz",
|
||||
"integrity": "sha512-TPVFSDE7q91Dlk1xpFLvFllf8r0HyOMOlnWy7Z2HBku5H3KhIeOGInexrIeg2D64DosVB/JXkrrk6N/7Wriq4A==",
|
||||
"version": "10.1.1",
|
||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.1.tgz",
|
||||
"integrity": "sha512-zcmsHjg2B2zjuBgjdnB+9q0+cWcgWfykIcsDkWDB4GTPtl1eXUA+gTI6sO0u01AqK3cliHryTU55/b2Ow1hfZg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"flat-cache": "^6.1.19"
|
||||
"flat-cache": "^6.1.10"
|
||||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
@@ -595,15 +639,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/flat-cache": {
|
||||
"version": "6.1.19",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.19.tgz",
|
||||
"integrity": "sha512-l/K33newPTZMTGAnnzaiqSl6NnH7Namh8jBNjrgjprWxGmZUuxx/sJNIRaijOh3n7q7ESbhNZC+pvVZMFdeU4A==",
|
||||
"version": "6.1.11",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.11.tgz",
|
||||
"integrity": "sha512-zfOAns94mp7bHG/vCn9Ru2eDCmIxVQ5dELUHKjHfDEOJmHNzE+uGa6208kfkgmtym4a0FFjEuFksCXFacbVhSg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"cacheable": "^2.2.0",
|
||||
"cacheable": "^1.10.1",
|
||||
"flatted": "^3.3.3",
|
||||
"hookified": "^1.13.0"
|
||||
"hookified": "^1.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/flatted": {
|
||||
@@ -702,23 +746,10 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/hashery": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/hashery/-/hashery-1.2.0.tgz",
|
||||
"integrity": "sha512-43XJKpwle72Ik5Zpam7MuzRWyNdwwdf6XHlh8wCj2PggvWf+v/Dm5B0dxGZOmddidgeO6Ofu9As/o231Ti/9PA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"hookified": "^1.13.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/hookified": {
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.13.0.tgz",
|
||||
"integrity": "sha512-6sPYUY8olshgM/1LDNW4QZQN0IqgKhtl/1C8koNZBJrKLBk3AZl6chQtNwpNztvfiApHMEwMHek5rv993PRbWw==",
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.10.0.tgz",
|
||||
"integrity": "sha512-dJw0492Iddsj56U1JsSTm9E/0B/29a1AuoSLRAte8vQg/kaTGF3IgjEWT8c8yG4cC10+HisE1x5QAwR0Xwc+DA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -735,6 +766,27 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/ignore": {
|
||||
"version": "7.0.5",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
|
||||
@@ -864,9 +916,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -891,13 +943,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/keyv": {
|
||||
"version": "5.5.4",
|
||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.4.tgz",
|
||||
"integrity": "sha512-eohl3hKTiVyD1ilYdw9T0OiB4hnjef89e3dMYKz+mVKDzj+5IteTseASUsOB+EU9Tf6VNTCjDePcP6wkDGmLKQ==",
|
||||
"version": "5.3.4",
|
||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.4.tgz",
|
||||
"integrity": "sha512-ypEvQvInNpUe+u+w8BIcPkQvEqXquyyibWE/1NB5T2BTzIpS5cGEV1LZskDzPSTvNAaT4+5FutvzlvnkxOSKlw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@keyv/serialize": "^1.1.1"
|
||||
"@keyv/serialize": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/kind-of": {
|
||||
@@ -1168,19 +1220,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/qified": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qified/-/qified-0.5.2.tgz",
|
||||
"integrity": "sha512-7gJ6mxcQb9vUBOtbKm5mDevbe2uRcOEVp1g4gb/Q+oLntB3HY8eBhOYRxFI2mlDFlY1e4DOSCptzxarXRvzxCA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"hookified": "^1.13.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/queue-microtask": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
|
||||
@@ -1344,9 +1383,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/stylelint": {
|
||||
"version": "16.26.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.26.0.tgz",
|
||||
"integrity": "sha512-Y/3AVBefrkqqapVYH3LBF5TSDZ1kw+0XpdKN2KchfuhMK6lQ85S4XOG4lIZLcrcS4PWBmvcY6eS2kCQFz0jukQ==",
|
||||
"version": "16.21.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.21.1.tgz",
|
||||
"integrity": "sha512-WCXdXnYK2tpCbebgMF0Bme3YZH/Rh/UXerj75twYo4uLULlcrLwFVdZTvTEF8idFnAcW21YUDJFyKOfaf6xJRw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1364,16 +1403,16 @@
|
||||
"@csstools/css-tokenizer": "^3.0.4",
|
||||
"@csstools/media-query-list-parser": "^4.0.3",
|
||||
"@csstools/selector-specificity": "^5.0.0",
|
||||
"@dual-bundle/import-meta-resolve": "^4.2.1",
|
||||
"@dual-bundle/import-meta-resolve": "^4.1.0",
|
||||
"balanced-match": "^2.0.0",
|
||||
"colord": "^2.9.3",
|
||||
"cosmiconfig": "^9.0.0",
|
||||
"css-functions-list": "^3.2.3",
|
||||
"css-tree": "^3.1.0",
|
||||
"debug": "^4.4.3",
|
||||
"debug": "^4.4.1",
|
||||
"fast-glob": "^3.3.3",
|
||||
"fastest-levenshtein": "^1.0.16",
|
||||
"file-entry-cache": "^11.1.0",
|
||||
"file-entry-cache": "^10.1.1",
|
||||
"global-modules": "^2.0.0",
|
||||
"globby": "^11.1.0",
|
||||
"globjoin": "^0.1.4",
|
||||
@@ -1407,9 +1446,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-recommended": {
|
||||
"version": "17.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-17.0.0.tgz",
|
||||
"integrity": "sha512-WaMSdEiPfZTSFVoYmJbxorJfA610O0tlYuU2aEwY33UQhSPgFbClrVJYWvy3jGJx+XW37O+LyNLiZOEXhKhJmA==",
|
||||
"version": "16.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz",
|
||||
"integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1426,13 +1465,13 @@
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": "^16.23.0"
|
||||
"stylelint": "^16.16.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-config-standard": {
|
||||
"version": "39.0.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-39.0.1.tgz",
|
||||
"integrity": "sha512-b7Fja59EYHRNOTa3aXiuWnhUWXFU2Nfg6h61bLfAb5GS5fX3LMUD0U5t4S8N/4tpHQg3Acs2UVPR9jy2l1g/3A==",
|
||||
"version": "38.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz",
|
||||
"integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1446,13 +1485,13 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"stylelint-config-recommended": "^17.0.0"
|
||||
"stylelint-config-recommended": "^16.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.12.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"stylelint": "^16.23.0"
|
||||
"stylelint": "^16.18.0"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
"lint:css:fix": "stylelint \"../app/core/src/main/**/*.css\" \"../app/proprietary/src/main/resources/static/css/*.css\" --config .stylelintrc.json --fix"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@stylistic/stylelint-plugin": "^4.0.0",
|
||||
"stylelint": "^16.26.0",
|
||||
"stylelint-config-standard": "^39.0.1"
|
||||
"@stylistic/stylelint-plugin": "^3.1.3",
|
||||
"stylelint": "^16.21.1",
|
||||
"stylelint-config-standard": "^38.0.0"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user