Skip to main content

基于nonebot2的适配多种api的图片/漫画翻译插件

Project description

nonebot

nonebot-plugin-manga-translator

基于Nonebot2的图片/漫画翻译插件

💿安装

通过pipnb安装;

  • 使用nb: 在机器人目录下命令行使用 nb plugin install nonebot_plugin_manga_translator
  • 使用pip(不推荐): 不推荐就是不推荐,略略略

📖简介

  1. 适配多种api,将收到的图片翻译并发送翻译后的图片,支持批量操作

  2. ⚙️插件配置

请在机器人目录下的.env.*里填写以下选项(至少填一个平台的),获取方式已整理好,见下方

个人感觉就漫画翻译而言,这几家API的效果大致为有道>=百度≈离线>=火山,且火山翻译对竖版日文的翻译效果很差

配置项 类型 默认值 示例 说明 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:5003" 见下方说明
其他翻译API(待更新) - - - -

🔑API获取

有道翻译
  1. 有道智云AI开放平台注册并登录后,进入控制台
  2. 在左侧自然语言翻译服务里的图片翻译里创建应用,选择服务和接入方式分别为图片翻译API,其他项随意。 Image text
  3. 创建后将应用ID应用秘钥按照上面的配置说明分别填入.env.*文件里即可
百度翻译
  1. 百度翻译开放平台注册并登录
  2. 找到产品服务图片翻译,申请创建
  3. 创建后在管理控制台总览中找到APP ID密钥,根据上面的配置说明填入.env.*文件
火山翻译
  1. 根据火山引擎的文档,按流程注册
  2. 创建好服务后获取到密钥,分别为Access Key IDSecret Access Key,然后点击Secret Access Key下的按钮显示出密钥
  3. 分别根据上面的配置说明填入.env.*文件
离线翻译 (该方案对设备配置要求较高,建议在有足够的硬盘空间、内存、显存,或有一台能为bot处理请求的服务器时考虑使用该方案)
  1. 参考manga-image-translator的说明,克隆仓库,并安装相关依赖(可能需要额外安装pydensecrf)

  2. 安装好依赖后,在仓库目录下运行

    python -m manga_translator -v --mode web --use-cuda# the demo will be serving on http://127.0.0.1:5003
    
  3. 如果你的设备没有成功安装cuda(要求pytorch的版本和cuda对应,不对应请重装),请去掉参数--use-cuda,如果图片处理过程中爆显存,请改成--use-cuda-limited

  4. 你可以访问控制台给出的网址,尝试先本地翻译一张图片,此时会根据选项下载需要的模型(为防止下载失败,也可以提前手动下载)

  5. 如果bot和翻译器在同一台设备,那么.env填写offline_url="http://127.0.0.1:5003"即可,如果不在同一台设备,你可能还需要放行防火墙、端口转发等,并且填写内容也会有所变化

  6. 最后你可能还需要修改一下本插件的代码,找到本插件utils.pyoffline函数,根据注释和文档,修改字典data,从而指定你想要的OCR模型和翻译模型(目前是用了offline模型,你可以改成别的)

🎉命令

  1. 图片翻译 [图片]:单张图片翻译,也可以先发送/图片翻译再发送图片,可以如下组合

    1. 文字+图片
    2. 先文字,后图片
    3. 文字回复图片
  2. 多图片翻译 [图片]:n张图片翻译,将会以合并转发消息的形式发出,可以如下组合

    1. 先文字,后多张图片
    2. 文字+图片*n
  3. 切换翻译api [api]: 将该api优先级提到最高,目前有youdao baidu huoshan offline

未完待续

⭐效果图

🌙更新日志

点击展开
  • 2023-05-03:

    • 更新说明文档
    • 适配火山翻译api,你可以选择接入火山翻译提供的API
  • 2023-05-01:

    • 添加切换api的功能,你可以将某个api优先级设为最高
    • 适配离线翻译apimanga-image-translator,现在你可以体验本地的翻译
  • 2023-04-28:

    • 插件发布

🐦计划

✨喜欢的话就点个star✨吧,球球了QAQ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_manga_translator-0.1.2.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page