Merge branch 'main' into add_errormessage_20250616

This commit is contained in:
Ludy 2025-06-16 19:05:12 +02:00 committed by GitHub
commit 09d16a78e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 1127 additions and 1123 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1699,17 +1699,17 @@ fakeScan.resolution=Auflösung (DPI)
# Table of Contents Feature
home.editTableOfContents.title=Edit Table of Contents
home.editTableOfContents.desc=Add or edit bookmarks and table of contents in PDF documents
home.editTableOfContents.title=Inhaltsverzeichnis bearbeiten
home.editTableOfContents.desc=Hinzufügen oder Bearbeiten von Lesezeichen und Inhaltsverzeichnissen in PDF-Dokumenten
editTableOfContents.tags=bookmarks,toc,navigation,index,table of contents,chapters,sections,outline
editTableOfContents.title=Edit Table of Contents
editTableOfContents.header=Add or Edit PDF Table of Contents
editTableOfContents.replaceExisting=Replace existing bookmarks (uncheck to append to existing)
editTableOfContents.editorTitle=Bookmark Editor
editTableOfContents.editorDesc=Add and arrange bookmarks below. Click + to add child bookmarks.
editTableOfContents.addBookmark=Add New Bookmark
editTableOfContents.desc.1=This tool allows you to add or edit the table of contents (bookmarks) in a PDF document.
editTableOfContents.desc.2=You can create a hierarchical structure by adding child bookmarks to parent bookmarks.
editTableOfContents.desc.3=Each bookmark requires a title and target page number.
editTableOfContents.submit=Apply Table of Contents
editTableOfContents.tags=Lesezeichen,Inhaltsverzeichnis,Navigation,Index,Kapitel,Abschnitte,Gliederung
editTableOfContents.title=Inhaltsverzeichnis bearbeiten
editTableOfContents.header=PDF-Inhaltsverzeichnis hinzufügen oder bearbeiten
editTableOfContents.replaceExisting=Vorhandene Lesezeichen ersetzen (deaktivieren, um bestehende hinzuzufügen)
editTableOfContents.editorTitle=Lesezeichen-Editor
editTableOfContents.editorDesc=Fügen unten Lesezeichen hinzu und ordne sie an. Klicke auf +, um das untergeordnete Lesezeichen hinzuzufügen.
editTableOfContents.addBookmark=Neues Lesezeichen hinzufügen
editTableOfContents.desc.1=Mit diesem Werkzeug können Sie das Inhaltsverzeichnis (Lesezeichen) eines PDF-Dokuments hinzufügen oder bearbeiten.
editTableOfContents.desc.2=Sie können eine hierarchische Struktur erstellen, indem Sie untergeordnete Lesezeichen zu übergeordneten hinzufügen.
editTableOfContents.desc.3=Jedes Lesezeichen benötigt einen Titel und eine Seitenzahl.
editTableOfContents.submit=Inhaltsverzeichnis anwenden

View File

