9.png

华寻易

AI漫画翻译软件manga-image-translator(cotrans)使用教程(步骤记录)

最近有一部想看的小漫画,搜了各大网站,没有中译版,只有日文原版,因此便求助于AI的力量,果不其然,让我找到了一个好用的工具manga-image-translator。我之前也搜的时候也找到了团子翻译,还有沉浸式翻译。可惜沉浸式翻译吃相太难看,团子翻译也需要钱,因此找到了免费的manga-image-translator,网页试用版为cortrans,可以批量翻译漫画,效果也是绝佳的,不比付费的差,因此就铁了心想用它,并决心留一份使用教程来,因为其官网上的教程步骤确实有些难以看懂。
在此我首先感谢zyddnys作者大大,以及提示读者们,网页试用版使用着昂贵的GPU服务器,请不要贪心使用,或者请赞助,大量使用请看本帖接下来的本地部署方案。

可以说在有ai的时代,人们是能够自己追寻性福的,为此,欲获得最佳体验,最好能够拥有自己的openai api key,我们将使用openai的gpt-4o-mini模型进行翻译,性价比极高。没有也可以,使用一些自带的本地模型,或者google翻译。

看看翻译效果先


下面,正式开始我们的旅程。(仅针对Windows,会用mac的不需要这个教程)


零、傻瓜版
事实上,该软件已经有大佬做出了图形交互界面的版本,也非常的好用。是BallonsTranslator,这个balllonstranslator已经做到了即开即用,根据项目的说明,下载googledrive里的文件解压打开即可。

不过这不是本帖的重点,本帖的重点是记录manga-image-translator的使用(折腾)步骤。

傻瓜版已经足够好用了,适合大多数人用,为什么还要用原版呢?一点是因为原版可以批量对漫画翻译,例如你下载了50本漫画,每个漫画都是一个文件夹,那么使用傻瓜版只能一个文件夹一个文件夹的翻译,而使用原版就可以全部翻译,先干其他事,过一会就全翻译好了。另一点是之后我将要介绍的一个浏览器插件comic read,需要使用原版翻译才能在网页看漫画时,直接就翻译了,方便快捷。

一、下载安装
1)
我们需要确保我们的电脑上安装有python(3.8版本及以上,不推荐3.12版本),安装python是非常简单的事,我不多说,在这里我推荐下载miniconda。以及,确保电脑上安装了git,不愿意装git的话,也可以在GitHub上将整个项目的zip下载下来。注意下载软件时,如果有选项提到将该路径添加到环境变量(出现path,environment variable)字样,记得勾选。接下来,打开Windows的powershell(这里我推荐win10用户下载一个windows terminal,里面融合了powershell,cmd等。win11用户自带windows terminal。win图标右边的搜索搜索一下就有了)接下来的操作都在powershell上进行。(以下操作,若带$符号在前,则表示在powershell里输入,无需输入$符号)带#的行是注释,不需要输入。

复制代码
  1. # 输入下一行检查自己的python安装和版本
  2. $ python --version
  3. # 克隆仓库,或者自己下载仓库的zip并解压
  4. $ git clone https://github.com/zyddnys/manga-image-translator.git
  5. # 下面请在解压的文件夹内shift加右键,选择在此处打开powershell窗口
  6. # 创建虚拟环境
  7. $ python -m venv venv
  8. # 激活虚拟环境
  9. $ .\venv\Scripts\activate
  10. # 若电脑上有gpu,请安装torch,https://pytorch.org/get-started/locally/
  11. # 若知道自己电脑上的cuda版本,则按照自己的cuda版本输入命令,否则输入下面的命令安装对应cuda11.8版本的torch
  12. $ pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118


在此同时下载cuda11.8,前往这个网址安装提示下载。Cuda11.8

2)
安装Microsoft C++ Build Tools微软C++编译工具包。找到 Microsoft C++ 生成工具,下载好后按提示打开,注意勾选中"使用C++的桌面开发(C++ buildtools)",以及其中的可选项
1. MSVC xxxx x64/x86 生成工具(最新)
2. win 10 SDK (版本号选最新)(若你是win11就勾选win 11 SDK)
3. 用于Windows的C++ Cmake工具
4. 测试工具核心功能-生成工具
5. C++ AddressSanitizer
安装完后请重启电脑。
回到仓库的文件夹,在文件夹里打开powershell输入
复制代码
  1. # 激活虚拟环境
  2. $ .\venv\Scripts\activate
  3. $ pip install -r requirements.txt

