diff --git a/docutranslate/static/i18nData.json b/docutranslate/static/i18nData.json index 5a35106..c4b3410 100644 --- a/docutranslate/static/i18nData.json +++ b/docutranslate/static/i18nData.json @@ -43,9 +43,12 @@ "jsonSettingsTitleText": "JSON路径配置", "jsonPathLabel": "需要翻译的JSON路径", "jsonPathPlaceholder": "每行一个路径, 例如:\n$.name\n$.*", - "jsonPathHelp": "采用jsonpath-ng的路径选择语法,每一行表示一个json路径。\n 将翻译路径匹配对象内的所有字符串", + "jsonPathHelp": "采用jsonpath-ng的路径选择语法,每一行表示一个json路径。 将翻译路径匹配对象内的所有字符串", "parsingSettingsTitleText": "解析配置", "parsingEngineLabel": "解析引擎", + "engineOptionIdentity": "已经是markdown格式", + "engineOptionMineru": "Mineru(图片/扫描PDF)", + "engineOptionDocling": "Docling(普通PDF)", "parsingEngineHelp": "如果上传的文件本身是.md格式,此项可不选。", "getMineruTokenTitle": "获取Mineru Token", "mineruTokenPlaceholder": "使用Mineru引擎时需要", @@ -62,8 +65,9 @@ "baseUrlLabel": "API 地址 (Base URL)", "baseUrlPlaceholder": "OpenAi兼容地址", "getApiKeyTitle": "获取API Key", + "apiHrefInfo302ai": "👈通过该入口注册可获取1美元免费额度", "apiKeyPlaceholder": "请输入您的API Key", - "modelIdLabel": "选择模型", + "modelIdLabel": "模型ID", "modelIdPlaceholder": "例如: gpt-4o, glm-4", "systemProxyLabel": "启用系统代理", "translationSettingsTitleText": "翻译配置", @@ -71,7 +75,7 @@ "targetLanguageCustom": "其它 (自定义)", "customLangPlaceholder": "请输入目标语言, 例如: Italian", "thinkingModeLabel": "思考模式", - "thinkingModeTooltip": "设置混合推理模型是否进行思考,目前支持智谱的glm4.5系列、火山引擎的seed1.6系列、硅基流动平台、google的gemini系列,建议选择禁用思考", + "thinkingModeTooltip": "设置混合推理模型是否进行思考,目前支持智谱的glm4.5系列、火山引擎的seed1.6系列、硅基流动平台、google的gemini系列、302AI(部分),建议选择禁用思考", "thinkingModeEnable": "启用", "thinkingModeDisable": "禁用(推荐)", "thinkingModeDefault": "默认", @@ -99,7 +103,7 @@ "taskCardIdPlaceholder": "等待提交...", "taskCardFileDrop": "点击或拖拽文件到此处", "taskCardFileSelected": "文件已选择", - "taskCardFilenameLabel": "文件名", + "taskCardFilenameLabel": "文件名: ", "taskCardLogLabel": "日志", "taskCardStatusWaiting": "等待上传文件...", "taskCardPreviewBtn": "预览", @@ -132,12 +136,9 @@ "glossaryTableDestination": "译文 (dst)", "init_i18n_failed_alert": "加载界面翻译资源失败,请检查网络连接或联系管理员。", "init_failed_alert": "初始化失败,无法连接到后端服务。请检查服务是否运行或刷新页面。", - "glossaryEmpty": "术语表为空", - "engineOptionIdentity": "已经是markdown格式", - "engineOptionMineru": "Mineru", - "engineOptionDocling": "Docling", - "status_selectFileFirst": "请先选择文件!", - "status_fillRequired": "请填写所有必填项!", + "glossaryEmpty": "术语表为空。", + "status_selectFileFirst": "请先选择一个文件。", + "status_fillRequired": "请填写所有必填项。", "btn_initializing": "初始化中...", "status_encodingAndSubmitting": "文件编码和提交中...", "status_requestOk": "请求成功,任务已开始。", @@ -147,27 +148,27 @@ "status_cancelling": "取消中...", "status_cancelSent": "取消请求已发送。", "status_cancelFail": "取消失败", - "btn_reTranslate": "重新翻译", "status_gettingStatus": "获取状态中...", - "status_updateError": "状态更新失败。", - "admin_tasklist_failed": "管理员模式:加载任务列表失败。", + "btn_reTranslate": "重新翻译", + "status_updateError": "状态更新出错。", "preview_loading": "加载预览中...", - "preview_cantReadOriginal": "无法读取原文文件内容进行预览。", - "preview_cantPreviewType": "不支持预览此文件类型", - "preview_noOriginalCache": "无原文文件缓存,无法预览。", - "preview_loadFailed": "预览加载失败。", + "preview_cantReadOriginal": "无法读取原文内容。", + "preview_cantPreviewType": "无法预览此文件类型", + "preview_noOriginalCache": "未缓存原始文件,无法预览。", + "preview_loadFailed": "加载预览失败。", "pdf_preparing": "正在准备PDF...", - "pdf_print_failed": "调用打印功能失败。请检查浏览器设置或手动保存为PDF。", - "pdf_fetch_failed": "获取预览内容失败,无法生成PDF。", + "pdf_print_failed": "打印PDF失败,请尝试手动下载HTML并使用浏览器打印。", + "pdf_fetch_failed": "获取翻译内容失败,无法生成PDF。", "preview_bilingual": "双语预览", - "preview_translatedOnly": "仅译文预览" + "preview_translatedOnly": "仅译文预览", + "admin_tasklist_failed": "管理员模式:加载任务列表失败。" }, "en": { "pageTitle": "DocuTranslate - Interactive Document Translation", "tutorialBtn": "Tutorial", "projectContributeBtn": "Contribute", "workflowTitle": "Select Workflow", - "workflowOptionMarkdown": "To Markdown then Translate (.pdf/.md/.png, etc.)", + "workflowOptionMarkdown": "Convert to Markdown then Translate (.pdf/.md/.png, etc.)", "workflowOptionTxt": "Plain Text Translation (.txt)", "workflowOptionEpub": "EPUB Translation (.epub)", "workflowOptionDocx": "DOCX Translation (.docx)", @@ -179,20 +180,20 @@ "autoWorkflowLabel": "Auto-select workflow", "txtSettingsTitleText": "TXT Translation Options", "insertModeLabel": "Insert Mode", - "insertModeReplace": "Replace Original", - "insertModeAppend": "Append to Original", - "insertModePrepend": "Prepend to Original", + "insertModeReplace": "Replace Original (Replace)", + "insertModeAppend": "Append to Original (Append)", + "insertModePrepend": "Prepend to Original (Prepend)", "insertModeHelpTxt": "Choose how to insert the translated text.", "separatorLabel": "Separator", "separatorPlaceholderSimple": "e.g., \\n---\\n", - "separatorHelp": "Characters to separate original and translated text in 'Append' or 'Prepend' mode. \\n represents a newline.", + "separatorHelp": "Character(s) to separate original and translated text in append/prepend mode. \\n represents a newline.", "docxSettingsTitleText": "DOCX Translation Options", "insertModeHelpDocx": "Choose how to insert the translated text.", "separatorPlaceholder": "e.g., \\n---translation---\\n", "xlsxSettingsTitleText": "XLSX Translation Options", - "insertModeHelpXlsx": "Choose how to insert translated text into cells.", - "xlsxTranslateRegionsLabel": "Translate Regions (Optional)", - "xlsxTranslateRegionsPlaceholder": "One region per line, e.g., Sheet1!A1:B10 (applies to all sheets if sheet name is omitted)", + "insertModeHelpXlsx": "Choose how to insert the translated text into cells.", + "xlsxTranslateRegionsLabel": "Translation Regions (Optional)", + "xlsxTranslateRegionsPlaceholder": "One region per line, e.g., Sheet1!A1:B10 (if sheet name is omitted, it applies to all sheets)", "srtSettingsTitleText": "SRT Translation Options", "insertModeHelpSrt": "Choose how to insert the translated text.", "epubSettingsTitleText": "EPUB Translation Options", @@ -202,20 +203,23 @@ "assSettingsTitleText": "ASS Translation Options", "insertModeHelpAss": "Choose how to insert the translated text.", "separatorPlaceholderAss": "e.g., \\N (newline)", - "separatorHelpAss": "Characters to separate original and translated text in 'Append' or 'Prepend' mode. \\N is the newline for ASS format.", + "separatorHelpAss": "Character(s) to separate original and translated text in append/prepend mode. \\N is the newline character for the ASS format.", "jsonSettingsTitleText": "JSON Path Configuration", - "jsonPathLabel": "JSON paths to translate", + "jsonPathLabel": "JSON Paths to Translate", "jsonPathPlaceholder": "One path per line, e.g.:\n$.name\n$.*", - "jsonPathHelp": "Uses jsonpath-ng syntax. Each line represents a JSON path. All strings within the matched objects will be translated.", + "jsonPathHelp": "Uses jsonpath-ng syntax. Enter one JSON path per line. All strings within the matched objects will be translated.", "parsingSettingsTitleText": "Parsing Configuration", "parsingEngineLabel": "Parsing Engine", - "parsingEngineHelp": "This can be skipped if the uploaded file is already in .md format.", + "engineOptionIdentity": "Already in Markdown format", + "engineOptionMineru": "Mineru (Images/Scanned PDFs)", + "engineOptionDocling": "Docling (Regular PDFs)", + "parsingEngineHelp": "If the uploaded file is already in .md format, this option can be skipped.", "getMineruTokenTitle": "Get Mineru Token", "mineruTokenPlaceholder": "Required when using Mineru engine", "modelVersionLabel": "Mineru Model Version", "modelVersionVlm": "VLM", "modelVersionPipline": "Pipeline", - "modelVersionHelp": "Mineru VLM is a newer internal test model.", + "modelVersionHelp": "Mineru VLM is a newer model in closed beta.", "formulaOcrLabel": "Formula Recognition", "codeOcrLabel": "Code Recognition", "aiSettingsTitleText": "Translation Model", @@ -225,8 +229,9 @@ "baseUrlLabel": "API Address (Base URL)", "baseUrlPlaceholder": "OpenAI-compatible address", "getApiKeyTitle": "Get API Key", + "apiHrefInfo302ai": "👈 Register via this link to get a $1 free credit", "apiKeyPlaceholder": "Please enter your API Key", - "modelIdLabel": "Select Model", + "modelIdLabel": "Model ID", "modelIdPlaceholder": "e.g., gpt-4o, glm-4", "systemProxyLabel": "Enable System Proxy", "translationSettingsTitleText": "Translation Configuration", @@ -234,43 +239,43 @@ "targetLanguageCustom": "Other (Custom)", "customLangPlaceholder": "Enter target language, e.g., Italian", "thinkingModeLabel": "Thinking Mode", - "thinkingModeTooltip": "Sets whether hybrid inference models should 'think'. Supported by Zhipu glm4.5 series, Volcengine seed1.6 series, SiliconFlow platform, Google Gemini series. Disabling is recommended.", + "thinkingModeTooltip": "Set whether the hybrid inference model should 'think'. Supported by Zhipu's glm4.5 series, Volcengine's seed1.6 series, SiliconFlow, Google's Gemini series, and 302AI (partially). Disabling thinking is recommended.", "thinkingModeEnable": "Enable", "thinkingModeDisable": "Disable (Recommended)", "thinkingModeDefault": "Default", "customPromptLabel": "Custom Prompt", - "customPromptPlaceholder": "Optional, e.g., 'Keep names in their original language'", + "customPromptPlaceholder": "Optional, e.g., 'Do not translate proper names'", "chunkSizeLabel": "Chunk Size", "resetBtn": "Reset", "concurrentLabel": "Concurrency", "retryLabel": "Retry Count", "glossaryGenTitle": "Glossary", "glossaryLabel": "Glossary (Optional)", - "glossaryHelp": "Select one or more CSV files. Files must contain 'src' and 'dst' headers for source and destination terms.", + "glossaryHelp": "Select one or more CSV files. Files must contain 'src' and 'dst' column headers for source and destination terms, respectively.", "viewGlossaryBtn": "View Glossary", "clearGlossaryBtn": "Clear", "glossaryGenEnableLabel": "Auto-generate Glossary", "glossaryGenConfigLabel": "Glossary Generation Config", "glossaryGenConfigSame": "Same as Translation Config", "glossaryGenConfigCustom": "Custom", - "githubInfo": "GitHub Homepage (Star us ❤):
https://github.com/xunbu/docutranslate", + "githubInfo": "GitHub Repo (Stars welcome❤):
https://github.com/xunbu/docutranslate", "qqGroupInfo": "QQ Group: 1047781902", "taskListTitle": "Task List", "newTaskBtn": "New Task", "noTaskPlaceholder": "No tasks yet. Click 'New Task' to get started!", "taskCardIdLabel": "Task ID", - "taskCardIdPlaceholder": "Waiting for submission...", + "taskCardIdPlaceholder": "Awaiting submission...", "taskCardFileDrop": "Click or drag file here", "taskCardFileSelected": "File selected", - "taskCardFilenameLabel": "Filename", - "taskCardLogLabel": "Log", + "taskCardFilenameLabel": "Filename: ", + "taskCardLogLabel": "Logs", "taskCardStatusWaiting": "Waiting for file upload...", "taskCardPreviewBtn": "Preview", "taskCardDownloadBtn": "Download", "taskCardAttachmentBtn": "Attachments", "taskCardStartBtn": "Start Translation", - "downloadMdEmbedded": "Markdown (Embedded Img)", - "downloadMdZip": "Markdown (Zip)", + "downloadMdEmbedded": "Markdown (Embedded Images)", + "downloadMdZip": "Markdown (ZIP)", "downloadAss": "ASS", "previewTitle": "Preview", "previewBilingualBtn": "Bilingual", @@ -280,13 +285,13 @@ "closeBtn": "Close", "downloadBtn": "Download", "tutorialModalTitle": "User Guide", - "tutorialModalBody": "

Video tutorials are available; you can search for docutranslate on YouTube.

Welcome to DocuTranslate! Follow these steps to translate your documents:

  1. Step 1: Select Workflow

    At the top of the left settings panel, first choose the processing flow that best suits your file type.

    Tip: 'Auto-select workflow' is enabled by default. Just upload your file, and the system will automatically match the appropriate workflow for you.

  2. Step 2: Configure Parameters

    After selecting a workflow, relevant options will appear below. Please configure them sequentially (all settings are saved automatically in your browser):

    A. Workflow-Specific Options (Appear based on your Step 1 choice):

    B. General Options (Apply to all workflows):

  3. Step 3: Upload File

    In the task list on the right, click or drag your document into the file upload area.

  4. Step 4: Start Translation

    Once the file is selected, click the Start Translation button in the bottom-right corner of the task card. The system will begin processing, and you can monitor real-time progress in the log area.

  5. Step 5: View and Download

    After the translation is complete, action buttons will appear on the task card:

Important Note: All your settings are automatically saved locally in your browser for future use.
", + "tutorialModalBody": "

Video tutorials are available on Bilibili by searching for docutranslate.

Welcome to DocuTranslate! Follow these steps to translate your documents:

  1. Step 1: Select a Workflow

    At the top of the left settings panel, first choose the processing flow that best suits your file type.

    Tip: 'Auto-select workflow' is enabled by default. Just upload your file, and the system will automatically match it to the appropriate workflow for simplified operation.

  2. Step 2: Configure Parameters

    After selecting a workflow, relevant configuration options will appear below. Please complete the settings in order (all configurations are automatically saved in your browser):

    A. Workflow-Specific Options (Appear based on your choice in Step 1):

    B. General Options (Apply to all workflows):

  3. Step 3: Upload File

    In the task list on the right, click or drag your document into the file upload area.

  4. Step 4: Start Translation

    Once the file is selected, click the Start Translation button on the task card. The system will begin processing, and you can monitor real-time progress in the log area.

  5. Step 5: View & Download

    After the translation is complete, action buttons will appear on the task card:

Important Note: All settings are automatically saved locally in your browser for your convenience.
", "tutorialUnderstandBtn": "I understand", "contributorsModalTitle": "Thanks for Contributing", - "contributorsPara1": "DocuTranslate is an open-source project! The needs and usage of the community are the driving force behind its progress.", - "contributorsPara2": "A heartfelt thank you to everyone who has sponsored the project, submitted code, provided valuable suggestions, and starred the repository!", - "contributorsWelcome": "You are welcome to contribute in the following ways:", - "contributorsGithub": "GitHub Page", + "contributorsPara1": "DocuTranslate is an open-source project! Your needs and usage are the driving force behind its progress.", + "contributorsPara2": "A huge thank you to everyone who has sponsored the project, submitted code, provided valuable suggestions, and starred the repository!", + "contributorsWelcome": "You're welcome to contribute in the following ways:", + "contributorsGithub": "GitHub Repo", "contributorsPR": "Submit a Pull Request", "contributorsIssue": "Report an Issue", "contributorsQQ": "Or contact the author via QQ Group: 1047781902", @@ -295,12 +300,9 @@ "glossaryTableDestination": "Destination (dst)", "init_i18n_failed_alert": "Failed to load interface translations. Please check your network connection or contact an administrator.", "init_failed_alert": "Initialization failed, could not connect to the backend service. Please ensure the service is running and refresh the page.", - "glossaryEmpty": "Glossary is empty", - "engineOptionIdentity": "Already in markdown format", - "engineOptionMineru": "Mineru", - "engineOptionDocling": "Docling", - "status_selectFileFirst": "Please select a file first!", - "status_fillRequired": "Please fill in all required fields!", + "glossaryEmpty": "Glossary is empty.", + "status_selectFileFirst": "Please select a file first.", + "status_fillRequired": "Please fill in all required fields.", "btn_initializing": "Initializing...", "status_encodingAndSubmitting": "Encoding and submitting file...", "status_requestOk": "Request successful, task started.", @@ -308,21 +310,21 @@ "status_requestFail": "Request failed", "status_initFail": "Initialization failed", "status_cancelling": "Cancelling...", - "status_cancelSent": "Cancel request sent.", - "status_cancelFail": "Cancellation failed", - "btn_reTranslate": "Re-translate", + "status_cancelSent": "Cancellation request sent.", + "status_cancelFail": "Cancellation failed.", "status_gettingStatus": "Getting status...", - "status_updateError": "Status update failed.", - "admin_tasklist_failed": "Admin mode: Failed to load task list.", + "btn_reTranslate": "Re-translate", + "status_updateError": "Error updating status.", "preview_loading": "Loading preview...", - "preview_cantReadOriginal": "Could not read original file content for preview.", - "preview_cantPreviewType": "Previewing this file type is not supported", - "preview_noOriginalCache": "No original file cached, cannot preview.", + "preview_cantReadOriginal": "Cannot read original content.", + "preview_cantPreviewType": "Cannot preview this file type", + "preview_noOriginalCache": "Original file not cached, cannot preview.", "preview_loadFailed": "Failed to load preview.", "pdf_preparing": "Preparing PDF...", - "pdf_print_failed": "Failed to invoke print function. Please check your browser settings or save as PDF manually.", - "pdf_fetch_failed": "Failed to fetch preview content, cannot generate PDF.", + "pdf_print_failed": "Failed to print PDF. Please try downloading the HTML manually and printing from your browser.", + "pdf_fetch_failed": "Failed to fetch translated content, cannot generate PDF.", "preview_bilingual": "Bilingual Preview", - "preview_translatedOnly": "Translated Only Preview" + "preview_translatedOnly": "Translated-Only Preview", + "admin_tasklist_failed": "Admin Mode: Failed to load task list." } } \ No newline at end of file diff --git a/docutranslate/static/index.html b/docutranslate/static/index.html index e732d21..35e05e4 100644 --- a/docutranslate/static/index.html +++ b/docutranslate/static/index.html @@ -1 +1 @@ - DocuTranslate - 交互式文档翻译

DocuTranslate

如果上传的文件本身是.md格式,此项可不选。
mineru VLM是更新的内测模型。

Base URL:

选择一个或多个CSV文件。文件需包含'src'和'dst'两列标题,分别代表原文和译文。

GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate

交流QQ群: 1047781902

version:

任务列表

LOGO

当前没有任务,点击“新建任务”开始吧!

预览
原文
译文
\ No newline at end of file + DocuTranslate - 交互式文档翻译

DocuTranslate

如果上传的文件本身是.md格式,此项可不选。
mineru VLM是更新的内测模型。

Base URL:

选择一个或多个CSV文件。文件需包含'src'和'dst'两列标题,分别代表原文和译文。

GitHub主页(欢迎star❤):
https://github.com/xunbu/docutranslate

交流QQ群: 1047781902

version:

任务列表

LOGO

当前没有任务,点击“新建任务”开始吧!

预览
原文
译文
\ No newline at end of file