@ -220,12 +220,12 @@ addToDoc=Hozzáadás a dokumentumhoz
reset=Visszaállítás
apply=Alkalmaz
noFileSelected=Nincs fájl kiválasztva. Kérjük, töltsön fel egyet.
view=View
cancel=Cancel
view=Megtekintés
cancel=Mégse
back.toSettings=Back to Settings
back.toHome=Back to Home
back.toAdmin=Back to Admin
back.toSettings=Vissza a Beállításokhoz
back.toHome=Vissza a Kezdőlapra
back.toAdmin=Vissza a Rendszergazdai beállításokhoz
legal.privacy=Adatvédelmi irányelvek
legal.terms=Felhasználási feltételek
@ -393,13 +393,13 @@ adminUserSettings.teamHidden=Hidden
adminUserSettings.totalMembers=Összes tag
adminUserSettings.confirmDeleteTeam=Biztosan törli ezt a csapatot?
teamCreated=Team created successfully
teamExists=A team with that name already exists
teamNameExists=Another team with that name already exists
teamNotFound=Team not found
teamDeleted=Team deleted
teamHasUsers=Cannot delete a team with users assigned
teamRenamed=Team renamed successfully
teamCreated=Csapat sikeresen létrehozva
teamExists=A csapat már létezik
teamNameExists=A csapat neve már létezik
teamNotFound=Csapat nem található
teamDeleted=Csapat törölve
teamHasUsers=Nem lehet törölni egy olyan csapatot, amelyhez felhasználók vannak rendelve
teamRenamed=Csapat sikeresen átnevezve
# Team user management
team.addUser=Felhasználó hozzáadása a csapathoz
@ -411,16 +411,16 @@ team.back=Vissza a csapatokhoz
team.internal=Belső csapat
team.internalTeamNotAccessible=A belső csapat egy rendszer csapat, és nem érhető el
team.cannotMoveInternalUsers=A belső csapatban lévő felhasználók nem mozgathatók más csapatokba.
team.hidden=Hidden
team.name=Team Name
team.totalMembers=Total Members
team.members=Members
team.username=Username
team.role=Role
team.status=Status
team.enabled=Enabled
team.disabled=Disabled
team.noMembers=This team has no members yet.
team.hidden=Rejtett csapat
team.name=Csapat neve
team.totalMembers=Összes tag
team.members=Tagok
team.username=Felhasználónév
team.role=Szerepkör
team.status=Állapot
team.enabled=Engedélyezve
team.disabled=Letiltva
team.noMembers=Ez a csapat még nem rendelkezik tagokkal.

View File

