免费翻译,支持25种语言,极空间+AI 生肉漫画追新不用愁
有的时候想追更看一些漫画,结果发现漫画是生肉,啃也啃不动,等也等不起,要是有AI工具可以帮助翻译就好了!
yeah,没错,你的Docker小达人cherry来了,今天我们来分享一套基于AI模型的生肉漫画翻译工具——manga-image-translator。
该工具目前支持语言如下,拥有网页模式(单张翻译)、CLI模式(批量翻译)。

项目介绍:
本项目旨在翻译那些不太可能有人专门翻译的图片,例如各种群聊、图站上的漫画/图片,让像我这样的日语小白也能大致理解图片内容。
主要支持日语,同时也支持简繁中文、英文及其他20种小语言。
一、项目部署
本次我们依旧使用docker-compose部署。极空间新版本docker应用实现了对compose的支持,但是需要先开启SSH才可以使用。
🔻将下面的代码复制到compose页面,然后修改目录路径。
services:
manga_image_translator:
image: zyddnys/manga-image-translator:main
container_name: manga_image_translator_cpu
entrypoint: python
command: server/main.py --verbose --start-instance --host=0.0.0.0 --port=25003
volumes:
- /路径/漫画合集:/app/result
- /路径/docker/manga/main.py:/app/server/main.py
- /路径/docker/manga/instance.py:/app/server/instance.py
ports:
- 25003:25003
ipc: host
environment:
CUSTOM_OPENAI_API_KEY: 'f-xxxxxx'
CUSTOM_OPENAI_API_BASE: 'api url'
CUSTOM_OPENAI_MODEL: 'deepseek-r1-250120'
CUSTOM_OPENAI_MODEL_CONF: ''
1、修改环境变量
由于本项目需要使用到 AI 来进行翻译,所以我们需要在环境变量里配置 AI API Key 和 BaseURL。
目前该项目支持有道、百度等数十种API 接口,并且也支持自定义API服务。所以为了方便使用,我建议统一使用 符合OPENAI 规范的 自定义AI API地址。
🔻支持的翻译器名称和参数。

🔻自定义AI API 服务。

🔻其它AI 的参数参照:
# baidu
BAIDU_APP_ID: ''
BAIDU_SECRET_KEY: ''
# youdao
YOUDAO_APP_KEY: ''
YOUDAO_SECRET_KEY: ''
# deepl
DEEPL_AUTH_KEY: ''
# openai/ChatGPT
OPENAI_API_KEY: ''
OPENAI_API_BASE: ''
OPENAI_MODEL: ''
OPENAI_HTTP_PROXY: ''
# glossary
OPENAI_GLOSSARY_PATH: './sakura_dict.txt'
# Groq
GROQ_API_KEY: ''
GROQ_MODEL: 'mixtral-8x7b-32768'
# sakura
SAKURA_API_BASE: 'http://127.0.0.1:8080/v1'
SAKURA_VERSION: '0.9'
SAKURA_DICT_PATH: './sakura_dict.txt'
# Caiyun
CAIYUN_TOKEN: ''
# Gemini
GEMINI_API_KEY: ''
GEMINI_MODEL: 'gemini-1.5-flash-002'
# DeepSeek
DEEPSEEK_API_KEY: ''
DEEPSEEK_API_BASE: 'deepseek地址'
DEEPSEEK_MODEL: 'deepseek-chat'
2、修改路径
⭐这里有这么几个路径,需要大概手动修改的:
1️⃣ 翻译后的结果输出路径,即/路径/漫画合集:/app/result,这里会把过程性的内容全部放出来。

2️⃣ 程序路径,由于目前项目代码变更较大,需要我们手动将main.py和instance.py两个程序文件放在路径里才可以运行。

目录路径的查询方法:打开docker,选择Compose-新增项目,将代码复制到代码框以后,点击上方的查询路径按钮,并将路径替换volumes里左侧的内容。

进入平常使用的docker文件夹下,复制路径。

完成部署以后,可以使用极空间的远程访问,创建一个webui快捷方式,方便后续在任意网络下使用。

二、系统使用
1、GUI 单页翻译方法
目前GUI方面使用比较简单,打开后就是一个翻译界面,我们直接把图片上传上去就可以了。

然后选择对应的AI模型、语言、参数等信息。


上传以后,选择翻译,等待一段时间系统会把翻译结果展示出来。

在极空间的docker日志里,可以看到每一个翻译细节,包括抠图、原图、翻译结果、拼接等。

下面我展示了几个翻译的成果,该工具的好处就是翻译结果是在原图上生成的,原则上是替换对话气泡内的文字,很少会出现文字外漏的问题。
🔻下面两幅是作者给出的翻译结果,可以看得出翻译成果都非常赞。


2、CLI 批量翻译方法
如果嫌弃网页版翻译一张张图片慢,那么也可以使用项目的批量翻译功能。
首先我们得回去修改compose的代码,增加一个models路径用来保存本地模型的文件。这些模型系统会自动从网上下载,所以请挂好代理,或者下载我这边准备的网盘(网板版本是beta-0.3,如果官方有更新了,需要重新下载,所以能自己解决还是自己解决)

由于默认的翻译模型是从日文到英文的,所以我们还需要修改配置文件。
在models目录下,新建一个config.json文件。

