Merge remote-tracking branch 'origin/main' into cleanups

This commit is contained in:
Anthony Stirling 2023-05-11 14:23:51 +01:00
commit 80968ee6c4
5 changed files with 410 additions and 13 deletions

View file

@ -17,8 +17,9 @@ server.error.include-exception=true
server.error.include-message=always
server.servlet.session.tracking-modes=cookie
server.servlet.context-path=${APP_ROOT_PATH:/}
spring.devtools.restart.enabled=true
spring.devtools.livereload.enabled=true
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.encoding=UTF-8

View file

@ -0,0 +1,382 @@
###########
# Generic #
###########
# the direction that the language is written (ltr = left to right, rtl = right to left)
language.direction=ltr
pdfPrompt=选择PDF
multiPdfPrompt=选择多个PDF2个或更多
multiPdfDropPrompt=选择或拖拽所需的PDF
imgPrompt=选择图像
genericSubmit=提交
processTimeWarning=警告:此过程可能需要多达一分钟,具体时间取决于文件大小
pageOrderPrompt=页面顺序(输入逗号分隔的页码列表):
goToPage=
true=True
false=False
unknown=未知
save=保存
close=关闭
#############
# HOME-PAGE #
#############
home.desc=您的本地托管一站式服务满足您的所有PDF需求。
navbar.convert=转换
navbar.security=安全
navbar.other=其他
navbar.darkmode=暗模式
navbar.pageOps=页面操作
home.multiTool.title=PDF多功能工具
home.multiTool.desc=合并、旋转、重新排列和删除PDF页面
home.merge.title=合并
home.merge.desc=轻松合并多个PDF为一个。
home.split.title=拆分
home.split.desc=将 PDF 拆分为多个文档。
home.rotate.title=旋转
home.rotate.desc=旋转PDF。
home.imageToPdf.title=转换图像到PDF
home.imageToPdf.desc=转换图像PNG, JPEG, GIF到 PDF。
home.pdfToImage.title=转换PDF到图像
home.pdfToImage.desc=转换PDF到图像PNG, JPEG, GIF
home.pdfOrganiser.title=整理
home.pdfOrganiser.desc=按任何顺序删除/重新排列页面。
home.addImage.title=在PDF中添加图片
home.addImage.desc=将图像添加到PDF的设定位置上正在完成
home.watermark.title=添加水印
home.watermark.desc=在PDF中添加一个自定义的水印。
home.remove-watermark.title=去除水印
home.remove-watermark.desc=从你的PDF文档中去除水印。
home.permissions.title=更改权限
home.permissions.desc=改变你的PDF文档的权限。
home.removePages.title=删除
home.removePages.desc=从你的PDF文档中删除不需要的页面。
home.addPassword.title=添加密码
home.addPassword.desc=用密码来加密你的PDF文档。
home.removePassword.title=删除密码
home.removePassword.desc=从你的PDF文档中移除密码保护。
home.compressPdfs.title=压缩
home.compressPdfs.desc=压缩PDF文件以减少其文件大小。
home.changeMetadata.title=更改元数据
home.changeMetadata.desc=更改/删除/添加PDF文档的元数据。
home.fileToPDF.title=将文件转换为PDF文件
home.fileToPDF.desc=将几乎所有文件转换为PDFDOCX、PNG、XLS、PPT、TXT等
home.ocr.title=运行OCR/清理扫描
home.ocr.desc=清理和检测PDF中的文本图像并将其重新添加为文本。
home.extractImages.title=提取图像
home.extractImages.desc=从PDF中提取所有的图像并将其保存到压缩包中。
home.pdfToPDFA.title=PDF To PDF/A
home.pdfToPDFA.desc=将PDF转换为PDF/A以便长期保存
home.PDFToWord.title=PDF to Word
home.PDFToWord.desc=将PDF转换为Word格式DOC、DOCX和ODT
home.PDFToPresentation.title=PDF To Presentation
home.PDFToPresentation.desc=将PDF转换成演示文稿格式PPT、PPTX和ODP
home.PDFToText.title=PDF To Text/RTF
home.PDFToText.desc=将PDF转换为文本或RTF格式
home.PDFToHTML.title=PDF To HTML
home.PDFToHTML.desc=将PDF转换为HTML格式
home.PDFToXML.title=PDF To XML
home.PDFToXML.desc=将PDF转换为XML格式
home.ScannerImageSplit.title=检测/分割扫描的照片
home.ScannerImageSplit.desc=从一张照片/PDF中分割出多张照片
ScannerImageSplit.selectText.1=角度阈值:
ScannerImageSplit.selectText.2=设置图像被旋转所需的最小绝对角度默认10
ScannerImageSplit.selectText.3=公差:
ScannerImageSplit.selectText.4=确定估计背景颜色周围的颜色变化范围默认值30
ScannerImageSplit.selectText.5=最小面积:
ScannerImageSplit.selectText.6=设置照片的最小面积阈值默认10000
ScannerImageSplit.selectText.7=最小轮廓面积:
ScannerImageSplit.selectText.8=设置照片的最小轮廓面积阈值。
ScannerImageSplit.selectText.9=边框尺寸:
ScannerImageSplit.selectText.10=设置添加和删除的边框大小以防止输出中出现白边默认值1
navbar.settings=设置
settings.title=设置
settings.update=可更新
settings.appVersion=应用程序版本:
settings.downloadOption.title=选择下载选项(单个文件非压缩文件):
settings.downloadOption.1=在同一窗口打开
settings.downloadOption.2=在新窗口中打开
settings.downloadOption.3=下载文件
settings.zipThreshold=当下载的文件数量超过限制时,将文件压缩。
#OCR
ocr.title=OCR/扫描清理
ocr.header=清理扫描件/OCR光学字符识别
ocr.selectText.1=选择要在PDF中检测的语言列出的语言是目前检测到的
ocr.selectText.2=生成包含OCR文本的文本文件与OCR编辑的PDF一起。
ocr.selectText.3=通过将页面旋转回原位来纠正偏斜的扫描角度
ocr.selectText.4=清理页面降低OCR在噪点中识别到文本的可能。(没有输出变化)
ocr.selectText.5=清洁页面降低OCR在噪点中识别到文本的可能保持输出的清洁。
ocr.selectText.6=忽略有交互式文本的页面只对有图像的页面进行OCR。
ocr.selectText.7=强制OCR将OCR每个页面删除所有的原始文本元素。
ocr.selectText.8=Normal (如果PDF包含文本将出现错误)
ocr.selectText.9=额外设置
ocr.selectText.10=OCR模式
ocr.selectText.11=OCR后移除图像移除所有图像只有在转换步骤中才有用
ocr.selectText.12=渲染类型(高级)
ocr.help=请阅读此文档,了解如何将其用于其他语言和/或不在docker中使用。
ocr.credit=此服务使用OCRmyPDF和Tesseract进行OCR。
ocr.submit=用OCR处理PDF
extractImages.title=提取图像
extractImages.header=提取图像
extractImages.selectText=选择图像格式,将提取的图像转换为
extractImages.submit=提取
#File to PDF
fileToPDF.title=文件转换为PDF
fileToPDF.header=将任何文件转换为PDF。
fileToPDF.credit=本服务使用LibreOffice和Unoconv进行文件转换。
fileToPDF.supportedFileTypes=支持的文件类型应该包括以下几种但是对于支持的格式的完整更新列表请参考LibreOffice文档。
fileToPDF.submit=转换为 PDF
#compress
compress.title=压缩
compress.header=压缩PDF
compress.credit=此服务使用OCRmyPDF进行PDF压缩/优化。
compress.selectText.1=优化水平:
compress.selectText.2=0 (无优化)
compress.selectText.3=1 (默认,无损优化)
compress.selectText.4=2 (有损优化)
compress.selectText.5=3 (有损优化,更激进)
compress.selectText.6=启用快速网络视图线性化PDF
compress.selectText.7=启用有损的JBIG2编码
compress.submit=压缩
#Add image
addImage.title=添加图像
addImage.header=添加图片到PDF (Work in progress)
addImage.everyPage=每一页?
addImage.submit=添加图片
#merge
merge.title=合并
merge.header=合并多个PDF2个以上
merge.submit=合并
#pdfOrganiser
pdfOrganiser.title=页面排序
pdfOrganiser.header=PDF页面排序
pdfOrganiser.submit=重新排列页面
#multiTool
multiTool.title=PDF多功能工具
multiTool.header=PDF多功能工具
#pageRemover
pageRemover.title=删除页面
pageRemover.header=PDF页面移除器
pageRemover.pagesToDelete=要删除的页面(输入一个用逗号分隔的页码列表):
pageRemover.submit=删除页面
#rotate
rotate.title=旋转PDF
rotate.header=旋转PDF
rotate.selectAngle=选择旋转角度以90度的倍数
rotate.submit=旋转
#merge
split.title=拆分PDF
split.header=拆分PDF
split.desc.1=选择希望进行分割的页数
split.desc.2=如选择1,3,7-8将把一个10页的文件分割成6个独立的PDF
split.desc.3=Document #1: Page 1
split.desc.4=Document #2: Page 2 and 3
split.desc.5=Document #3: Page 4, 5 and 6
split.desc.6=Document #4: Page 7
split.desc.7=Document #5: Page 8
split.desc.8=Document #6: Page 9 and 10
split.splitPages=输入要分割的页面:
split.submit=拆分
#merge
imageToPDF.title=图片转PDF
imageToPDF.header=图像转为PDF
imageToPDF.submit=转换
imageToPDF.selectText.1=拉伸至适合的尺寸
imageToPDF.selectText.2=自动旋转PDF
imageToPDF.selectText.3=多文件逻辑(仅在处理多个图像时启用)
imageToPDF.selectText.4=合并成一个PDF文件
imageToPDF.selectText.5=转换为独立的PDF文件
#pdfToImage
pdfToImage.title=PDF to Image
pdfToImage.header=PDF转图片
pdfToImage.selectText=图像格式
pdfToImage.singleOrMultiple=图像结果类型
pdfToImage.single=单张图片
pdfToImage.multi=多张图片
pdfToImage.colorType=颜色类型
pdfToImage.color=颜色
pdfToImage.grey=灰度
pdfToImage.blackwhite=黑白(可能会丢失数据!)。
pdfToImage.submit=转换
#addPassword
addPassword.title=添加密码
addPassword.header=添加密码(加密)。
addPassword.selectText.1=选择要加密的PDF。
addPassword.selectText.2=密码
addPassword.selectText.3=加密密钥长度
addPassword.selectText.4=值越高越强,但值越低兼容性越好。
addPassword.selectText.5=要设置的权限
addPassword.selectText.6=防止文件的拼接。
addPassword.selectText.7=防止内容提取
addPassword.selectText.8=防止为可访问性提取内容
addPassword.selectText.9=防止填写表格
addPassword.selectText.10=防止修改
addPassword.selectText.11=防止修改注释
addPassword.selectText.12=防止打印
addPassword.selectText.13=防止打印不同的格式
addPassword.submit=加密
#watermark
watermark.title=添加水印
watermark.header=添加水印
watermark.selectText.1=选择要添加水印的PDF
watermark.selectText.2=水印文本:
watermark.selectText.3=字体大小:
watermark.selectText.4=旋转0-360
watermark.selectText.5=widthSpacer水平方向上每个水印之间的空间
watermark.selectText.6=heightSpacer每个水印之间的垂直空间
watermark.selectText.7=透明度0% - 100%
watermark.submit=添加水印
#remove-watermark
remove-watermark.title=去除水印
remove-watermark.header=去除水印
remove-watermark.selectText.1=选择要去除水印的PDF
remove-watermark.selectText.2=水印文本:
remove-watermark.submit=移除水印
#Change permissions
permissions.title=更改权限
permissions.header=改变权限
permissions.warning=警告,为了使这些权限不能被改变,建议通过添加密码页面设置密码。
permissions.selectText.1=选择PDF来改变权限
permissions.selectText.2=要设置的权限
permissions.selectText.3=防止文件的拼接
permissions.selectText.4=防止内容提取
permissions.selectText.5=防止提取内容的可访问性
permissions.selectText.6=防止填写表格
permissions.selectText.7=防止修改
permissions.selectText.8=防止修改注释
permissions.selectText.9=防止打印
permissions.selectText.10=防止打印不同的格式
permissions.submit=改变
#remove password
removePassword.title=删除密码
removePassword.header=移除密码(解密)。
removePassword.selectText.1=选择要解密的PDF
removePassword.selectText.2=密码
removePassword.submit=删除
changeMetadata.title=更改元数据
changeMetadata.header=更改元数据
changeMetadata.selectText.1=请编辑你想要改变的变量。
changeMetadata.selectText.2=删除所有元数据
changeMetadata.selectText.3=显示自定义元数据:
changeMetadata.author=作者:
changeMetadata.creationDate=创建日期yyyy/MM/dd HH:mm:ss
changeMetadata.creator=创建者:
changeMetadata.keywords=关键词:
changeMetadata.modDate=修改日期yyyy/MM/dd HH:mm:ss
changeMetadata.producer=生产者:
changeMetadata.subject=主题:
changeMetadata.title=标题:
changeMetadata.trapped=被困:
changeMetadata.selectText.4=其他元数据:
changeMetadata.selectText.5=添加自定义元数据条目
changeMetadata.submit=更改
xlsToPdf.title=Excel转PDF
xlsToPdf.header=Excel转PDF
xlsToPdf.selectText.1=选择要转换的XLS或XLSX Excel表格
xlsToPdf.convert=转换
pdfToPDFA.title=PDF To PDF/A
pdfToPDFA.header=PDF to PDF/A
pdfToPDFA.credit=此服务使用OCRmyPDF进行PDF/A转换
pdfToPDFA.submit=转换
PDFToWord.title=PDF to Word
PDFToWord.header=将PDF转换成Word
PDFToWord.selectText.1=输出文件格式
PDFToWord.credit=此服务使用LibreOffice进行文件转换。
PDFToWord.submit=转换
PDFToPresentation.title=PDF To Presentation
PDFToPresentation.header=将PDF转为演示文稿
PDFToPresentation.selectText.1=输出文件格式
PDFToPresentation.credit=该服务使用LibreOffice进行文件转换。
PDFToPresentation.submit=转换
PDFToText.title=PDF To Text/RTF
PDFToText.header=将PDF转换成文本/RTF
PDFToText.selectText.1=输出文件格式
PDFToText.credit=该服务使用LibreOffice进行文件转换。
PDFToText.submit=转换
PDFToHTML.title=PDF To HTML
PDFToHTML.header=将PDF转换成HTML
PDFToHTML.credit=此服务使用LibreOffice进行文件转换。
PDFToHTML.submit=转换
PDFToXML.title=PDF To XML
PDFToXML.header=将PDF转换为XML
PDFToXML.credit=此服务使用LibreOffice进行文件转换。
PDFToXML.submit=转换