@ -549,9 +549,9 @@ home.compressPdfs.title=壓縮
home.compressPdfs.desc=壓縮 PDF 以減少其檔案大小。
compressPdfs.tags=壓縮,小,微小
home.unlockPDFForms.title=Unlock PDF Forms
home.unlockPDFForms.desc=Remove read-only property of form fields in a PDF document.
unlockPDFForms.tags=remove,delete,form,field,readonly
home.unlockPDFForms.title=解鎖 PDF 表單
home.unlockPDFForms.desc=移除 PDF 文件中表單欄位的唯讀屬性
unlockPDFForms.tags=移除,刪除,表格,欄位,唯讀
home.changeMetadata.title=變更中繼資料
home.changeMetadata.desc=從 PDF 檔案中變更/移除/新增中繼資料
@ -675,21 +675,21 @@ home.HTMLToPDF.desc=將任何 HTML 檔案或壓縮檔轉換為 PDF
HTMLToPDF.tags=標記,網頁內容,轉換,轉檔
#eml-to-pdf
home.EMLToPDF.title=Email to PDF
home.EMLToPDF.desc=Converts email (EML) files to PDF format including headers, body, and inline images
EMLToPDF.tags=email,conversion,eml,message,transformation,convert,mail
home.EMLToPDF.title=電子郵件轉 PDF
home.EMLToPDF.desc=將電子郵件 (EML) 檔案轉換為 PDF 格式,包含標頭、內文及內嵌圖片
EMLToPDF.tags=電子郵件,轉換,EML,訊息,轉檔,轉換,郵件
EMLToPDF.title=Email To PDF
EMLToPDF.header=Email To PDF
EMLToPDF.submit=Convert
EMLToPDF.downloadHtml=Download HTML intermediate file instead of PDF
EMLToPDF.downloadHtmlHelp=This allows you to see the HTML version before PDF conversion and can help debug formatting issues
EMLToPDF.includeAttachments=Include attachments in PDF
EMLToPDF.maxAttachmentSize=Maximum attachment size (MB)
EMLToPDF.help=Converts email (EML) files to PDF format including headers, body, and inline images
EMLToPDF.troubleshootingTip1=Email to HTML is a more reliable process, so with batch-processing it is recommended to save both
EMLToPDF.troubleshootingTip2=With a small number of Emails, if the PDF is malformed, you can download HTML and override some of the problematic HTML/CSS code.
EMLToPDF.troubleshootingTip3=Embeddings, however, do not work with HTMLs
EMLToPDF.title=電子郵件轉 PDF
EMLToPDF.header=電子郵件轉 PDF
EMLToPDF.submit=轉換
EMLToPDF.downloadHtml=下載 HTML 中繼檔案而非 PDF
EMLToPDF.downloadHtmlHelp=可讓您在轉換為 PDF 前先檢視 HTML 版本,有助於除錯格式問題
EMLToPDF.includeAttachments=在 PDF 中包含附件
EMLToPDF.maxAttachmentSize=附件大小上限 (MB)
EMLToPDF.help=將電子郵件 (EML) 檔案轉換為 PDF 格式,包含標頭、內文及內嵌圖片
EMLToPDF.troubleshootingTip1=電子郵件轉 HTML 的流程較為穩定可靠,因此在批次處理時建議同時儲存兩種格式
EMLToPDF.troubleshootingTip2=若電子郵件數量不多且 PDF 格式錯誤,您可下載 HTML 檔案並手動修正有問題的 HTML/CSS 程式碼
EMLToPDF.troubleshootingTip3=然而,內嵌內容在 HTML 中無法正常運作
home.MarkdownToPDF.title=Markdown 轉 PDF
home.MarkdownToPDF.desc=將任何 Markdown 檔案轉換為 PDF
@ -876,28 +876,28 @@ getPdfInfo.title=取得 PDF 資訊
getPdfInfo.header=取得 PDF 資訊
getPdfInfo.submit=取得資訊
getPdfInfo.downloadJson=下載 JSON
getPdfInfo.summary=PDF Summary
getPdfInfo.summary.encrypted=This PDF is encrypted so may face issues with some applications
getPdfInfo.summary.permissions=This PDF has {0} restricted permissions which may limit what you can do with it
getPdfInfo.summary.compliance=This PDF complies with the {0} standard
getPdfInfo.summary.basicInfo=Basic Information
getPdfInfo.summary.docInfo=Document Information
getPdfInfo.summary.encrypted.alert=Encrypted PDF - This document is password protected
getPdfInfo.summary.not.encrypted.alert=Unencrypted PDF - No password protection
getPdfInfo.summary.permissions.alert=Restricted Permissions - {0} actions are not allowed
getPdfInfo.summary.all.permissions.alert=All Permissions Allowed
getPdfInfo.summary.compliance.alert={0} Compliant
getPdfInfo.summary.no.compliance.alert=No Compliance Standards
getPdfInfo.summary.security.section=Security Status
getPdfInfo.section.BasicInfo=Basic Information about the PDF document including file size, page count, and language
getPdfInfo.section.Metadata=Document metadata including title, author, creation date and other document properties
getPdfInfo.section.DocumentInfo=Technical details about the PDF document structure and version
getPdfInfo.section.Compliancy=PDF standards compliance information (PDF/A, PDF/X, etc.)
getPdfInfo.section.Encryption=Security and encryption details of the document
getPdfInfo.section.Permissions=Document permission settings that control what actions can be performed
getPdfInfo.section.Other=Additional document components like bookmarks, layers, and embedded files
getPdfInfo.section.FormFields=Interactive form fields present in the document
getPdfInfo.section.PerPageInfo=Detailed information about each page in the document
getPdfInfo.summary=PDF 摘要
getPdfInfo.summary.encrypted=此 PDF 已加密,部分應用程式可能無法正常使用
getPdfInfo.summary.permissions=此 PDF 有 {0} 項權限限制,可能會限制可執行的操作
getPdfInfo.summary.compliance=此 PDF 符合 {0} 標準
getPdfInfo.summary.basicInfo=基本資訊
getPdfInfo.summary.docInfo=文件資訊
getPdfInfo.summary.encrypted.alert=已加密的 PDF - 此文件受密碼保護
getPdfInfo.summary.not.encrypted.alert=未加密的 PDF - 無密碼保護
getPdfInfo.summary.permissions.alert=權限限制 - 不允許執行 {0} 項操作
getPdfInfo.summary.all.permissions.alert=允許所有權限
getPdfInfo.summary.compliance.alert=符合 {0} 標準
getPdfInfo.summary.no.compliance.alert=未符合任何合規標準
getPdfInfo.summary.security.section=安全性狀態
getPdfInfo.section.BasicInfo=PDF 文件的基本資訊,包括檔案大小、頁數和語言
getPdfInfo.section.Metadata=文件中繼資料,包括標題、作者、建立日期和其他文件屬性
getPdfInfo.section.DocumentInfo=PDF 文件結構與版本的技術詳細資訊
getPdfInfo.section.Compliancy=PDF 標準合規資訊 (PDF/A、PDF/X 等)
getPdfInfo.section.Encryption=文件的安全性和加密詳細資訊
getPdfInfo.section.Permissions=控制可執行操作的文件權限設定
getPdfInfo.section.Other=其他文件元件,例如書籤、圖層與內嵌檔案
getPdfInfo.section.FormFields=文件中的互動式表單欄位
getPdfInfo.section.PerPageInfo=文件中每一頁的詳細資訊
#markdown-to-pdf
@ -1421,9 +1421,9 @@ changeMetadata.selectText.5=新增自訂中繼資料項目
changeMetadata.submit=變更
#unlockPDFForms
unlockPDFForms.title=Remove Read-Only from Form Fields
unlockPDFForms.header=Unlock PDF Forms
unlockPDFForms.submit=Remove
unlockPDFForms.title=移除表單欄位的唯讀限制
unlockPDFForms.header=解鎖 PDF 表單
unlockPDFForms.submit=移除
#pdfToPDFA
pdfToPDFA.title=PDF 轉 PDF/A
@ -1641,7 +1641,7 @@ validateSignature.cert.bits=位元
####################
cookieBanner.popUp.title=我們如何使用 Cookies
cookieBanner.popUp.description.1=我們使用 Cookies 和其他技術來讓 Stirling PDF 變得更好——幫助我們改善工具並繼續創造您會喜愛的新功能
cookieBanner.popUp.description.2=如果您仍不想,點「不,謝謝」只會開啟必要的 Cookies 好讓網站功能保持運作
cookieBanner.popUp.description.2=如果您仍不想,點「不,謝謝」只會開啟必要的 Cookies 好讓網站功能保持運作
cookieBanner.popUp.acceptAllBtn=接受
cookieBanner.popUp.acceptNecessaryBtn=不,謝謝
cookieBanner.popUp.showPreferencesBtn=管理偏好設定
@ -1659,7 +1659,7 @@ cookieBanner.preferencesModal.necessary.title.1=必要的 Cookies
cookieBanner.preferencesModal.necessary.title.2=永遠開啟
cookieBanner.preferencesModal.necessary.description=這些 Cookies 對網站正常運作至關重要。它們讓核心功能,像是隱私設定、登入、填入表格能夠運作——這也是為什麼它們不能被關掉。
cookieBanner.preferencesModal.analytics.title=分析 Cookies
cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在建社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件
cookieBanner.preferencesModal.analytics.description=這些 Cookies 幫助我們分析您如何使用我們的工具,好讓我們能專注在社群最重視的功能。儘管放心—— Stirling PDF 不會且永不追蹤您的文件
#fakeScan
fakeScan.title=Fake Scan

