Obsidian实现百度翻译

  1. 安装插件Search on Internet
  2. 申请 百度翻译API
  3. 填入appid以及appkey后修改插件配置,设置to_lang可以改变翻译的语言,具体查看百度翻译API文档
    1. https://aweme.top/query?query={{query}}&appid={appid}&appkey={appkey}&to_lang=zh
  4. 选中文本后右键 Search on 百度翻译
  5. 实现效果
    在这里插入图片描述
  6. 自行部署代码
from flask import Flask, request, jsonify  
import hashlib  
import requests  
import random  
  
app = Flask(__name__)  
  
from_lang = 'auto'  
#to_lang = 'zh'  
  
endpoint = 'http://api.fanyi.baidu.com'  
path = '/api/trans/vip/translate'  
url = endpoint + path  
  
def make_md5(s, encoding='utf-8'):  
    return hashlib.md5(s.encode(encoding)).hexdigest()  
  
@app.route('/query', methods=['GET'])  
def translate_query():  
    try:  
        # 获取查询参数  
        query = request.args.get('query', '')  
        appid = request.args.get('appid', '')  
        appkey= request.args.get('appkey', '')  
        to_lang= request.args.get('to_lang', '')  
  
        # 随机生成salt  
        salt = random.randint(32768, 65536)  
  
        # 计算md5  
        sign = make_md5(appid + query + str(salt) + appkey)  
  
        # 构建请求参数  
        headers = {'Content-Type': 'application/x-www-form-urlencoded'}  
        payload = {'appid': appid, 'q': query, 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}  
  
        # 发送请求到翻译API  
        response = requests.post(url, params=payload, headers=headers)  
        result = response.json()  
  
        # 提取翻译结果  
        translations = result.get("trans_result", [])  
        output = []  
  
        for item in translations:  
            dst = item.get("dst", "")  
            src = item.get("src", "")  
  
            output.append(f"译文: <br> {dst} <br><br> 原文: <br> {src}")  
            
        return "\n\n".join(output)  
    except Exception as e:  
        return jsonify({'error': str(e)}), 500  
  
if __name__ == '__main__':  
    app.run(debug=True, port=8081)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

houinin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值