View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 640 480">
<defs>
<path id="a" fill="#ff0" d="M-.6.8 0-1 .6.8-1-.3h2z"/>
</defs>
<path fill="#ee1c25" d="M0 0h640v480H0z"/>
<use xlink:href="#a" width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)"/>
<use xlink:href="#a" width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)"/>
<use xlink:href="#a" width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)"/>
<use xlink:href="#a" width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)"/>
<use xlink:href="#a" width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)"/>
</svg>

After

Width:  |  Height:  |  Size: 795 B

View file

@ -313,19 +313,22 @@ function compareVersions(version1, version2) {
</a>
<div class="dropdown-menu" aria-labelledby="languageDropdown">
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="en_GB">
<img src="/images/flags/gb.svg" alt="icon" width="20" height="15"> English
<img src="images/flags/gb.svg" alt="icon" width="20" height="15"> English
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="ar_AR">
<img src="/images/flags/sa.svg" alt="icon" width="20" height="15"> العربية
<img src="images/flags/sa.svg" alt="icon" width="20" height="15"> العربية
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="de_DE">
<img src="/images/flags/de.svg" alt="icon" width="20" height="15"> Deutsch
<img src="images/flags/de.svg" alt="icon" width="20" height="15"> Deutsch
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="fr_FR">
<img src="/images/flags/fr.svg" alt="icon" width="20" height="15"> Français
<img src="images/flags/fr.svg" alt="icon" width="20" height="15"> Français
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="es_ES">
<img src="/images/flags/es.svg" alt="icon" width="20" height="15"> Español
<img src="images/flags/es.svg" alt="icon" width="20" height="15"> Español
</a>
<a class="dropdown-item lang_dropdown-item" href="" data-language-code="zh_CN">
<img src="images/flags/cn.svg" alt="icon" width="20" height="15"> 简体中文
</a>
</div>
</li>
@ -333,7 +336,7 @@ function compareVersions(version1, version2) {
<li class="nav-item">
<!-- Settings Button -->
<a href="#" class="nav-link" data-toggle="modal" data-target="#settingsModal">
<img class="navbar-icon" src="/images/gear.svg" alt="icon" width="24" height="24">
<img class="navbar-icon" src="images/gear.svg" alt="icon" width="24" height="24">
</a>
</li>

View file

@ -60,11 +60,11 @@
<div id="drag-container"></div>
<script type="module">
import PdfContainer from '/js/multitool/PdfContainer.js';
import DragDropManager from "/js/multitool/DragDropManager.js";
import scrollDivHorizontally from "/js/multitool/horizontalScroll.js";
import ImageHighlighter from "/js/multitool/ImageHighlighter.js";
import PdfActionsManager from '/js/multitool/PdfActionsManager.js';
import PdfContainer from './js/multitool/PdfContainer.js';
import DragDropManager from "./js/multitool/DragDropManager.js";
import scrollDivHorizontally from "./js/multitool/horizontalScroll.js";
import ImageHighlighter from "./js/multitool/ImageHighlighter.js";
import PdfActionsManager from './js/multitool/PdfActionsManager.js';
// enables drag and drop
const dragDropManager = new DragDropManager('drag-container', 'pages-container');
@ -199,4 +199,4 @@
</style>
</body>
</html>
</html>