把整页日文漫画翻成中文的本地流水线(manga-image-translator)

manga-image-translator 是 zyddnys 开源的漫画图片翻译流水线,把文字检测、OCR、擦字、机器翻译和排版串在一起,主要面向日语漫画。内容覆盖它的主要功能、安装步骤与关键参数,按真实 Issue 整理待解决的坑,并把它和通用 OCR 库做对照,帮读者判断要不要自己部署一套。

群聊里转来的日文短篇、图站上没人做过汉化的漫画,往往就差一层语言门槛。这个项目的出发点很直接:让不懂日语的读者也能把这些图看明白。做法是把一整页图拆成文字检测、识别、擦除原文、机器翻译、重排译文几段,交给模型自动跑完。

manga-image-translator 把日语漫画整页的检测、擦字、翻译、重排串成一条 Python 流水线,输入图片目录或单张图,输出保留原版式的译文图。

它主要处理日语,也支持简体中文、繁体中文、英语以及其他二十多种小语种。项目是 Qiú wén zhuǎn yì zhì 的 v2 版本,仓库主语言为 Python(占比 89.4%),许可证是 GPL-3.0,目前 10499 个 Star、1071 个 Fork、68 个 Watcher,开放 Issue 138 个。仓库创建于 2021 年 2 月,最近一次提交在 2026 年 10 月。

它主要处理日语,也支持简体中文、繁体中文、英语以及其他二十多种小语种。项目是 Qiú wén

主要功能

整条链路可以拆成若干可替换的阶段,每一段都有自己的模型和配置项。

  • 文字检测:先在图里框出文字区域。README 的示例里出现过 --detector ctd,ctd 对应 comictextdetector,模型文件是 comictextdetector.pt 和 comictextdetector.pt.onnx,更早的版本用的是 detect.ckpt。
  • OCR 识别:把框里的文字读成文本,模型是 ocr.ckpt 与 ocr-ctc.ckpt。从 alpha-v2.2 起,OCR 还会提取文字本身的颜色,供后面的排版使用。
  • 图像修补(擦字):把原文从画面上抹掉,模型是 inpainting_lama_mpe.ckpt。配合 --translator none,可以只擦字不翻译。
  • 机器翻译:接多家翻译后端。仓库里有 Translator Reference、GPT Configuration Reference 和 Environment Variables Summary 三份参考,配置项收在 Translator Options 一节。有用户在 Issue 里尝试接入 LM Studio。
  • 排版渲染:把译文按原位置画回图里,参数在 Render Options 一节,字体文件放在仓库的 fonts/ 目录。用户提过字体包边和字号偏移的问题。
  • 术语表与替换词典:对应 Glossary 与 Replacement Dictionary 两节,仓库根目录有 dict/ 目录和 sakura_dict.txt,用来固定人名和专有名词的译法。
  • 放大与上色:Upscale Options 负责放大,Colorizer Options 负责给黑白漫画上色,README 把它关联到 manga-colorization 项目。
  • 多种运行模式:本地批量模式、Web 模式(分旧 UI 与新 UI 两套)、API 模式、WebSocket 模式选项,以及 config-help 模式。API 模式有独立的 API Documentation 一节。

README 自己标注了这个项目仍处在早期开发阶段、还有许多不足,并附了一份 Changelog 和中文版 Changelog_CN.md。

安装与依赖

机器上要有 Python 3.8 及以上版本。README 推荐的路线是 pip 加 venv:

git clone https://github.com/zyddnys/manga-image-translator.git
cd manga-image-translator
pip install -r requirements.txt

AMD 显卡走 requirements-rocm.txt,Intel XPU 走 requirements-xpu.txt,这两个文件都在仓库根目录。开发用的依赖在 requirements-dev.txt。

模型权重不在仓库里,需要单独下载:detect.ckpt、ocr.ckpt、ocr-ctc.ckpt、comictextdetector.pt、comictextdetector.pt.onnx、inpainting_lama_mpe.ckpt。beta-0.3 的 Release 说明里列的就是这一组文件。

Docker 路线也有:仓库带 Dockerfile、docker-compose.yml、docker-compose.debug.yml 和 docker_prepare.py。README 的 Docker 一节里另有一小节讲 Nvidia GPU 怎么跑。

Windows 用户可以用 run.bat 或 MangaStudioMainRun.bat,Linux 用 run.sh;图形入口是 MangaStudioMain.py,配套数据在 MangaStudio_Data/。仓库还提供 run_as_colab.ipynb 和 run-as-kaggle.ipynb 两个 notebook。

最短能跑通的用法

把安装四步串起来就是最短路径:clone 仓库、装 requirements、下载上面那组模型权重、然后用 run.sh(或 Windows 上的 run.bat/MangaStudioMain.py)启动。

README 的用法部分分成三块:本地批量模式、Web 模式、API 模式,命令行参数列在 Command Line Options 一节,还细分为 Local Mode、WebSocket Mode、API Mode、Web Mode 各自的选项。

仓库节选里没有给出可以直接复制粘贴的完整示例命令,也没有说明模型权重应该放在哪个目录下。这两步要看 README 对应小节的完整内容。

关键参数

