Video tutorials can be found by searching for docutranslate on Bilibili.
Welcome to DocuTranslate! Please follow these steps to translate your documents:
Select a Workflow
First, choose the appropriate translation process from the top of the settings panel. Different workflows are suited for different file types:
Markdown-based Translation: Ideal for translating PDFs, markdown files, images, etc.
Plain Text Translation: For translating .txt and other plain text files.
JSON Translation: For translating specific fields within .json files.
DOCX Translation: For translating .docx files.
XLSX Translation: For translating .xlsx spreadsheets and .csv files.
SRT Subtitle Translation: For translating .srt subtitle files.
EPUB Translation: For translating .epub e-book files.
HTML Translation: For translating .html files.
New Feature: The \"Auto-select workflow\" switch is now enabled by default. Simply upload your file, and the system will automatically match it with the correct workflow to simplify the process.
Configure Parameters
Based on your chosen workflow, complete the necessary configurations. All settings are automatically saved in your browser.
Parsing Settings (Only shown for the \"Markdown-based Translation\" workflow):
Parsing Engine: Select an engine to convert your file (like a PDF) into a translation-friendly Markdown format. This is not required if your file is already in Markdown format.
Mineru Token: If you choose the minerU engine, you must enter your token here.
DOCX/XLSX/SRT/EPUB/HTML Translation Options (Shown for corresponding workflows):
Insert Mode: Defines how the translation is placed in the document or subtitle. You can choose to \"Replace\" the original, \"Append\" after it, or \"Prepend\" before it.
Separator: When using \"Append\" or \"Prepend\" mode, this is used to insert a separator between the original and translated text.
JSON Path Settings (Only shown for the \"JSON Translation\" workflow):
JSON Paths to Translate: Enter one JSONPath expression per line to specify the fields to be translated.
For example: $..description translates all values for the key 'description'. $.items[0].name translates the 'name' value of the first item.
Translation Model:
Select Platform / API Base URL / API Key / Model ID: Configure the AI translation service you wish to use.
Refer to the platform's documentation for the model ID. It is recommended to use non-inference models or hybrid inference models (with thinking mode disabled).
Translation Settings:
Target Language / Custom Prompt / Glossary: Specify the target language for the translation, add any extra instructions, and provide a glossary to ensure the accuracy of specific terms.
Thinking Mode: Sets whether a hybrid inference model should \"think\". Currently supports Zhipu's glm4.5 series, Alibaba Cloud's qwen3 series, and Volcengine's seed1.6 series. Disabling thinking is recommended.
Advanced Parameters:
Chunk Size / Concurrency / Temperature: The size of text chunks sent to the AI, the number of concurrent requests, and the temperature. The default values are usually sufficient.
Upload File
In the task list on the right, click or drag your document into the file upload area.
Start Translation
Once the file is selected, click the Start Translation button on the task card. The system will begin processing the task, and you can monitor real-time progress in the log area.
View and Download
After the translation is complete, action buttons will appear on the task card:
Preview: Compare the original and translated text side-by-side in a slide-out panel (for reference only).
Download: Download the translated document in various formats, including PDF, DOCX, XLSX, HTML, and Markdown.
Tip: All settings are automatically saved locally in your browser for your convenience.
",
- "tutorialUnderstandBtn": "Got it",
- "contributorsModalTitle": "Thanks for Contributing",
- "contributorsPara1": "DocuTranslate is an open-source project! The needs and usage of the community drive its progress.",
- "contributorsPara2": "A heartfelt thank you to all friends who have sponsored the project, submitted code, provided valuable suggestions, and starred the project!",
- "contributorsWelcome": "You are welcome to contribute in the following ways:",
- "contributorsGithub": "GitHub Page",
+ "tutorialModalBody": "
Video tutorials are available on Bilibili by searching for docutranslate.
Welcome to DocuTranslate! Follow these steps to translate your documents:
Select Workflow
First, choose your desired translation process from the top of the settings panel. Different workflows are suited for different file types:
Translate via Markdown: Ideal for translating PDF, Markdown, images, etc.
Plain Text Translation: For .txt and other plain text files.
JSON Translation: For translating specific fields in .json files.
DOCX Translation: For translating .docx files.
XLSX Translation: For translating .xlsx spreadsheets and .csv files.
SRT Subtitle Translation: For translating .srt subtitle files.
EPUB Translation: For translating .epub e-book files.
HTML Translation: For translating .html files.
New Feature: The 'Auto-select workflow' switch is now on by default. Just upload your file, and the system will automatically match it to the appropriate workflow for you.
Configure Parameters
Configure the settings based on your chosen workflow. All settings are automatically saved in your browser.
Parsing Config (only for 'Translate via Markdown' workflow):
Parsing Engine: Choose an engine to convert your file (like a PDF) into a translation-friendly Markdown format. No selection is needed if your file is already Markdown.
Mineru Token: If you select the minerU engine, you must enter your token here.
DOCX/XLSX/SRT/EPUB/HTML Options (for their respective workflows):
Insert Mode: Define how the translation result is placed in the document. You can 'Replace' the original, 'Append' after it, or 'Prepend' before it.
Separator: When using 'Append' or 'Prepend', this is used to insert a separator between the original and translated text.
JSON Path Config (only for 'JSON Translation' workflow):
JSON Paths to Translate: Enter one JSONPath expression per line to specify which fields to translate.
Example: $..description translates all values with the key 'description'. $.items[0].name translates the 'name' of the first item.
Translation Model:
Platform/API Base URL/API Key/Model ID: Configure the AI translation service you want to use.
Refer to the platform's documentation for model IDs. It's recommended to use non-inference or hybrid models (with thinking disabled).
Translation Config:
Target Language/Custom Prompt/Glossary: Specify the target language, add extra instructions, and provide a glossary to ensure term accuracy.
Thinking Mode: Set whether a hybrid inference model should 'think'. Supported models include Zhipu's glm4.5 series, Alibaba's qwen3 series, and Volcengine's seed1.6 series. Disabling thinking is recommended.
Advanced Parameters:
Chunk Size/Concurrency/Temperature: The size of text chunks sent to the AI, the number of concurrent requests, and the temperature. Defaults are usually fine.
Upload File
In the task list on the right, click or drag your document into the file upload area.
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.
View & Download
After the translation is complete, action buttons will appear on the task card:
Preview: Compare the original and translated text side-by-side in a slide-out panel (for reference only).
Download: Download the translation in various formats, including PDF, DOCX, XLSX, HTML, and Markdown.
Tip: All your settings are automatically saved in your browser's local storage for your convenience.
",
+ "tutorialUnderstandBtn": "I understand",
+ "contributorsModalTitle": "Thanks for Contributing!",
+ "contributorsPara1": "DocuTranslate is an open-source project! The community's needs and usage are what drive the project forward.",
+ "contributorsPara2": "A heartfelt thank you to everyone who has funded 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",
+ "contributorsQQ": "Or contact the author via QQ Group: 1047781902",
"glossaryModalTitle": "Current Glossary",
"glossaryTableSource": "Source (src)",
"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.",
- "parsingSettingsTitleText": "Parsing Settings",
- "jsonSettingsTitleText": "JSON Path Settings",
+ "glossaryEmpty": "The glossary is empty.",
+ "parsingSettingsTitleText": "Parsing Config",
+ "jsonSettingsTitleText": "JSON Path Config",
"xlsxSettingsTitleText": "XLSX Translation Options",
"docxSettingsTitleText": "DOCX Translation Options",
"srtSettingsTitleText": "SRT Translation Options",
"epubSettingsTitleText": "EPUB Translation Options",
"htmlSettingsTitleText": "HTML Translation Options",
"aiSettingsTitleText": "Translation Model",
- "translationSettingsTitleText": "Translation Settings",
+ "translationSettingsTitleText": "Translation Config",
"advancedSettingsTitleText": "Advanced Parameters",
- "engineOptionIdentity": "Identity (Copy only)",
+ "engineOptionIdentity": "No Conversion (Identity)",
"engineOptionMineru": "Mineru",
"engineOptionDocling": "Docling",
"status_selectFileFirst": "Please select a file first!",
+ "status_fillRequired": "Please fill in all required fields!",
"status_invalidWorkflow": "Invalid workflow selected.",
- "status_fillRequired": "Please fill in all required fields.",
- "status_releasingOldTask": "Releasing old task...",
+ "status_releasingOldTask": "Releasing old task resources...",
"btn_initializing": "Initializing...",
- "status_encodingAndSubmitting": "Encoding and submitting file...",
- "status_requestOk": "Request successful, task started.",
+ "status_encodingAndSubmitting": "Encoding file and submitting task...",
+ "status_requestOk": "Task submitted successfully, awaiting processing...",
"btn_cancelTranslation": "Cancel Translation",
"status_requestFail": "Request failed",
- "status_initFail": "Initialization failed",
+ "status_initFail": "Failed to start task",
"status_cancelling": "Cancelling...",
"status_cancelSent": "Cancellation request sent.",
"status_cancelFail": "Cancellation failed",
"status_gettingStatus": "Getting status...",
"btn_reTranslate": "Re-translate",
- "status_updateError": "Status update failed.",
+ "status_updateError": "Failed to update status.",
"preview_loading": "Loading preview...",
- "preview_cantReadOriginal": "Cannot read original file content.",
+ "preview_cantReadOriginal": "Could not read original file content.",
"preview_cantPreviewType": "Cannot preview this file type",
- "preview_noOriginalCache": "No original file cached for preview.",
+ "preview_noOriginalCache": "No original file cached. Please re-upload to preview.",
"preview_loadFailed": "Failed to load preview.",
"pdf_preparing": "Preparing PDF...",
- "pdf_print_failed": "Failed to invoke print function. Please try saving to PDF manually.",
- "pdf_fetch_failed": "Failed to fetch translated content, cannot generate PDF.",
+ "pdf_print_failed": "Print/Save as PDF failed. This may be due to browser restrictions or preview content issues.",
+ "pdf_fetch_failed": "Failed to fetch preview content, cannot generate PDF.",
"preview_bilingual": "Bilingual Preview",
"preview_translatedOnly": "Translated Only Preview",
- "admin_tasklist_failed": "Admin Mode: Failed to get task list from server."
+ "admin_tasklist_failed": "Admin mode: Failed to load task list from server."
}
}
\ No newline at end of file
diff --git a/docutranslate/static/index.html b/docutranslate/static/index.html
index d5df520..4fb32e5 100644
--- a/docutranslate/static/index.html
+++ b/docutranslate/static/index.html
@@ -1 +1 @@
-
DocuTranslate - 交互式文档翻译