基于nonebot2的适配多种api的图片/漫画翻译插件
Project description
nonebot-plugin-manga-translator
✨基于Nonebot2的图片/漫画翻译插件✨
💿安装
通过pip或nb安装;
- 使用nb:
在机器人目录下命令行使用
nb plugin install nonebot_plugin_manga_translator - 使用pip(不推荐):
pip install nonebot_plugin_manga_translator之后在机器人pyproject.toml里的plugins = []列表追加"nonebot_plugin_manga_translator"
📖简介
-
适配多种api,将收到的图片翻译并发送翻译后的图片,支持批量操作
-
本插件0.2.0版本开始基于nonebot-plugin-alconna插件,适配了多平台(不一定稳定,欢迎提issue或pr),之前的版本(<=0.1.3)支持onebot.v11适配器
⚙️插件配置
配置驱动器
为了适配多平台,从0.2.0以及之后的版本插件需要“客户端型驱动器”(如 httpx)来下载图片等,驱动器安装和配置参考 NoneBot 选择驱动器
我知道很少人会去看,所以你可以直接按照下面两步操作
首先找到你的平台协议需要的驱动器,大部分情况下可以httpx,例如
nb driver install httpx
并且需要在 .env.* 配置文件中启用对应的驱动器,例如:
DRIVER=~fastapi+~httpx
获取API
请在机器人目录下的.env.*里填写以下选项(至少填一个平台的,如果没有就不用填),获取方式见下方
| 配置项 | 类型 | 默认值 | 示例 | 说明 | API定价 |
|---|---|---|---|---|---|
| 有道翻译API | - | - | - | - | 新用户送一定额度,梯度收费,0<月调用量<100w时,0.04元/张 |
| youdao_app_key | str | "" | youdao_app_key="xxxxx" | 应用ID | |
| youdao_app_secret | str | "" | youdao_app_secret="xxxxxx" | 应用秘钥 | |
| 百度翻译API | - | - | - | - | 每月1万次免费调用量,之后按梯度收费,最高0.04元/次 |
| baidu_app_id | str | "" | baidu_app_id="66666" | APP ID | |
| baidu_app_key | str | "" | baidu_app_key="xxxxxx" | 密钥 | |
| 火山翻译API | - | - | - | - | 每月前100张免费,之后0.04元/张 |
| huoshan_access_key_id | str | "" | huoshan_access_key_id="AK***" | Access Key ID | |
| huoshan_secret_access_key | str | "" | huoshan_secret_access_key="UT**" | Secret Access Key | |
| 离线翻译API | - | - | - | - | - |
| offline_url | str | "" | offline_url="http://127.0.0.1:8000" | 见下方说明 | |
| offline_api_config | dict | 默认设置是offline模型+CHS目标语言不用改 | 要改的话见下方说明 | 参考 manga-image-translator的文档 | 需要注意嵌套字典的写法 |
| 其他翻译API(待更新) | - | - | - | - |
🔑API获取
有道翻译
- 在有道智云AI开放平台注册并登录后,进入控制台
- 在左侧
自然语言翻译服务里的图片翻译里创建应用,选择服务和接入方式分别为图片翻译和API,其他项随意。 - 创建后将
应用ID和应用秘钥按照上面的配置说明分别填入.env.*文件里即可
百度翻译
- 在百度翻译开放平台注册并登录
- 找到
产品服务的图片翻译,申请创建 - 创建后在
管理控制台的总览中找到APP ID和密钥,根据上面的配置说明填入.env.*文件
火山翻译
- 根据火山引擎的文档,按流程注册
- 创建好服务后获取到密钥,分别为
Access Key ID和Secret Access Key,然后点击Secret Access Key下的按钮显示出密钥 - 分别根据上面的配置说明填入.env.*文件
离线翻译
(该方案对设备配置要求较高,建议在有足够的硬盘空间、内存、显存,或有一台能为bot处理请求的服务器时考虑使用该方案)-
参考manga-image-translator的说明,克隆仓库,并安装相关依赖(可能需要手动额外安装
pydensecrf) -
安装好依赖后,在serber目录下运行
# manga-image-translator/server 目录下 python main.py --use-cuda # the demo will be serving on http://127.0.0.1:8000,此时会提供一个网页,可以点击打开
-
如果你的设备没有成功安装torch-cuda(要求pytorch的版本和cuda对应,不对应请重装,这里建议使用conda),请去掉参数
--use-cuda,如果图片处理过程中爆显存,请改成--use-cuda-limited -
你可以访问控制台给出的网址,尝试先手动翻译一张图片,此时会根据选项下载需要的模型(为防止下载失败,也可以提前手动下载)
-
如果bot和翻译器在同一台设备,那么.env填写
offline_url="http://127.0.0.1:8000"即可,如果不在同一台设备,你可能还需要放行防火墙、端口转发等,并且填写内容也会有所变化 -
关于.env填写的offline_api_config(或者你也可以直接改源码),默认情况不需要改,需要参考文档,修改字典
config,从而指定你想要的OCR模型和翻译模型以及修复模型。需要注意在填写.env时,如果是多行嵌套字典,参考NB文档,需要根据env_nested_delimiter配置嵌套字典,在层与层之间使用双下划线__分隔,比如默认的配置就等价于写入.envoffline_api_config__translator__target_lang="CHS" offline_api_config__translator__translator="offline"默认情况
🎉命令
-
图片翻译 [图片]:单张图片翻译,也可以先发送/图片翻译再发送图片,可以如下组合
- 文字+图片
- 先文字,后图片
- 文字回复图片
-
多图片翻译 [图片]:n张图片翻译,将会以合并转发消息(如果平台支持,否则则一张一张发出)的形式发出,可以如下组合
- 先文字,后多张图片
- 文字+图片*n
-
切换翻译api [api]: 将该api优先级提到最高,目前有
youdao baidu huoshan offline
未完待续
⭐效果图
🌙更新日志
点击展开
-
2025-03-12:
- 支持新版manga-image-translator,config配置和api均有所变化
-
2024-10-27:
- 将offline的配置移到.env,增强错误提示
-
2024-08-17:
- 兼容pydantic V2
-
2024-04-23:
- 更新PIL版本,修复压缩png图片时失败
-
2024-04-23:
- 更新版本,这个版本起开始基于nonebot-plugin-alconna插件支持多适配器多平台(可能有bug),同时更新nonebot2依赖至2.2.0以上
-
2023-06-09:
- 更新插件元数据
-
2023-05-03:
- 更新说明文档
- 适配火山翻译api,你可以选择接入火山翻译提供的API
-
2023-05-01:
- 添加切换api的功能,你可以将某个api优先级设为最高
- 适配离线翻译apimanga-image-translator,现在你可以体验本地的翻译
-
2023-04-28:
- 插件发布
🐦计划
-
适配离线翻译模型manga-image-translator
-
支持更多API
-
多平台适配
-
优化代码
-
支持指定源语言和目标语言
-
完善插件
✨喜欢的话就点个star✨吧,球球了QAQ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_manga_translator-0.2.5.tar.gz.
File metadata
- Download URL: nonebot_plugin_manga_translator-0.2.5.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9050330554e3e119f74fe03a4e868c271df85719ad65fada6f5311b6fe87ca9a
|
|
| MD5 |
ebafb14a29dbb3867791fc9cb5055982
|
|
| BLAKE2b-256 |
9c804d5d9d6c8513fb179a65fcd43ea9536f19f68900c175c90c2dde1c36523b
|
File details
Details for the file nonebot_plugin_manga_translator-0.2.5-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_manga_translator-0.2.5-py3-none-any.whl
- Upload date:
- Size: 12.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68a12bf3baaccd656eacea2ea2c913581481ca4ce1ec8bb810d1d9cbbe8f64f5
|
|
| MD5 |
7631a4b628b74e9e4e6c8987d6574e22
|
|
| BLAKE2b-256 |
77cd8d3fc16a5c7033fbfc38ab3229170749e2a563bd6d5e8da2bb4b6318160a
|