将下面的配置参数复制进去。
{
"filter_text": null,
"render": {
"renderer": "default",
"alignment": "auto",
"disable_font_border": false,
"font_size_offset": 0,
"font_size_minimum": -1,
"direction": "auto",
"uppercase": false,
"lowercase": false,
"gimp_font": "Sans-serif",
"no_hyphenation": false,
"font_color": null,
"line_spacing": null,
"font_size": null
},
"upscale": {
"upscaler": "esrgan",
"revert_upscaling": false,
"upscale_ratio": null
},
"translator": {
"translator": "custom_openai",
"target_lang": "CHS",
"no_text_lang_skip": false,
"skip_lang": null,
"gpt_config": null,
"translator_chain": null,
"selective_translation": null
},
"detector": {
"detector": "default",
"detection_size": 2048,
"text_threshold": 0.5,
"det_rotate": false,
"det_auto_rotate": false,
"det_invert": false,
"det_gamma_correct": false,
"box_threshold": 0.7,
"unclip_ratio": 2.3
},
"colorizer": {
"colorization_size": 576,
"denoise_sigma": 30,
"colorizer": "none"
},
"inpainter": {
"inpainter": "lama_large" ,
"inpainting_size": 2048,
"inpainting_precision": "bf16"
},
"ocr": {
"use_mocr_merge": false,
"ocr": "48px",
"min_text_length": 0,
"ignore_bubble": 0
},
"kernel_size": 3,
"mask_dilation_offset": 30
}
修改将红框内的translator修改成你自己的模型名,如果使用custom_openai的就不用改了,这样才可以把翻译修改为中文。

重新部署好项目以后,到了极空间的docker界面,选择容器,找到manga_image_translator_cpu容器,点击SSH,选择默认的/bin/bash进入。

然后在容器内的SSH界面,输入指令python -m manga_translator local --config-file /app/models/config.json -v -i 容器内漫画路径 运行,这里我的漫画路径是/app/comics/test。
运行后,如果没有下载模型的,工具会自动从github下载本地模型包。可以看到日志里,翻译的内容都变成了中文。

在翻译的时候,可以看到cpu使用率和内存使用率并不高,所以本地的AI翻译能力是足够的。

最后,回到极空间文件管理页面,可以看到翻译好的漫画就在路径-translated这个目录下了。

3、提高翻译质量的技巧
这里官方给出的提高翻译质量的技巧,都在是config.json里增加参数来控制的,我也提供出来给大家。
1.较小的分辨率有时会使检测器绊倒,而检测器不太擅长拾取不规则的文本大小。要避免这种情况,您可以通过指定 upscale_ratio 2 或任何其他值来使用 upscaler
2.如果渲染的文本太小而无法阅读,请指定 font_size_offset 或使用 --manga2eng 渲染器,它将尝试拟合检测到的文本气泡而不是检测到的文本行区域。
3.指定字体, 例如--font-path fonts/anime_ace_3.ttf
4.将 mask_dilation_offset 设置为10~30以增加蒙版覆盖率并更好地包装源文本更改inpainter。
5.增加box_threshold可以在一定程度上帮助过滤掉OCR错误检测中的乱码。
6.使用 OpenaiTranslator 加载词汇表文件(custom_openai 无法加载)。
7.当图像分辨率低时,降低detection_size,否则可能会导致一些句子漏掉。当图像分辨率较高时,情况正好相反。
8.当图片分辨率较高时,增加 inpainting_size,否则可能无法完全覆盖蒙版,导致源文本泄漏。
9.在其他情况下,可以增加 kernel_size 以降低文本去除的准确性,使模型获得更大的视野(注意:根据源文本和翻译文本的一致性来判断文本泄漏是否是修复引起的。如果一致,则是修复引起的,否则是文本检测和 OCR 引起的)
三、极空间—极漫画介绍
等我们将生肉漫画都处理完成,形成可以直接观看的中文版本之后,我们就可以通过极空间自带的极漫画应用享受阅读盛宴。
极漫画入口在极空间APP端,是一个类似极影视、极相册的单独应用。其支持纯图、压缩包、PDF、Mobi、Epub等格式的资源类型,因此我们批量翻译的图片也可以直接查看。
首次使用,选择极空间私有云里的漫画所在路径导入,形成书库。值得一提的是,除了在极漫画中直接看,也可以将漫画下载到手机里查看。

极漫画同样支持分类管理,可以根据漫画类型、主题、风格的不同,创建不同的漫画分类。比如我最常用的就是根据日漫、美满、国漫等进行分类。

在阅读体验上,极漫画支持普通模式(左滑翻页)、日漫模式(右滑翻页)、滚动模式(下滑阅读),我们可以根据自己的喜好进行设置。具体的操作和目前主流的漫画阅读软件基本一致,符合大众手感,因此上手很快。

总结
极空间私有云一直来,作为率先提出“AI NAS”概念的产品,一直在加深AI 和NAS的结合,本项目也是基于这个理念,让极空间可以增加一个翻译生肉漫画/图片的工具,帮助喜欢追新却苦于无法阅读生肉的小伙伴解燃眉之急。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友3798118107
校验提示文案
纸面富贵
校验提示文案
纸面富贵
校验提示文案
值友3798118107
校验提示文案