简体中文 | English | Русский | 日本語 | Indonesia
深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑
界面预览
-
一键机翻
- 译文回填参考对原文排版的估计, 包括颜色, 轮廓, 角度, 朝向, 对齐方式等
- 最后效果取决于文本检测, 识别, 抹字, 机翻四个模块的整体表现
- 支持日漫和美漫
- 英译中, 日译英排版已优化, 文本布局以提取到的背景泡为参考, 中文基于pkuseg进行断句, 日译中竖排待改善
-
图像编辑
支持掩膜编辑和修复画笔 -
文本编辑
- 支持所见即所得地富文本编辑和一些基础排版格式调整、字体样式预设
- 支持全文/源文/译文查找替换
- 支持导入导出word文档
-
适用于条漫
如果用windows而且不想自己手动配置环境, 而且能正常访问互联网:
从MEGA 或 Google Drive 下载BallonsTranslator_dev_src_with_gitpython.7z, 解压并运行launch_win.bat启动程序。如果无法自动下载库和模型,手动下载data和ballontrans_pylibs_win.7z并解压到程序目录下.
运行scripts/local_gitpull.bat获取更新.
安装Python < 3.12 (别用微软应用商店版) 和Git
# 克隆仓库
$ git clone https://github.com/dmMaze/BallonsTranslator.git ; cd BallonsTranslator
# 启动程序
$ python3 launch.py
第一次运行会自动安装torch等依赖项并下载所需模型和文件, 如果模型下载失败, 需要手动从MEGA 或 Google Drive下载data文件夹(或者报错里提到缺失的文件), 并保存到源码目录下的对应位置.
如果要使用Sugoi翻译器(仅日译英), 下载离线模型, 将 "sugoi_translator" 移入BallonsTranslator/ballontranslator/data/models.
如果构建不成功也可以直接跑源码
# 第1步:打开终端并确保当前终端窗口的Python大版本号是3.11,可以用下面的命令确认版本号
python3 -V
# 第2步:克隆仓库并进入仓库工作目录
git clone -b dev https://github.com/dmMaze/BallonsTranslator.git
cd BallonsTranslator
# 第3步:创建和启用 Python 3.11 虚拟环境
python3 -m venv venv
source venv/bin/activate
# 第4步:安装依赖
pip3 install -r requirements.txt
# 第5步:源码运行程序,会自动下载data文件,每个文件在20-400MB左右,合计大约1.67GB,需要比较稳定的网络,如果下载报错,请重复运行下面的命令直至不再下载报错并启动程序
# 如果多次下载失败,也可以从[MEGA](https://mega.nz/folder/gmhmACoD#dkVlZ2nphOkU5-2ACb5dKw) 或 [Google Drive](https://drive.google.com/drive/folders/1uElIYRLNakJj-YS0Kd3r3HE-wzeEvrWd?usp=sharing)下载`libs`和`models`并放入data文件夹
python3 launch.py
# 第6步:运行下面的远程脚本开始构建macOS应用程序(仅限 Apple Silicon 芯片的 Mac 设备),中途sudo命令需要输入开机密码授予权限
cd ..
curl -L https://raw.githubusercontent.com/dmMaze/BallonsTranslator/dev/scripts/macos-build-script.sh | bash
📌打包好的应用在
./data/BallonsTranslator/dist/BallonsTranslator.app
,将应用拖到macOS的应用程序文件夹即完成安装,开箱即用,不需要另外配置Python环境.
建议在命令行终端下运行程序, 首次运行请先配置好源语言/目标语言, 打开一个带图片的文件夹, 点击Run等待翻译完成
一键机翻嵌字格式如大小、颜色等默认是由程序决定的, 可以在设置面板->嵌字菜单中改用全局设置. 全局字体格式就是未编辑任何文本块时右侧字体面板显示的格式:
修复画笔
矩形工具
按下鼠标左键拖动矩形框抹除框内文字, 按下右键拉框清除框内修复结果.
抹除结果取决于算法(gif中的"方法1"和"方法2")对文字区域估算的准确程度, 一般拉的框最好稍大于需要抹除的文本块. 两种方法都比较玄学, 能够应付绝大多数简单文字简单背景, 部分复杂背景简单文字/简单背景复杂文字, 少数复杂背景复杂文字, 可以多拉几次试试.
勾选"自动"拉完框立即修复, 否则需要按下"修复"或者空格键才进行修复, 或"Ctrl+D"删除矩形选框.
文本编辑
批量文本格式调整及自动排版
OCR并翻译选中文本框
- Ctrl+Z, Ctrl+Y可以撤销重做大部分操作,注意翻页后撤消重做栈会清空
- A/D或pageUp/Down翻页, 如果当前页面未保存会自动保存
- "T"切换到文本编辑模式下(底部最右"T"图标), W激活文本块创建模式后在画布右键拉文本框
- "P"切换到画板模式, 右下角滑条改原图透明度
- 底部左侧"OCR"和"A"按钮控制启用/禁用OCR翻译功能, 禁用后再Run程序就只做文本检测和抹字
- 设置面板配置各自动化模块参数
- Ctrl++/-或滚轮缩放画布
- Ctrl+A可选中界面中所有文本块
- Ctrl+F查找当前页, Ctrl+G全局查找
- 0-9调整嵌字/原图透明度
- 文本编辑下
Ctrl+B
加粗,Ctrl+U
下划线,Ctrl+I
斜体
本项目重度依赖manga-image-translator, 在线服务器和模型训练需要费用, 有条件请考虑支持一下
- Ko-fi: https://ko-fi.com/voilelabs
- Patreon: https://www.patreon.com/voilelabs
- 爱发电: https://afdian.net/@voilelabs
Sugoi翻译器作者: mingshiba.
暂时仅支持日文(方块字都差不多)和英文检测, 训练代码和说明见https://github.com/dmMaze/comic-text-detector
- AOT修复模型来自manga-image-translator
- patchmatch是非深度学习算法, 也是PS修复画笔背后的算法, 实现来自PyPatchMatch, 本程序用的是我的修改版
- lama*是微调过的lama
谷歌翻译能挂代理建议把url从cn改成com谷歌翻译器已经关闭中国服务, 大陆再用需要设置全局代理, 并在设置面板把url换成*.com- 彩云, 需要申请token
- papago
- DeepL 和 Sugoi(及它的CT2 Translation转换)翻译器, 感谢Snowad14
如需添加新的翻译器请参考加别的翻译器, 本程序添加新翻译器只需要继承基类实现两个接口即可不需要理会代码其他部分, 欢迎大佬提pr