下面几项在 README 或用户反馈里明确出现过。

  • --use-gpu:开启 GPU 推理。有用户按安装步骤装完后,用这个参数在 Windows 上运行时找不到模型文件。
  • --detector ctd:指定用 comictextdetector 做文字检测。
  • --translator none:关闭翻译环节,只做检测、擦字和排版。
  • config-help 模式:对应 README 目录里的 Config-help Mode 一节。

配置文件按模块分节,包括 Render Options、Upscale Options、Translator Options、Detector Options、Inpainter Options、Colorizer Options、OCR Options,另有一节 Other Options 兜底。环境变量的汇总在 Environment Variables Summary,GPT 后端的字段另有 GPT Configuration Reference,语言代码表在 Language Code Reference。

结果在哪里看

本地批量模式跑完把结果图写进输出目录;Web 模式在浏览器页面里直接看;API 模式通过接口返回。README 的 showcase 展示了原图、译文图和 mask 三类输出,mask 是文字区域的遮罩。输出目录的具体路径,仓库节选里没有说明。

官方在线 demo 挂在 https://touhou.ai/imgtrans/ ,由作者维护;另一个域名 cotrans.touhou.ai 已经不再工作。README 提到在线版用的是 main 分支的最新代码,如果访问不通,可能是 Google GCP 上的服务器在重启。另有第三方维护的浏览器脚本,托管在 greasyfork.org。

实际使用中的坑

下面几条来自仓库里按评论数排序的 Issue,都是真实用户踩过的。

  • Mac 上怎么跑,至今没有答案:有人开 Issue 问怎么在 Mac 上运行,共 16 条评论,状态仍是待解决。
  • manga2eng 改不了最小字号:这条功能请求的标题直接写着「这个问题已经存在好几年了」,用户找不到可以调字号的配置文件,19 条评论,待解决。
  • 高度超过 4000px 的图会报错:有用户拿 720×6781 的长条图跑,收到 error-too-large,并在代码里找到了这个高度限制。这条已经解决。
  • 某次更新把参数全改了:有用户请求回滚最近一次更新,理由是「每个参数都变了,也没有任何说明」,共 32 条评论,已解决。

这些 Issue 反映出一个规律:main 分支的命令行参数变动比较频繁,照着旧教程复制的命令很容易失效,用之前最好先对一遍仓库当前的 Command Line Options。

和同类放在一起看

项目适合谁部署方式主要限制什么情况下选它更合适项目地址
manga-image-translator想自己跑一套漫画翻译流水线、手上有 N 卡或愿意用 CPU 慢慢等的读者Python 3.8 以上源码运行,或走 Docker;模型权重需单独下载要分别准备检测、识别、修补三组模型文件;main 分支参数变动频繁;GPL-3.0 许可目标是整页漫画的检测、擦字、翻译、重排一条龙manga-image-translator
mindee/doctr要把扫描件、票据、文档里的文字批量转成结构化文本的开发者pip 安装 Python 库,可选不同推理后端只覆盖文字检测与识别,不做翻译、擦字和版式重排只需要文字和坐标结果,要嵌进自己的文档处理管线mindee/doctr
felixdittrich92/OnnxTR想在 ONNX Runtime 上跑 OCR、对推理后端有明确要求的人docTR 的 ONNX 封装,pip 安装依赖 docTR 的模型与接口,同样只覆盖检测与识别生产环境要用 ONNX 推理,不想引入 PyTorch 依赖felixdittrich92/OnnxTR

只想要文字识别结果的话,docTR 这条路更省事:pip 装完就能用,不用为检测、识别、修补分别准备模型文件,也不用为翻译和排版搭额外的组件。manga-image-translator 的力气花在把后面几步做完,代价就是安装链更长、依赖更重、参数也更容易随版本变化。

适合谁

适合手上有一批日语漫画图、想在自己机器上批量处理的人;也适合不满足于现成在线服务、需要自己换翻译后端或调排版参数的人。仓库带 Docker 配置和 Colab、Kaggle 的 notebook,有服务器或云 notebook 资源的用户能把它挂起来跑。

只想把图片里的文字读出来做后续处理的,用通用 OCR 库更划算。没有 Python 环境、也不打算折腾模型下载和依赖安装的,这个项目不适合直接上手。仓库自己的说明里也承认它仍在早期阶段,用之前要有踩坑的准备。

焚评:这个项目的量化评分

本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.1 分(满分 10)。下表是各维度的得分:

评分维度得分
热度动量(权重 25%)10.0 / 10
开发活跃(权重 25%)10.0 / 10
社区响应(权重 15%)8.9 / 10
文档质量(权重 15%)10.0 / 10
发布节奏(权重 10%)3.0 / 10
风险控制(权重 10%)10.0 / 10

评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。

内容核验说明

这篇把一条容易踩坑的本地流水线拆开讲清楚:检测、OCR、擦字、翻译、排版各对应哪些模型文件和参数;模型权重不在仓库里,要单独下载;main 分支参数变动频繁,旧教程的命令容易失效。按仓库 Issue 整理的坑,以及与 docTR 的对照,能帮人判断要不要自己部署。适合有日语漫画批量处理需求、愿意折腾 Python 环境的人;

Star、Fork、Issue 数等仓库指标与焚评各维度分数来自公开页面,诀.com 未独立验证;安装步骤、参数与限制出自项目 README、Changelog 和 Issue 原文,未实际运行复现;Issue 状态以抓取时页面所标为准。

项目来源与说明

开源项目:zyddnys(zyddnys)

本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。

查看项目仓库