Skip to main content

一个支持图片翻译的nonebot2插件

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-pictranslator

✨ NoneBot 翻译插件 ✨

license pypi python

📖 介绍

一个基于Nonebot2的插件,提供多个api的文本及图片翻译功能,附带中英词典和ocr功能。

支持的API

一般来说只要百度API就够用了,如果想同时返回多个API的结果,可以在配置中填入多个api并将对应TRANSLATE_MODE该为all

API 图片翻译 文本翻译 语种识别 ocr 词典
有道
百度翻译开放平台
百度智能云 🚧
腾讯
天聚数行

有道整体来说质量最好,但免费额度只一次性发放
百度智能云翻译相关资源为一次性发放,OCR为每月刷新,词典不提供免费资源,创建应用时注意把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
详见配置

指令表

所有指令默认使用nonebotCOMMAND_START配置项作为起始字符,可在配置中修改

指令 权限 需要@ 范围 说明
词典/查词 <单词> 群员 群聊 查询单词释义
(图片)翻译/<语言>译<语言> 群员 群聊 核心翻译功能,使用<语言>译<语言>来指定源语言和目标语言,可回复触发
ocr 群员 群聊 进行图片文字提取,可回复触发

示例

以下指令均默认使用/作为起始字符

  • 词典功能 需配置天行api
    /词典 hello
    

以下指令均可回复触发,或是先只发指令后发送内容

  • 文本翻译功能
    /翻译 你好
    /中译英 你好
    
  • 图片翻译功能
    /翻译 [图片]
    /中译英 [图片]
    
  • ocr功能 需配置腾讯api
    /ocr [图片]
    

⚙️ 配置

在 nonebot2 项目的.env文件中视情况添加

配置项 必填 默认值 可填值 说明
PICTRANSLATE_COMMAND_START nonebot自身的COMMAND_START Array[str] 配置命令的起始字符,默认使用nonebot自身的COMMAND_START
OCR_USE_IMAGE_URL false bool 是否允许在调用ocr api时传递图片url而不是图片本身,可能会有一些未知问题
TEXT_TRANSLATE_APIS ['tencent', 'baidu', 'youdao'] Array['tencent', 'baidu', 'youdao', 'baidu_cloud'] 启用哪些API,并以什么优先级调用进行文本翻译
IMAGE_TRANSLATE_APIS ['baidu', 'tencent'] 同上 图片翻译API选择,同上
OCR_APIS ['baidu_cloud', 'tencent'] Array['baidu_cloud', 'tencent'] ocrAPI选择,同上
TEXT_TRANSLATE_MODE 'auto' 'auto', 'random', 'all' 文本翻译模式,auto代表依优先级调用第一个可用API,random为随机选用一个,all代表调用全部可用api
IMAGE_TRANSLATE_MODE 同上 同上 图片翻译模式,同上
OCR_MODE 同上 同上 ocr模式,同上
腾讯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参数
TENCENT_TRANSLATE_FONT {"default":"arial.ttf", "zh":"msyh.ttc"} Dict[String, String] 使用腾讯图片翻译时使用的字体,值的写法能被pillow识别即可,默认为arial.ttf,可分语种设置,如默认中文使用msyh.ttc
有道API相关 / / / 详见有道文档
YOUDAO_ID 若使用则必填 String 有道翻译API的应用ID
YOUDAO_KEY 若使用则必填 String 有道翻译API的应用密钥
USE_YOUDAO / Bool 是否启用有道翻译API,填写了上两项则默认启用
百度API相关 / / / 详见百度文档
BAIDU_ID 若使用则必填 String 百度翻译开放平台的APP ID
BAIDU_KEY 若使用则必填 String 百度翻译开放平台的密钥
USE_BAIDU / Bool 是否启用百度翻译API,填写了上两项则默认启用
百度API相关 / / / 详见百度智能云文档
BAIDU_CLOUD_ID 若使用则必填 String 百度智能云的应用API KEY
BAIDU_CLOUD_KEY 若使用则必填 String 百度智能云的应用Secret KEY
USE_BAIDU_CLOUD / Bool 是否启用百度智能云API,填写了上两项则默认启用
TIANAPI_KEY 若使用则必填 String 天聚数行APIkey,用于中英词典查询

📜 TODOs

  • ocr实现指定目标语言
  • 在命令中指定所使用的api
  • 实现auto模式下一个接口资源使用完后自动切换到下一个

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_pictranslator-1.0.10.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_pictranslator-1.0.10-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_pictranslator-1.0.10.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_pictranslator-1.0.10.tar.gz
Algorithm Hash digest
SHA256 f70771e98b46f894a2a6ed8daa83278d25f10e8d10871cf78a7fc77a9a0d4daf
MD5 6d2938806cb4f0639fb72c78deba9d47
BLAKE2b-256 d7cf9e02ef18c0929cf752c2ad1fefc91ecbf8bf4e198f56adf4676c41c2c79a

See more details on using hashes here.

File details

Details for the file nonebot_plugin_pictranslator-1.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_pictranslator-1.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 e6f7e72558cf395639c1d0c657f17abf7cd24a42839464c0c66dfad056dd39fc
MD5 344f7b4792a7663e2d9a070e63e9a437
BLAKE2b-256 eeb5a0a1e441ee7e94ee180e043ce746e5e396dd08b7e3a144b9d6d88056e159

See more details on using hashes here.

Supported by

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