View File

@ -7,20 +7,22 @@
</head>
<body>
<th:block th:insert="~{fragments/common :: game}"></th:block>
<div id="page-container">
<div id="content-wrap">
<th:block th:insert="~{fragments/navbar.html :: navbar}"></th:block>
<div class="container py-4">
<div class="mt-4"></div>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card shadow-sm">
<div class="card-body">
<div class="col-md-6 bg-card">
<div class="tool-header">
<span class="material-symbols-rounded tool-header-icon convertto">email</span>
<span class="tool-header-text" th:text="#{EMLToPDF.header}"></span>
</div>
<p th:text="#{processTimeWarning}"></p>
<form method="post" enctype="multipart/form-data" th:action="@{'/api/v1/convert/eml/pdf'}" class="mt-4">
<div th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='.eml,message/rfc822')}">
<div
th:replace="~{fragments/common :: fileSelector(name='fileInput', multipleInputsForSingleRequest=false, accept='.eml,message/rfc822')}">
</div>
<div class="form-check mb-3">
@ -39,8 +41,6 @@
<label for="maxAttachmentSizeMB" class="form-label" th:text="#{EMLToPDF.maxAttachmentSize}"></label>
<input type="number" class="form-control" id="maxAttachmentSizeMB" name="maxAttachmentSizeMB" value="10" min="1" max="100">
</div>
</div>
<div class="mb-4">
@ -59,10 +59,12 @@
</div>
</div>
<div>
<br />
<button type="submit" id="submitBtn" class="btn btn-primary" th:text="#{EMLToPDF.submit}"></button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@ -75,11 +77,13 @@
const downloadHtml = document.getElementById('downloadHtml');
const pdfOnlyOptions = document.getElementById('pdfOnlyOptions');
const submitBtn = document.getElementById('submitBtn');
const submitText = /*[[#{EMLToPDF.submit}]]*/ 'Convert to PDF';
const downloadHtmlText = 'Download HTML intermediate file instead of PDF';
function updateFormState() {
if (pdfOnlyOptions && submitBtn) {
pdfOnlyOptions.style.display = downloadHtml.checked ? 'none' : 'block';
submitBtn.textContent = downloadHtml.checked ? 'Download HTML' : '[[#{EMLToPDF.submit}]]';
submitBtn.textContent = downloadHtml.checked ? downloadHtmlText : submitText;
}
}

