# Saber-Translator **Repository Path**: zxl1999/Saber-Translator ## Basic Information - **Project Name**: Saber-Translator - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-11-20 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
✨ 你的专属 AI 漫画/图像翻译与编辑神器,支持多种模型、手动标注、精细编辑、会话管理和插件扩展!✨
**求职广告:本人是26届应届本科生,走过路过的老板们给个工作机会好不好😭😭😭😭😭😭😭😭** --- ## ✨ 主要功能 Saber-Translator 提供了一站式的漫画/图像翻译解决方案,集成了从内容导入到编辑输出的完整工作流,其核心功能包括: 1. **灵活的源文件处理**: * 支持上传常见的**图像格式** (如 JPG, PNG, WEBP 等) 和 **PDF** 漫画文件。 * 便捷的**拖拽上传**功能,PDF 文件会自动提取其中包含的图像。 2. **精准的文本区域检测与编辑**: * 采用自训练**YOLOv5** 模型自动检测漫画中的对话气泡和文本区域。 * 强大的**手动标注模式**: * 允许用户在图片上**绘制新的文本框**。 * 支持通过鼠标**拖动**已有的自动检测框或手动框。 * 提供边缘控制点,方便用户**精确调整文本框的大小**。 * 可以**删除**不需要的文本框(单个或全部清除)。 * **“检测所有图片”** 功能可批量对所有已上传图片执行自动文本框检测。 * 手动调整后的文本框将优先用于后续的 OCR 和翻译流程。 3. **多引擎、多语言 OCR 支持**: * **MangaOCR**: 针对**日语**漫画优化,提供高效准确的日文文本识别,支持模型本地缓存和预加载。 * **PaddleOCR**: 强大的通用 OCR 引擎,支持**英语、韩语、繁体中文、法语、德语、俄语、意大利语、西班牙语**等多种语言。模型文件按需下载至本地。 * **百度OCR**: 集成百度云 OCR 服务(需用户提供 API Key),支持标准版和高精度版,提供连接测试。 * **AI 视觉 OCR**: * 支持多种基于大型多模态模型充当ocr引擎进行检测,如 **SiliconFlow, 火山引擎, Google Gemini**。 * 允许用户配置并使用**自定义的 OpenAI 兼容视觉服务**(需提供 Base URL 和 API Key)。 * 支持**普通文本提示词**和更结构化的 **JSON 格式提示词**,以优化识别结果的准确性和可控性。 * 提供 AI 视觉 OCR 服务连接测试。 * 用户可指定 OCR 引擎,或由程序根据源语言自动选择。 4. **多样化的 AI 翻译引擎**: * **云服务 API (需用户配置 API Key)**: * SiliconFlow, DeepSeek, 火山引擎 (Volcano Engine) * 彩云小译, 百度翻译, 有道翻译 * Google Gemini * **本地部署大模型 (通过 API 访问)**: * Ollama (支持多种本地模型如 Llama 3, Qwen 等) * Sakura (专为轻小说和二次元内容优化的本地模型) * 提供 Ollama 和 Sakura 服务的连接测试。 * **自定义 OpenAI 兼容翻译服务**: 允许用户配置自己的 OpenAI 兼容 API (如本地部署的 vLLM, TGW, 通过 API 转发的服务等) 的 Base URL 和 API Key。 * **高级提示词工程**: * 支持用户自定义翻译提示词。 * 区分漫画整体翻译和单句文本框解释的提示词。 * 支持**结构化的 JSON 格式提示词**,引导 AI 输出更精确、格式更规范的翻译结果(可通过 UI 切换)。 * **RPM (每分钟请求数) 控制**: 用户可为翻译服务和 AI 视觉 OCR 服务分别设置每分钟最大请求数,以避免超出 API 调用频率限制。 5. **先进的图像修复与背景填充**: * **纯色填充**: 快速使用用户选择的颜色填充原始文本区域。 * **LAMA 智能修复**: 使用 LAMA 模型进行几乎无痕的文字消除,效果可参考下面的演示图。 6. **高度可定制的文本渲染**: * **字体管理**: * 内置多种常用中文字体。 * **支持用户上传自定义字体文件** (.ttf, .ttc, .otf) 到应用内,并在翻译时使用。 * **字号控制**: 支持**手动设置**字号或**自动根据气泡大小和文本长度计算**最佳字号。 * **排版方向**: 支持流畅的**横向**和**竖向**排版,并自动处理竖排标点符号的转换。 * **样式微调**: * 自定义文本**颜色**。 * 调整文本**旋转角度**。 * 在编辑模式下,可对文本在气泡内的**位置进行像素级偏移调整**。 * 在编辑模式下,可为**单个气泡设置独立的填充颜色**。 7. **精细化编辑与实时预览**: * **所见即所得**: 在 Web 界面即时查看翻译、修复和渲染效果。 * **单气泡编辑模式**: * 翻译完成后,可进入编辑模式对**每个气泡独立进行精细调整**。 * 可修改:翻译后的**文本内容**、**字体**、**字号**(手动或自动)、文本**颜色**、气泡**填充颜色**、排版**方向**、文本**旋转角度**、文本**位置偏移**。 * 所有调整**实时预览**在主图像区域。 * 支持将单个气泡的样式(字体、大小、颜色等,不含文本和位置)一键**应用到所有其他气泡**。 * 提供**重置**功能,将当前编辑的气泡恢复到进入编辑模式时的初始状态。 8. **完整的工作流与会话管理**: * **缩略图导航**: 侧边栏清晰展示所有已上传图片的缩略图,方便快速定位和切换。 * **会话持久化**: * **保存/另存为**: 将当前工作区的所有图片数据 (原始、翻译后、干净背景)、翻译结果、所有手动标注框、每个气泡的独立编辑设置、全局 UI 配置等完整信息保存为一个会话项目。 * **加载/管理**: 提供友好的模态窗口,列出所有已保存的会话(包括自动存档槽位),支持一键加载、删除或重命名会话,方便中断和恢复长时间的翻译工作。 * **自动存档**: 在用户进行翻译、编辑、切换图片、添加/删除图片、退出编辑/标注模式等关键操作后,程序会自动、静默地将当前工作状态保存到一个特殊的"自动存档"槽位,最大限度防止因意外关闭或错误导致的数据丢失。批量翻译进行中会智能跳过自动存档。 * **高效存储**: 图像的 Base64 数据与会话元数据(JSON格式)分离存储,提高了大型项目的加载和保存效率。 * **状态标记**: 缩略图会直观显示图片是否翻译失败或是否包含手动标注。 9. **高质量翻译模式 (Beta)**: * 提供一个实验性的多步骤流程,通过结合多张图片的上下文信息和精细的提示工程来提升翻译的连贯性和准确性。 * 用户可配置批处理大小、会话重置频率、RPM限制、是否使用低推理模式、自定义提示词以及是否强制AI返回JSON格式。 * 流程包括:批量消除所有图片文字 -> 导出所有原文为JSON -> 收集所有原始图片Base64 -> 分批将图片和JSON发送给AI进行上下文感知翻译 -> 合并翻译结果 -> 导入翻译结果并重新渲染。 * **注意**: 此模式会消耗更多的处理时间和API配额。 10. **配置与定制化**: * **自定义提示词**: 用户可以为漫画翻译和文本框解释模式分别设置、保存和加载不同的提示词模板。 * **模型使用历史**: 自动记录最近使用过的翻译模型(服务商+模型名),方便用户快速选择。 * **系统工具**: * 提供对本地部署的 Ollama, Sakura 服务以及 LAMA 修复功能的连接测试。 * 提供对百度 OCR/翻译、有道翻译、AI 视觉 OCR 服务的 API Key 有效性测试。 * 一键清理调试过程中产生的临时文件和缓存文件。 * **界面主题**: 支持亮色/暗色模式切换,用户偏好会自动保存在浏览器本地存储中。 11. **可扩展的插件系统**: * 提供插件管理界面,用户可以方便地**查看已安装插件列表、实时启用/禁用插件、配置插件参数(如果插件支持)、物理删除插件文件**。 * 支持设置插件的**默认启用状态**,该偏好会持久化保存。 * 允许高级用户或开发者通过编写 Python 插件来扩展或修改核心处理流程的特定阶段(如检测后、OCR 后、翻译后、渲染前等) 12. **外语学习与辅助理解**: * 可选择启用独立的“**文本框提示词**”模式。在该模式下,AI 会在翻译漫画原文的同时,在图片下方的文本框区域针对原文内容提供更详细的解释、语法分析、文化背景注释或相关的知识点说明,辅助用户理解原文和学习外语。**(注意:启用此功能会显著增加翻译所需时间和潜在的 API 调用成本)** 13. **多格式便捷下载**: * 支持下载单张翻译完成后的 PNG 格式图片。 * 支持一键将所有已处理的图片打包下载为 **ZIP** 压缩包、合并为一个多页 **PDF** 文件,或打包为标准的 **CBZ** 漫画格式文件。 14. **文本导入/导出**: * 支持将当前项目中所有图片识别出的原文和已翻译的文本(包括每个气泡的排版方向)**导出为结构化的 JSON 文件**。 * 支持从外部编辑好的 **JSON 文件导入文本**,自动更新项目中对应图片和气泡的翻译内容并重新渲染,极大地便利了多人协作校对和外部编辑器修改流程。 ## ✨ Demo (效果示例)
_✨ Saber-Translator 翻译界面概览 ✨_
| 翻译前 | 翻译后 |
|---|---|
|
|
|
|
_✨ Saber-Translator 编辑模式示例 ✨_
_✨ Saber-Translator 标注模式示例 ✨_
_✨ Saber-Translator 历史记录示例 ✨_
_✨ Saber-Translator 插件系统示例 ✨_
_✨ Saber-Translator 外语学习示例 ✨_
微信赞赏码 |
支付宝赞赏码 |
再次感谢你的慷慨支持!
## ❤️ 贡献 欢迎任何形式的贡献,包括但不限于: * **代码贡献 (Pull Requests)**: 修复 Bug, 增加新功能, 优化代码性能, 开发新插件等。 * **问题反馈 (Issues)**: 报告 Bug, 提出功能建议, 分享使用遇到的问题等。 * **文档完善**: 改进 README 文档, 编写更详细的使用教程或开发文档。 * **翻译贡献**: 将 README 文档或界面翻译成其他语言。 * **推广宣传**: 向更多人介绍和推荐 Saber-Translator。 ## 🌟 支持 * **Star 项目**: 如果你觉得 Saber-Translator 对你有帮助,请给项目点个 Star ⭐,这将是对我最大的鼓励和支持! * **分享推荐**: 将 Saber-Translator 分享给你的朋友或有需要的人。 ## 🛠️ 技术栈 (Tech Stack) * **后端:** Python 3.10+, Flask, Flask-CORS, PyTorch, PaddlePaddle-OCR, MangaOCR, Pillow, OpenCV, NumPy, `openai` (SDK), `litelama` (from `sd-webui-cleaner`), PyPDF2, Requests, PyYAML, Colorama. * **前端:** HTML5, CSS3, JavaScript (ES6 Modules), jQuery, JSZip, jsPDF. * **打包:** PyInstaller. ## ⚠️ 免责声明 (Disclaimer) 1. Saber-Translator 主要用于学习和技术交流,请在遵守当地法律法规和版权政策的前提下使用。**严禁用于非法目的或商业用途。** 2. 本项目依赖第三方 AI 服务 (如 OCR, 翻译 API, 背景修复模型),其服务质量、可用性和成本由相应服务商决定。请用户自行了解并遵守相关服务商的使用协议和条款。 3. 翻译结果由 AI 模型生成,可能存在错误或不准确之处。本项目不对翻译结果的准确性、完整性或及时性做任何保证。 4. 用户应对使用本工具处理的任何内容负责,包括确保拥有处理这些内容的合法权利。 5. 对于因使用或无法使用本项目而造成的任何直接或间接损失,项目作者不承担任何责任。 ---感谢使用 Saber-Translator!希望它能帮助你更轻松地跨越语言障碍,享受漫画的乐趣!