请注意全程连接世界互联网。

至此,安装结束。


二、配置文件及使用
0)在使用前需要配置文件
我们使用openai api,那么就需要在仓库的文件夹内新建一个文本文件,改名称为".env",用文本编辑器打开它,输入
复制代码
  1. OPENAI_API_KEY=sk-xxxxxxx

即可,注意替换成你自己的api key

若没有openai官方api key,而是从其他地方购买的中转api key,同样填入这里,但是请注意,还需要填一个OPENAI_API_BASE

复制代码
  1. OPENAI_API_BASE=oa.api2d.net # 这是api2d的中转地址
  2. # 或者
  3. OPENAI_API_BASE=https://api.deepseek.com/v1 # 这是deepseek的api地址

根据你自己购买的key的文档填写即可。

注意,有一些网站售卖的是中转key,本质是中转openai api服务的,以上改动就足够了,那么接下来的一段就不需要看了。
有一些网站,如阿里千问,deepseek,是有自己的一套大模型的,不是中转openai api服务的,那么他们提供的模型也不同,不是gpt模型,例如阿里有qwen-long,deepseek的模型有deepseek-chat。这时候就需要修改manga-image-translator请求的模型型号。举例来说,我们将把gpt-4o模型换成deepseek-chat模型。在仓库根目录下,找到manga_translator下的translator文件夹,下面有一个chatgpt.py,用文本编辑器打开它。ctrl+F搜索"gpt-4o-mini",你会看到一行如下
复制代码
  1.             model='gpt-4o-mini-2024-07-18',

将其改为
复制代码
  1.             model='deepseek-chat',

即可。之后,你只要使用gpt-4模型,就是在使用deepseek-chat模型了。那么之后的选项和调用中也要选择gpt4

最后,还可以在配置文件中配置代理
在".env"文件中添加以下内容即可
复制代码
  1. OPENAI_HTTP_PROXY=127.0.0.1:port

前面的127.0.0.1是本地地址,port是你设置的端口号,clash默认是7890

1)简易用法,webui
仍然在下载的仓库的文件夹打开powershell输入
复制代码
  1. # 激活虚拟环境(若刚刚窗口没关则不需要重新激活)
  2. $ .\venv\Scripts\activate
  3. $ python -m manga_translator -v --mode web --use-gpu

若电脑没有gpu就把--use-gpu删去即可。这样,你就可以在浏览器中打开http://127.0.0.1:5003,就是web界面了。

2)常规用法
仍然在下载的仓库的文件夹打开powershell输入
复制代码
  1. # 激活虚拟环境(若刚刚窗口没关则不需要重新激活)
  2. $ .\venv\Scripts\activate
  3. $ python -m manga_translator -v --inpainter lama_large --detection-size 2048 --ocr 48px --translator=gpt4 -l CHS --use-gpu --mode batch  -i <path>

我将逐一解释这个命令的含义。
命令行工具的用法是调用程序本体并且传入参数
“python -m manga_translator”这一部分就是调用本体,后面的内容则是传递参数。
-v表示展示执行过程,去掉则不展示程序执行过程。
--inpainter lama_large表示使用lama_large修复器。
--detection-size 2048表示检测分辨率为2048,默认为1536。
--ocr 48px表示选择48px作为ocr模型。
--translator=gpt4表示选用gpt4做翻译引擎(在发帖日,原仓库的gpt4表示的是gpt-4o-mini,现在则是用gpt35表示gpt-4o-mini)(如果你在前一步修改了gpt4模型,那么就是你指定的那个模型作为翻译引擎)。
-l CHS表示翻译的目标语言为简体中文。
--use-gpu --mode batch表示使用gpu,批处理模式(默认即批处理模式)。
-i <path>表示你想要翻译的漫画的路径,这里可以填绝对路径,即类似这种"D:\Downloads\rioreori2021 [9279614]\[20230211] [5280486] 【Skeb】闘技場で見世物にされる姫騎士【後編】",将<path>换成你的漫画路径即可。
翻译后的文件会在漫画路径旁边出现,后缀名加上-translated。

只要输入上面的命令就会开始正常的翻译漫画了。请自己动手试试!

第一次使用会下载模型文件,之后就不用了。这里的唯一联网步骤是openai api的调用,其余步骤是本地处理。

