This commit is contained in:
xunbu committed 2025-12-17 22:54:24 +08:00
1 parent c5658afcd9
commit 55de372eba
2 files changed
+10 -4

No files matched your search

+9 -3
View File
@@ -65,8 +65,8 @@
"mineruDeployLangListLabel": "语言列表 (Pipeline模式)",
"mineruDeployServerUrlLabel": "Server URL",
"mineruDeployServerUrlPlaceholder": "例如: http://127.0.0.1:30000",
"mineruDeployStartPageLabel": "起始页面",
"mineruDeployEndPageLabel": "结束页面",
"mineruDeployStartPageLabel": "起始页码",
"mineruDeployEndPageLabel": "结束页码",
"mineruDeployFormulaEnableLabel": "启用公式解析",
"formulaOcrLabel": "公式识别",
"codeOcrLabel": "代码识别",
@@ -97,6 +97,9 @@
"resetBtn": "重置",
"concurrentLabel": "并发数",
"retryLabel": "重试次数",
"rpmLabel": "每分钟请求数",
"tpmLabel": "每分钟Token数(估算)",
"unlimitedPlaceholder": "留空为无限制",
"glossaryGenTitle": "术语表",
"glossaryLabel": "术语表 (可选)",
"glossaryHelp": "选择一个或多个CSV文件。文件需包含'src'和'dst'两列标题,分别代表原文和译文。",
@@ -226,7 +229,7 @@
"modelVersionVlm": "VLM",
"modelVersionPipline": "Pipeline",
"modelVersionHelp": "Mineru VLM is a newer internal test model.",
"mineruDeployBaseUrlLabel": "Service Address (Base URL)",
"mineruDeployBaseUrlLabel": "Service URL (Base URL)",
"mineruDeployBaseUrlPlaceholder": "e.g., http://127.0.0.1:8000",
"mineruDeployBackendLabel": "Backend Type",
"mineruDeployLangListLabel": "Language List (Pipeline Mode)",
@@ -264,6 +267,9 @@
"resetBtn": "Reset",
"concurrentLabel": "Concurrency",
"retryLabel": "Retries",
"rpmLabel": "Requests Per Minute",
"tpmLabel": "Tokens Per Minute(Estimated)",
"unlimitedPlaceholder": "Leave empty for unlimited",
"glossaryGenTitle": "Glossary",
"glossaryLabel": "Glossary (Optional)",
"glossaryHelp": "Select one or more CSV files. Files must contain 'src' and 'dst' headers, representing source and destination terms.",
+1 -1
View File
@@ -1 +1 @@
<!DOCTYPE html> <html lang="zh-CN" data-bs-theme="auto"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DocuTranslate - 交互式文档翻译</title> <link rel="icon" href="/static/favicon.ico" type="image/x-icon"> <!-- Bootstrap CSS --> <link href="/static/bootstrap.css" rel="stylesheet" crossorigin="anonymous"> <!-- Bootstrap Icons --> <link rel="stylesheet" href="/static/bootstrap-icons.css"> <style> /* 复用原版 CSS */ body { background-color: var(--bs-body-bg); } button:focus { outline: none !important; box-shadow: none !important; } .main-container { display: flex; flex-direction: column; height: 100vh; padding-top: 1rem; padding-bottom: 1rem; } .settings-panel { height: calc(100vh - 2rem); overflow-y: auto; padding-right: 15px; } .task-area { height: calc(100vh - 2rem); overflow-y: auto; } .task-card { transition: all 0.3s ease-in-out; } .log-area { height: 150px; background-color: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: .375rem; font-family: monospace; font-size: 0.8rem; padding: 10px; overflow-y: auto; white-space: pre-wrap; word-break: break-all; } .log-area-wrapper { position: relative; } .copy-log-btn { position: absolute; bottom: 5px; right: 5px; z-index: 10; opacity: 0.5; transition: all 0.2s ease-in-out; padding: 0.1rem 0.4rem; line-height: 1; } .copy-log-btn:hover { opacity: 1; } .file-drop-area { border: 2px dashed var(--bs-secondary-bg); border-radius: .375rem; padding: 2rem; text-align: center; cursor: pointer; transition: all 0.2s ease-in-out; background-color: var(--bs-body-bg); } .file-drop-area.drag-over { border-color: var(--bs-primary); background-color: var(--bs-secondary-bg); } .file-drop-area.file-selected { border-style: solid; border-color: var(--bs-success); background-color: var(--bs-success-bg-subtle); } .file-drop-area.input-error { border-color: var(--bs-danger); } #previewOffcanvas { --bs-offcanvas-width: 95vw; max-width: 1600px; } .preview-split-container { display: flex; flex-direction: row; height: 90%; } .preview-pane-wrapper { display: flex; flex-direction: column; overflow: hidden; width: 100%; height: 100%; } .preview-pane-wrapper .preview-pane { flex-grow: 1; border: 1px solid var(--bs-border-color); border-radius: .375rem; overflow: auto; position: relative; } .gutter { background-color: var(--bs-tertiary-bg); background-repeat: no-repeat; background-position: 50%; } .gutter.gutter-horizontal { cursor: col-resize; border-left: 1px solid var(--bs-border-color); border-right: 1px solid var(--bs-border-color); } .gutter.gutter-vertical { cursor: row-resize; border-top: 1px solid var(--bs-border-color); border-bottom: 1px solid var(--bs-border-color); } .preview-pane iframe { width: 100%; height: 100%; border: none; } .preview-pane pre { margin: 0; padding: 1rem; background-color: var(--bs-body-bg); white-space: pre; } .bottom-left-controls { position: fixed; bottom: 1rem; left: 1rem; z-index: 1050; display: flex; gap: 0.5rem; } .step-number { margin-right: 0.25rem; } #translatedPreviewContainer .preview-pane { overflow: hidden; } #translatedPreviewContainer .preview-pane iframe { display: block; width: 100%; height: 100%; } .lang-list-container { max-height: 200px; overflow-y: auto; border: 1px solid var(--bs-border-color); border-radius: 0.375rem; paddinLine truncated
<!DOCTYPE html> <html lang="zh-CN" data-bs-theme="auto"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>DocuTranslate - 交互式文档翻译</title> <link rel="icon" href="/static/favicon.ico" type="image/x-icon"> <!-- Bootstrap CSS --> <link href="/static/bootstrap.css" rel="stylesheet" crossorigin="anonymous"> <!-- Bootstrap Icons --> <link rel="stylesheet" href="/static/bootstrap-icons.css"> <style> /* 复用原版 CSS */ body { background-color: var(--bs-body-bg); } button:focus { outline: none !important; box-shadow: none !important; } .main-container { display: flex; flex-direction: column; height: 100vh; padding-top: 1rem; padding-bottom: 1rem; } .settings-panel { height: calc(100vh - 2rem); overflow-y: auto; padding-right: 15px; } .task-area { height: calc(100vh - 2rem); overflow-y: auto; } .task-card { transition: all 0.3s ease-in-out; } .log-area { height: 150px; background-color: var(--bs-tertiary-bg); border: 1px solid var(--bs-border-color); border-radius: .375rem; font-family: monospace; font-size: 0.8rem; padding: 10px; overflow-y: auto; white-space: pre-wrap; word-break: break-all; } .log-area-wrapper { position: relative; } .copy-log-btn { position: absolute; bottom: 5px; right: 5px; z-index: 10; opacity: 0.5; transition: all 0.2s ease-in-out; padding: 0.1rem 0.4rem; line-height: 1; } .copy-log-btn:hover { opacity: 1; } .file-drop-area { border: 2px dashed var(--bs-secondary-bg); border-radius: .375rem; padding: 2rem; text-align: center; cursor: pointer; transition: all 0.2s ease-in-out; background-color: var(--bs-body-bg); } .file-drop-area.drag-over { border-color: var(--bs-primary); background-color: var(--bs-secondary-bg); } .file-drop-area.file-selected { border-style: solid; border-color: var(--bs-success); background-color: var(--bs-success-bg-subtle); } .file-drop-area.input-error { border-color: var(--bs-danger); } #previewOffcanvas { --bs-offcanvas-width: 95vw; max-width: 1600px; } .preview-split-container { display: flex; flex-direction: row; height: 90%; } .preview-pane-wrapper { display: flex; flex-direction: column; overflow: hidden; width: 100%; height: 100%; } .preview-pane-wrapper .preview-pane { flex-grow: 1; border: 1px solid var(--bs-border-color); border-radius: .375rem; overflow: auto; position: relative; } .gutter { background-color: var(--bs-tertiary-bg); background-repeat: no-repeat; background-position: 50%; } .gutter.gutter-horizontal { cursor: col-resize; border-left: 1px solid var(--bs-border-color); border-right: 1px solid var(--bs-border-color); } .gutter.gutter-vertical { cursor: row-resize; border-top: 1px solid var(--bs-border-color); border-bottom: 1px solid var(--bs-border-color); } .preview-pane iframe { width: 100%; height: 100%; border: none; } .preview-pane pre { margin: 0; padding: 1rem; background-color: var(--bs-body-bg); white-space: pre; } .bottom-left-controls { position: fixed; bottom: 1rem; left: 1rem; z-index: 1050; display: flex; gap: 0.5rem; } .step-number { margin-right: 0.25rem; } #translatedPreviewContainer .preview-pane { overflow: hidden; } #translatedPreviewContainer .preview-pane iframe { display: block; width: 100%; height: 100%; } .lang-list-container { max-height: 200px; overflow-y: auto; border: 1px solid var(--bs-border-color); border-radius: 0.375rem; paddinLine truncated