一个基于Nonebot2的插件,提供多个api的文本及图片翻译功能,附带中英词典和ocr功能。
一般来说只要百度API就够用了,如果想同时返回多个API的结果,可以在配置中填入多个api并将对应TRANSLATE_MODE
该为all
API | 图片翻译 | 文本翻译 | 语种识别 | ocr | 词典 |
---|---|---|---|---|---|
有道 | ✅ | ✅ | ❌ | ❌ | ❌ |
百度 | ✅ | ✅ | ✅ | ❌ | ❌ |
腾讯 | ✅ | ✅ | ✅ | ✅ | ❌ |
天聚数行 | ❌ | ❌ | ❌ | ❌ | ✅ |
有道整体来说质量最好,但免费额度只一次性发放
百度和腾讯的免费额度均每月刷新
腾讯图片翻译不返回渲染后图片,为插件本地渲染,同时只能横向分行识别,质量较差
天聚数行只提供词典功能
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-pictranslator
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install nonebot-plugin-pictranslator
pdm
pdm add nonebot-plugin-pictranslator
poetry
poetry add nonebot-plugin-pictranslator
uv
uv add nonebot-plugin-pictranslator
conda
conda install nonebot-plugin-pictranslator
打开 nonebot2 项目根目录下的 pyproject.toml
文件, 在 [tool.nonebot]
部分追加写入
plugins = ["nonebot_plugin_pictranslator"]
需至少配置一个api才能使用
要自动识别语种,需要配置腾讯或百度api
详见配置
所有指令开头都需要添加/
指令 | 权限 | 需要@ | 范围 | 说明 |
---|---|---|---|---|
词典/查词 <单词> | 群员 | 否 | 群聊 | 查询单词释义 |
(图片)翻译/<语言>译<语言> | 群员 | 否 | 群聊 | 核心翻译功能,使用<语言>译<语言> 来指定源语言和目标语言,可回复触发 |
ocr | 群员 | 否 | 群聊 | 进行图片文字提取,可回复触发 |
- 词典功能 需配置天行api
/词典 hello
以下指令均可回复触发,或是先只发指令后发送内容
- 文本翻译功能
/翻译 你好 /中译英 你好
- 图片翻译功能
/翻译 [图片] /中译英 [图片]
- ocr功能 需配置腾讯api
/ocr [图片]
在 nonebot2 项目的.env
文件中视情况添加
配置项 | 必填 | 默认值 | 可填值 | 说明 |
---|---|---|---|---|
TEXT_TRANSLATE_APIS | 否 | ['tencent', 'baidu', 'youdao'] | Array['tencent', 'baidu', 'youdao'] | 启用哪些API,并以什么优先级调用进行文本翻译 |
IMAGE_TRANSLATE_APIS | 否 | ['baidu', 'youdao', 'tencent'] | Array['tencent', 'youdao', 'baidu'] | 图片翻译API选择,同上 |
TEXT_TRANSLATE_MODE | 否 | 'auto' | 'auto', 'all' | 文本翻译模式,auto 代表以优先级调用第一个可用API,all 代表调用全部可用api |
IMAGE_TRANSLATE_MODE | 否 | 'auto' | 'auto', 'all' | 图片翻译模式,同上 |
腾讯API相关 | / | / | / | 详见腾讯文档 |
TENCENT_ID | 若使用则必填 | 无 | String | 腾讯API的secret_id |
TENCENT_KEY | 若使用则必填 | 无 | String | 腾讯API的secret_key |
USE_TENCENT | 否 | / | Bool | 是否启用腾讯API,填写了上两项则默认启用 |
TENCENT_PROJECT_ID | 否 | 0 | Int | 腾讯API的project_id |
TENCENT_API_REGION | 否 | ap-shanghai | String | 腾讯API的region参数 |
有道API相关 | / | / | / | 详见有道文档 |
YOUDAO_ID | 若使用则必填 | 无 | String | 有道翻译API的secret_id |
YOUDAO_KEY | 若使用则必填 | 无 | String | 有道翻译API的secret_key |
USE_YOUDAO | 否 | / | Bool | 是否启用有道翻译API,填写了上两项则默认启用 |
百度API相关 | / | / | / | 详见百度文档 |
BAIDU_ID | 若使用则必填 | 无 | String | 百度翻译API的secret_id |
BAIDU_KEY | 若使用则必填 | 无 | String | 百度翻译API的secret_key |
USE_BAIDU | 否 | / | Bool | 是否启用百度翻译API,填写了上两项则默认启用 |
TIANAPI_KEY | 若使用则必填 | 无 | String | 天聚数行APIkey,用于中英词典查询 |