3)高级用法,ComicRead插件
https://sleazyfork.org/zh-CN/scripts/374903-comicread 这个插件是一个辅助阅读漫画的插件。可以实时翻译网页漫画。
具体操作流程为,打开本地部署的manga-image-translator网页版,不要改端口。然后在左侧设置即可,设置项与网页端体验一致,具体请见插件说明页。



结语
花了些时间来写这些,还算是有成就感。全文只有少量的图,是怕图片有什么变动与原仓库不一致,以及一直找不到什么好的图床。我知道这可能会减少读者的数量,不过还是希望有兴趣的读者自己折腾折腾试试。同时也算是留一份相关资料在网络上。相信有我这篇文章的初步入门介绍之后,读者们就可以自己看懂原作者的各种文档了,其他的高级功能,请自己去原仓库探索吧!

本文首发于南+,心海。

相关链接
manga-image-translator
BallonsTranslator
Cuda11.8
comic read

1015406.jpg

Durando.KK

B1F  2024-07-28 22:41
(别看了)

830838.jpg

滅茶苦茶

B2F  2024-07-28 22:44
(催更胤盛家事情)
学习学习

654854.jpg

死冥权能

l楼主,我看竖版的日文小说的,有没有针对的翻译软件呢

a9.gif

独孤博

你这是不是有点专业了

802883.jpg

Lotus

B5F  2024-07-28 22:50
(战法天下第一!)

9.png

华寻易

回 3楼(死冥权能) 的帖子

你是电子版还是纸质版?电子版可以直接沉浸式翻译。纸质版你可以拍图片后按照本帖的方式进行翻译。

none.gif

笑熬浆糊

留名~

none.gif

sera1991

回 3楼(死冥权能) 的帖子


a10.gif

混沌猫

我使用sakura本地翻译该如何填写api呢

a10.gif

混沌猫

老实说,那个傻瓜版BallonsTranslator我按教程安装死活打不开,总是说依赖有问题。
\BallonsTranslator_dev_src_with_gitpython\ballontrans_pylibs_win\lib\site-packages\charset_normalizer\cd.py", line 9, in <module>
    from .md import is_suspiciously_successive_range
AttributeError: partially initialized module 'charset_normalizer' has no attribute 'md__mypyc' (most likely due to a circular import)
还是你这个教程好,现在已经用上翻译了,而且能即时翻译在线漫画太方便了。你不说把OPENAI_API_KEY=sk-xxxxxxx和SAKURA_API_BASE填到.env文件里我真不知道该怎么操作,GitHub上教程里也没写

1308678.jpg

2b946bfa

好用 爱用 赞了

dab246ad40fc6a15.jpg

懒得起网名

B12F  2024-07-29 12:12
(没火的民谣最好听,没在一起的姑娘最漂亮)
谁能给个靠谱的openai的代购网站么,一直买不到api啊,其他翻译的都是一坨

9.png

华寻易

回 12楼(懒得起网名) 的帖子

可以看看https://api2d.com/。但是这里的api key需要你会手动调整api调用网址

dab246ad40fc6a15.jpg

懒得起网名

B14F  2024-07-29 21:04
(没火的民谣最好听,没在一起的姑娘最漂亮)

回 13楼(华寻易) 的帖子

感谢,这个我会

none.gif

阿斯顿撒旦

66666666

none.gif

ljp

楼主激活虚拟环境那块有点问题,查了一下说是source venv/bin/activate命令是在Linux环境下使用的;而Windows环境则是使用venv\Scripts\activate命令激活虚拟机

none.gif

ljp

有没有大佬能稍作修改,我用deepl的免费api翻译老是报错,网上查了下说是请求过快

a12.gif

NPfun

B18F  2024-08-07 18:06
(error)
十分有用。兄弟。感谢分享。

9.png

华寻易

回 16楼(ljp) 的帖子

我的我的,因为我自己是用的conda搭的虚拟环境。这些命令是我从原作者那里直接搬来的,抱歉。

none.gif

尊贵的米偷游玩家

B20F  2024-08-11 11:23
(烧鸡尸块米偷游 忠犬护卫米孝子)
好东西

十七岁的亚索


4.gif

8a925a16


76698.png

d6ffc8cf

感谢分享
从很久以前我装这个就反覆失败好几次了
看你的文章我才成功能使用
谢谢!!

none.gif

6bcf0faa