dmMaze / BallonsTranslator

深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning
GNU General Public License v3.0
2.25k stars 150 forks source link
auto-translation chinese-translation comics computer-aided-translation computer-vision deep-learning inpainting manga ocr pyqt pyqt6 pytorch qt qt6 scene-text-detection

BallonTranslator

简体中文 | English | pt-BR | Русский | 日本語 | Indonesia | Tiếng Việt

深度学习辅助漫画翻译工具,支持一键机翻和简单的图像/文本编辑

界面预览

Features

使用说明

Windows

如果用 Windows 而且不想自己手动配置环境,而且能正常访问互联网:
MEGAGoogle 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 等依赖项并下载所需模型和文件,如果模型下载失败,需要手动从 MEGAGoogle Drive 下载 data 文件夹(或者报错里提到缺失的文件),并保存到源码目录下的对应位置。

如果要使用Sugoi翻译器(仅日译英),下载离线模型,将 sugoi_translator 移入 BallonsTranslator/ballontranslator/data/models。

构建 macOS 应用(适用 apple silicon 芯片)

如果构建不成功也可以直接跑源码

录屏2023-09-11 14 26 49

# 第1步:打开终端并确保当前终端窗口的Python大版本号是3.12,可以用下面的命令确认版本号
python3 -V
# 如果没有安装Python 3.12,可以通过Homebrew安装
brew install python@3.12 python-tk@3.12

# 第2步:克隆仓库并进入仓库工作目录
git clone -b dev https://github.com/dmMaze/BallonsTranslator.git
cd BallonsTranslator

# 第3步:创建和启用 Python 3.12 虚拟环境
python3 -m venv venv
source venv/bin/activate

# 第4步:安装依赖
pip3 install -r requirements.txt

# 第5步:源码运行程序,会自动下载 data 文件,每个文件在20-400MB左右,合计大约1.67GB,需要比较稳定的网络,如果下载报错,请重复运行下面的命令直至不再下载报错并启动程序
# 下载完毕后运行下面的命令,如果正常运行且未报错,则继续进入打包应用程序的步骤
python3 launch.py

# 第6步:下载macos_arm64_patchmatch_libs.7z到项目根目录下的'.btrans_cache'隐藏文件夹
# 该步骤是为了防止打包好的应用程序首次启动时重新下载macos_arm64_patchmatch_libs.7z导致启动失败(大概率)
mkdir ./.btrans_cache2
curl -L https://github.com/dmMaze/PyPatchMatchInpaint/releases/download/v1.0/macos_arm64_patchmatch_libs.7z -o ./.btrans_cache/macos_arm64_patchmatch_libs.7z

# 第7步:下载微软雅黑字体并放到fonts文件夹下,该步骤为可选项,不影响打包,只影响字体报错信息

# 第8步:构建 macOS 应用程序中途 sudo 命令需要输入开机密码授予权限
# 安装打包工具pyinstaller
pip3 install pyinstaller
# 删除MacOS下特有的.DS_Store文件,这些文件可能导致打包失败(中概率)
sudo find ./ -name '.DS_Store' -delete
# 开始打包.app应用程序
sudo pyinstaller launch.spec

📌打包好的应用在./data/BallonsTranslator/dist/BallonsTranslator.app,将应用拖到 macOS 的应用程序文件夹即完成安装,开箱即用,不需要另外配置 Python 环境。

一键翻译

建议在命令行终端下运行程序,首次运行请先配置好源语言/目标语言,打开一个带图片的文件夹,点击 Run 等待翻译完成

一键机翻嵌字格式如大小、颜色等默认是由程序决定的,可以在设置面板->嵌字菜单中改用全局设置。全局字体格式就是未编辑任何文本块时右侧字体面板显示的格式:

画板

修复画笔

修复画笔

矩形工具

矩形工具

按下鼠标左键拖动矩形框抹除框内文字,按下右键拉框清除框内修复结果。
抹除结果取决于算法(gif 中的"方法1"和"方法2")对文字区域估算的准确程度,一般拉的框最好稍大于需要抹除的文本块。两种方法都比较玄学,能够应付绝大多数简单文字简单背景,部分复杂背景简单文字/简单背景复杂文字,少数复杂背景复杂文字,可以多拉几次试试。
勾选"自动"拉完框立即修复,否则需要按下"修复"或者空格键才进行修复,或 Ctrl+D 删除矩形选框。

文本编辑

文本编辑

批量文本格式调整及自动排版

OCR并翻译选中文本框

界面说明及快捷键

命令行模式 (无GUI)

python launch.py --headless --exec_dirs "[DIR_1],[DIR_2]..."

所有设置 (如检测模型, 原语言目标语言等) 会从 config/config.json 导入。
如果渲染字体大小不对, 通过 --ldpi 指定 Logical DPI 大小, 通常为 96 和 72。

自动化模块

本项目重度依赖 manga-image-translator,在线服务器和模型训练需要费用,有条件请考虑支持一下

Sugoi 翻译器作者: mingshiba

文本检测

OCR

图像修复

翻译器

其它优秀的离线英文翻译模型请参考这条讨论
如需添加新的翻译器请参考加别的翻译器,本程序添加新翻译器只需要继承基类实现两个接口即可不需要理会代码其他部分,欢迎大佬提 pr