diff --git a/README.md b/README.md index b9dcbaf633..9cabb4c570 100644 --- a/README.md +++ b/README.md @@ -138,47 +138,47 @@ Stirling-PDF currently supports 40 languages! | Language | Progress | |----------------------------------------------|----------------------------------------| -| Arabic (العربية) (ar_AR) | ![66%](https://geps.dev/progress/66) | -| Azerbaijani (Azərbaycan Dili) (az_AZ) | ![57%](https://geps.dev/progress/57) | -| Basque (Euskara) (eu_ES) | ![34%](https://geps.dev/progress/34) | -| Bulgarian (Български) (bg_BG) | ![95%](https://geps.dev/progress/95) | -| Catalan (Català) (ca_CA) | ![62%](https://geps.dev/progress/62) | -| Croatian (Hrvatski) (hr_HR) | ![91%](https://geps.dev/progress/91) | -| Czech (Česky) (cs_CZ) | ![64%](https://geps.dev/progress/64) | -| Danish (Dansk) (da_DK) | ![57%](https://geps.dev/progress/57) | -| Dutch (Nederlands) (nl_NL) | ![89%](https://geps.dev/progress/89) | +| Arabic (العربية) (ar_AR) | ![58%](https://geps.dev/progress/58) | +| Azerbaijani (Azərbaycan Dili) (az_AZ) | ![50%](https://geps.dev/progress/50) | +| Basque (Euskara) (eu_ES) | ![29%](https://geps.dev/progress/29) | +| Bulgarian (Български) (bg_BG) | ![82%](https://geps.dev/progress/82) | +| Catalan (Català) (ca_CA) | ![54%](https://geps.dev/progress/54) | +| Croatian (Hrvatski) (hr_HR) | ![79%](https://geps.dev/progress/79) | +| Czech (Česky) (cs_CZ) | ![56%](https://geps.dev/progress/56) | +| Danish (Dansk) (da_DK) | ![49%](https://geps.dev/progress/49) | +| Dutch (Nederlands) (nl_NL) | ![78%](https://geps.dev/progress/78) | | English (English) (en_GB) | ![100%](https://geps.dev/progress/100) | | English (US) (en_US) | ![100%](https://geps.dev/progress/100) | -| French (Français) (fr_FR) | ![98%](https://geps.dev/progress/98) | -| German (Deutsch) (de_DE) | ![99%](https://geps.dev/progress/99) | -| Greek (Ελληνικά) (el_GR) | ![62%](https://geps.dev/progress/62) | -| Hindi (हिंदी) (hi_IN) | ![62%](https://geps.dev/progress/62) | -| Hungarian (Magyar) (hu_HU) | ![98%](https://geps.dev/progress/98) | -| Indonesian (Bahasa Indonesia) (id_ID) | ![57%](https://geps.dev/progress/57) | -| Irish (Gaeilge) (ga_IE) | ![63%](https://geps.dev/progress/63) | -| Italian (Italiano) (it_IT) | ![96%](https://geps.dev/progress/96) | -| Japanese (日本語) (ja_JP) | ![90%](https://geps.dev/progress/90) | -| Korean (한국어) (ko_KR) | ![62%](https://geps.dev/progress/62) | -| Norwegian (Norsk) (no_NB) | ![61%](https://geps.dev/progress/61) | -| Persian (فارسی) (fa_IR) | ![59%](https://geps.dev/progress/59) | -| Polish (Polski) (pl_PL) | ![88%](https://geps.dev/progress/88) | -| Portuguese (Português) (pt_PT) | ![87%](https://geps.dev/progress/87) | -| Portuguese Brazilian (Português) (pt_BR) | ![84%](https://geps.dev/progress/84) | -| Romanian (Română) (ro_RO) | ![53%](https://geps.dev/progress/53) | -| Russian (Русский) (ru_RU) | ![89%](https://geps.dev/progress/89) | -| Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![92%](https://geps.dev/progress/92) | -| Simplified Chinese (简体中文) (zh_CN) | ![86%](https://geps.dev/progress/86) | -| Slovakian (Slovensky) (sk_SK) | ![47%](https://geps.dev/progress/47) | -| Slovenian (Slovenščina) (sl_SI) | ![66%](https://geps.dev/progress/66) | -| Spanish (Español) (es_ES) | ![97%](https://geps.dev/progress/97) | -| Swedish (Svenska) (sv_SE) | ![60%](https://geps.dev/progress/60) | -| Thai (ไทย) (th_TH) | ![54%](https://geps.dev/progress/54) | -| Tibetan (བོད་ཡིག་) (bo_CN) | ![60%](https://geps.dev/progress/60) | -| Traditional Chinese (繁體中文) (zh_TW) | ![95%](https://geps.dev/progress/95) | -| Turkish (Türkçe) (tr_TR) | ![92%](https://geps.dev/progress/92) | -| Ukrainian (Українська) (uk_UA) | ![65%](https://geps.dev/progress/65) | -| Vietnamese (Tiếng Việt) (vi_VN) | ![52%](https://geps.dev/progress/52) | -| Malayalam (മലയാളം) (ml_IN) | ![67%](https://geps.dev/progress/67) | +| French (Français) (fr_FR) | ![85%](https://geps.dev/progress/85) | +| German (Deutsch) (de_DE) | ![86%](https://geps.dev/progress/86) | +| Greek (Ελληνικά) (el_GR) | ![54%](https://geps.dev/progress/54) | +| Hindi (हिंदी) (hi_IN) | ![54%](https://geps.dev/progress/54) | +| Hungarian (Magyar) (hu_HU) | ![85%](https://geps.dev/progress/85) | +| Indonesian (Bahasa Indonesia) (id_ID) | ![50%](https://geps.dev/progress/50) | +| Irish (Gaeilge) (ga_IE) | ![55%](https://geps.dev/progress/55) | +| Italian (Italiano) (it_IT) | ![85%](https://geps.dev/progress/85) | +| Japanese (日本語) (ja_JP) | ![79%](https://geps.dev/progress/79) | +| Korean (한국어) (ko_KR) | ![54%](https://geps.dev/progress/54) | +| Norwegian (Norsk) (no_NB) | ![53%](https://geps.dev/progress/53) | +| Persian (فارسی) (fa_IR) | ![52%](https://geps.dev/progress/52) | +| Polish (Polski) (pl_PL) | ![77%](https://geps.dev/progress/77) | +| Portuguese (Português) (pt_PT) | ![76%](https://geps.dev/progress/76) | +| Portuguese Brazilian (Português) (pt_BR) | ![74%](https://geps.dev/progress/74) | +| Romanian (Română) (ro_RO) | ![46%](https://geps.dev/progress/46) | +| Russian (Русский) (ru_RU) | ![91%](https://geps.dev/progress/91) | +| Serbian Latin alphabet (Srpski) (sr_LATN_RS) | ![80%](https://geps.dev/progress/80) | +| Simplified Chinese (简体中文) (zh_CN) | ![75%](https://geps.dev/progress/75) | +| Slovakian (Slovensky) (sk_SK) | ![41%](https://geps.dev/progress/41) | +| Slovenian (Slovenščina) (sl_SI) | ![57%](https://geps.dev/progress/57) | +| Spanish (Español) (es_ES) | ![85%](https://geps.dev/progress/85) | +| Swedish (Svenska) (sv_SE) | ![52%](https://geps.dev/progress/52) | +| Thai (ไทย) (th_TH) | ![47%](https://geps.dev/progress/47) | +| Tibetan (བོད་ཡིག་) (bo_CN) | ![52%](https://geps.dev/progress/52) | +| Traditional Chinese (繁體中文) (zh_TW) | ![82%](https://geps.dev/progress/82) | +| Turkish (Türkçe) (tr_TR) | ![80%](https://geps.dev/progress/80) | +| Ukrainian (Українська) (uk_UA) | ![57%](https://geps.dev/progress/57) | +| Vietnamese (Tiếng Việt) (vi_VN) | ![46%](https://geps.dev/progress/46) | +| Malayalam (മലയാളം) (ml_IN) | ![59%](https://geps.dev/progress/59) | ## Stirling PDF Enterprise diff --git a/app/core/src/main/resources/messages_ar_AR.properties b/app/core/src/main/resources/messages_ar_AR.properties index 1dce60d581..b55db1120b 100644 --- a/app/core/src/main/resources/messages_ar_AR.properties +++ b/app/core/src/main/resources/messages_ar_AR.properties @@ -235,6 +235,92 @@ 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=كلمة المرور @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_az_AZ.properties b/app/core/src/main/resources/messages_az_AZ.properties index 28d8528b0d..951eeedddf 100644 --- a/app/core/src/main/resources/messages_az_AZ.properties +++ b/app/core/src/main/resources/messages_az_AZ.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_bg_BG.properties b/app/core/src/main/resources/messages_bg_BG.properties index ac3f7d2fdf..965bcd5ece 100644 --- a/app/core/src/main/resources/messages_bg_BG.properties +++ b/app/core/src/main/resources/messages_bg_BG.properties @@ -235,6 +235,92 @@ 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=Парола @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_bo_CN.properties b/app/core/src/main/resources/messages_bo_CN.properties index 0c9e4976bd..28a452c4e6 100644 --- a/app/core/src/main/resources/messages_bo_CN.properties +++ b/app/core/src/main/resources/messages_bo_CN.properties @@ -235,6 +235,92 @@ 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=གསང་ཚིག། @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ca_CA.properties b/app/core/src/main/resources/messages_ca_CA.properties index 36dcea7c21..2e1fa46578 100644 --- a/app/core/src/main/resources/messages_ca_CA.properties +++ b/app/core/src/main/resources/messages_ca_CA.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_cs_CZ.properties b/app/core/src/main/resources/messages_cs_CZ.properties index b696285a58..8af9880a81 100644 --- a/app/core/src/main/resources/messages_cs_CZ.properties +++ b/app/core/src/main/resources/messages_cs_CZ.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_da_DK.properties b/app/core/src/main/resources/messages_da_DK.properties index 0ac2c4b0a8..ea3471bed4 100644 --- a/app/core/src/main/resources/messages_da_DK.properties +++ b/app/core/src/main/resources/messages_da_DK.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_de_DE.properties b/app/core/src/main/resources/messages_de_DE.properties index f65ca121f4..f531ecb165 100644 --- a/app/core/src/main/resources/messages_de_DE.properties +++ b/app/core/src/main/resources/messages_de_DE.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_el_GR.properties b/app/core/src/main/resources/messages_el_GR.properties index 19602622ea..751d6d62e3 100644 --- a/app/core/src/main/resources/messages_el_GR.properties +++ b/app/core/src/main/resources/messages_el_GR.properties @@ -235,6 +235,92 @@ 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=Κωδικός @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_en_US.properties b/app/core/src/main/resources/messages_en_US.properties index eb48bf5676..53f41e911f 100644 --- a/app/core/src/main/resources/messages_en_US.properties +++ b/app/core/src/main/resources/messages_en_US.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_es_ES.properties b/app/core/src/main/resources/messages_es_ES.properties index e9b0cf4ea6..1c32ab2471 100644 --- a/app/core/src/main/resources/messages_es_ES.properties +++ b/app/core/src/main/resources/messages_es_ES.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_eu_ES.properties b/app/core/src/main/resources/messages_eu_ES.properties index 4bb4a17edc..d6145be68b 100644 --- a/app/core/src/main/resources/messages_eu_ES.properties +++ b/app/core/src/main/resources/messages_eu_ES.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_fa_IR.properties b/app/core/src/main/resources/messages_fa_IR.properties index 0f3e28d27d..a112ad303f 100644 --- a/app/core/src/main/resources/messages_fa_IR.properties +++ b/app/core/src/main/resources/messages_fa_IR.properties @@ -235,6 +235,92 @@ 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=رمز عبور @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_fr_FR.properties b/app/core/src/main/resources/messages_fr_FR.properties index 7711764ff4..54bd21301c 100644 --- a/app/core/src/main/resources/messages_fr_FR.properties +++ b/app/core/src/main/resources/messages_fr_FR.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ga_IE.properties b/app/core/src/main/resources/messages_ga_IE.properties index ef834f08ed..712819dc68 100644 --- a/app/core/src/main/resources/messages_ga_IE.properties +++ b/app/core/src/main/resources/messages_ga_IE.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_hi_IN.properties b/app/core/src/main/resources/messages_hi_IN.properties index e5441d3610..ff5a1109c5 100644 --- a/app/core/src/main/resources/messages_hi_IN.properties +++ b/app/core/src/main/resources/messages_hi_IN.properties @@ -235,6 +235,92 @@ 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=पासवर्ड @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_hr_HR.properties b/app/core/src/main/resources/messages_hr_HR.properties index 88ea500094..a13139e905 100644 --- a/app/core/src/main/resources/messages_hr_HR.properties +++ b/app/core/src/main/resources/messages_hr_HR.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_hu_HU.properties b/app/core/src/main/resources/messages_hu_HU.properties index f44aa6fe04..8b54c639ef 100644 --- a/app/core/src/main/resources/messages_hu_HU.properties +++ b/app/core/src/main/resources/messages_hu_HU.properties @@ -235,6 +235,92 @@ 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ó @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_id_ID.properties b/app/core/src/main/resources/messages_id_ID.properties index f984057bae..cced52d61e 100644 --- a/app/core/src/main/resources/messages_id_ID.properties +++ b/app/core/src/main/resources/messages_id_ID.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_it_IT.properties b/app/core/src/main/resources/messages_it_IT.properties index 7b2c22aa62..1d179ce87d 100644 --- a/app/core/src/main/resources/messages_it_IT.properties +++ b/app/core/src/main/resources/messages_it_IT.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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.pdfToCbz.title=PDF in CBZ home.pdfToCbz.desc=Converti i file PDF negli archivi di fumetti CBZ. pdfToCbz.tags=conversione,fumetto,libro,archivio,cbz,pdf @@ -1506,6 +1596,20 @@ 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. + #pdfToCBR pdfToCBR.title=PDF in CBR pdfToCBR.header=PDF in CBR @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ja_JP.properties b/app/core/src/main/resources/messages_ja_JP.properties index 409a5ca49e..531b1feef2 100644 --- a/app/core/src/main/resources/messages_ja_JP.properties +++ b/app/core/src/main/resources/messages_ja_JP.properties @@ -235,6 +235,92 @@ 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=パスワード @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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に変換 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ko_KR.properties b/app/core/src/main/resources/messages_ko_KR.properties index aee2579e07..b16735973c 100644 --- a/app/core/src/main/resources/messages_ko_KR.properties +++ b/app/core/src/main/resources/messages_ko_KR.properties @@ -235,6 +235,92 @@ 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=비밀번호 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ml_IN.properties b/app/core/src/main/resources/messages_ml_IN.properties index 398ce63e43..8a50b88046 100644 --- a/app/core/src/main/resources/messages_ml_IN.properties +++ b/app/core/src/main/resources/messages_ml_IN.properties @@ -235,6 +235,92 @@ 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=പാസ്വേഡ് @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_nl_NL.properties b/app/core/src/main/resources/messages_nl_NL.properties index 7504d9fb10..e1021208ce 100644 --- a/app/core/src/main/resources/messages_nl_NL.properties +++ b/app/core/src/main/resources/messages_nl_NL.properties @@ -235,6 +235,92 @@ 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} 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=Verwijderen username=Gebruikersnaam password=Wachtwoord @@ -620,6 +706,10 @@ 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 naar CBZ home.pdfToCbz.desc=Converteer PDF-bestanden naar CBZ comic book archives. pdfToCbz.tags=conversie,comic,book,strip,album,archief,cbz,pdf @@ -1506,6 +1596,20 @@ 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 naar CBR pdfToCBR.header=PDF naar CBR @@ -2037,3 +2141,209 @@ 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=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. diff --git a/app/core/src/main/resources/messages_no_NB.properties b/app/core/src/main/resources/messages_no_NB.properties index e9564595f9..b01ae5cb05 100644 --- a/app/core/src/main/resources/messages_no_NB.properties +++ b/app/core/src/main/resources/messages_no_NB.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_pl_PL.properties b/app/core/src/main/resources/messages_pl_PL.properties index 8457a46f4a..b983b8098f 100644 --- a/app/core/src/main/resources/messages_pl_PL.properties +++ b/app/core/src/main/resources/messages_pl_PL.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_pt_BR.properties b/app/core/src/main/resources/messages_pt_BR.properties index 3d8b410e4f..6b075add97 100644 --- a/app/core/src/main/resources/messages_pt_BR.properties +++ b/app/core/src/main/resources/messages_pt_BR.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_pt_PT.properties b/app/core/src/main/resources/messages_pt_PT.properties index 1cf8102be8..c43940c3e8 100644 --- a/app/core/src/main/resources/messages_pt_PT.properties +++ b/app/core/src/main/resources/messages_pt_PT.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ro_RO.properties b/app/core/src/main/resources/messages_ro_RO.properties index 6f04c182d7..26933ab979 100644 --- a/app/core/src/main/resources/messages_ro_RO.properties +++ b/app/core/src/main/resources/messages_ro_RO.properties @@ -235,6 +235,92 @@ 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ă @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_ru_RU.properties b/app/core/src/main/resources/messages_ru_RU.properties index a27a8d30b4..933cca84a8 100644 --- a/app/core/src/main/resources/messages_ru_RU.properties +++ b/app/core/src/main/resources/messages_ru_RU.properties @@ -706,6 +706,10 @@ 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.pdfToCbz.title=PDF в CBZ home.pdfToCbz.desc=Конвертируйте PDF-файлы в архивы комиксов CBZ. pdfToCbz.tags=конвертация,комикс,книга,архив,cbz,pdf @@ -1592,6 +1596,20 @@ ebookToPDF.includePageNumbers=Добавить номера страниц в г 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. + #pdfToCBR pdfToCBR.title=PDF в CBR pdfToCBR.header=PDF в CBR @@ -2270,7 +2288,7 @@ error.E051.hint.3=Просмотрите аргументы командной error.E051.action=Убедитесь, что Ghostscript установлен и команда выполняется успешно. error.E054.hint.1=Преобразуйте файлы EPS или PS в одностраничный PDF-файл, прежде чем повторить эту операцию. error.E054.hint.2=Экспортируйте каждую страницу по отдельности из приложения-автора, чтобы Ghostscript обрабатывал по одной странице за раз. -error.E054.hint.3=Используйте инструмент «Преобразовать в PDF» для сглаживания изображений или применения дополнительных эффектов, затем повторите команду. +error.E054.hint.3=Используйте инструмент «Преобразовать в PDF» для сглаживания изображений или применения дополнительных эффектов, затем повторите команду. error.E054.action=Преобразуйте исходный файл в одностраничный документ (или PDF) и повторите операцию. error.E052.hint.1=Убедитесь, что qpdf установлен и находится в системной переменной PATH. diff --git a/app/core/src/main/resources/messages_sk_SK.properties b/app/core/src/main/resources/messages_sk_SK.properties index fb30633a51..4a80ec7d60 100644 --- a/app/core/src/main/resources/messages_sk_SK.properties +++ b/app/core/src/main/resources/messages_sk_SK.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_sl_SI.properties b/app/core/src/main/resources/messages_sl_SI.properties index 0480d8f184..0e33f31850 100644 --- a/app/core/src/main/resources/messages_sl_SI.properties +++ b/app/core/src/main/resources/messages_sl_SI.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_sr_LATN_RS.properties b/app/core/src/main/resources/messages_sr_LATN_RS.properties index f530a80c58..e7e9fe8c72 100644 --- a/app/core/src/main/resources/messages_sr_LATN_RS.properties +++ b/app/core/src/main/resources/messages_sr_LATN_RS.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_sv_SE.properties b/app/core/src/main/resources/messages_sv_SE.properties index b157060fb9..bb7afdb060 100644 --- a/app/core/src/main/resources/messages_sv_SE.properties +++ b/app/core/src/main/resources/messages_sv_SE.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_th_TH.properties b/app/core/src/main/resources/messages_th_TH.properties index abc773aee1..175567832d 100644 --- a/app/core/src/main/resources/messages_th_TH.properties +++ b/app/core/src/main/resources/messages_th_TH.properties @@ -235,6 +235,92 @@ 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=รหัสผ่าน @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_tr_TR.properties b/app/core/src/main/resources/messages_tr_TR.properties index bfa7ac9aed..6769a6481c 100644 --- a/app/core/src/main/resources/messages_tr_TR.properties +++ b/app/core/src/main/resources/messages_tr_TR.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_uk_UA.properties b/app/core/src/main/resources/messages_uk_UA.properties index 6982e3a6ec..de5423d153 100644 --- a/app/core/src/main/resources/messages_uk_UA.properties +++ b/app/core/src/main/resources/messages_uk_UA.properties @@ -235,6 +235,92 @@ 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=Пароль @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_vi_VN.properties b/app/core/src/main/resources/messages_vi_VN.properties index 03a7333493..8058f262d0 100644 --- a/app/core/src/main/resources/messages_vi_VN.properties +++ b/app/core/src/main/resources/messages_vi_VN.properties @@ -235,6 +235,92 @@ 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 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_zh_CN.properties b/app/core/src/main/resources/messages_zh_CN.properties index bdf206c911..4d204cf81f 100644 --- a/app/core/src/main/resources/messages_zh_CN.properties +++ b/app/core/src/main/resources/messages_zh_CN.properties @@ -235,6 +235,92 @@ 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=密码 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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. diff --git a/app/core/src/main/resources/messages_zh_TW.properties b/app/core/src/main/resources/messages_zh_TW.properties index 650ed0e69b..7744c0137f 100644 --- a/app/core/src/main/resources/messages_zh_TW.properties +++ b/app/core/src/main/resources/messages_zh_TW.properties @@ -235,6 +235,92 @@ 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=密碼 @@ -620,6 +706,10 @@ 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 @@ -1506,6 +1596,20 @@ 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 @@ -2037,3 +2141,209 @@ 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.