View File

@ -7,7 +7,7 @@
behave==1.2.6 \
--hash=sha256:b9662327aa53294c1351b0a9c369093ccec1d21026f050c3bd9b3e5cccf81a86 \
--hash=sha256:ebda1a6c9e5bfe95c5f9f0a2794e01c7098b3dde86c10a95d8621c5907ff6f1c
# via -r cucumber\requirements.in
# via -r requirements.in
certifi==2024.12.14 \
--hash=sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56 \
--hash=sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db
@ -230,19 +230,19 @@ pycryptodome==3.21.0 \
--hash=sha256:f35e442630bc4bc2e1878482d6f59ea22e280d7121d7adeaedba58c23ab6386b \
--hash=sha256:f7787e0d469bdae763b876174cf2e6c0f7be79808af26b1da96f1a64bcf47297 \
--hash=sha256:ff99f952db3db2fbe98a0b355175f93ec334ba3d01bbde25ad3a5a33abc02b58
# via -r cucumber\requirements.in
# via -r requirements.in
pypdf==5.1.0 \
--hash=sha256:3bd4f503f4ebc58bae40d81e81a9176c400cbbac2ba2d877367595fb524dfdfc \
--hash=sha256:425a129abb1614183fd1aca6982f650b47f8026867c0ce7c4b9f281c443d2740
# via -r cucumber\requirements.in
# via -r requirements.in
reportlab==4.2.5 \
--hash=sha256:5cf35b8fd609b68080ac7bbb0ae1e376104f7d5f7b2d3914c7adc63f2593941f \
--hash=sha256:eb2745525a982d9880babb991619e97ac3f661fae30571b7d50387026ca765ee
# via -r cucumber\requirements.in
requests==2.32.3 \
--hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \
--hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6
# via -r cucumber\requirements.in
# via -r requirements.in
requests==2.32.4 \
--hash=sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c \
--hash=sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422
# via -r requirements.in
six==1.17.0 \
--hash=sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274 \
--hash=sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81