大神论坛

找回密码
快速注册
查看: 122 | 回复: 0

[源码] 谷歌翻译接口API 中英互翻 自动识别多国语言 无请求限制

主题

帖子

0

积分

初入江湖

UID
654
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-10-14 10:45
发表于 2023-12-02 09:44
本帖最后由 CharlotteAlice 于 2023-12-02 09:44 编辑

谷歌翻译接口API,中英互翻,自动识别多国语言

接口请求说明

本接口为个人开发自用,已经稳定两年有余

目前接口并未做任何并发与请求限制,服务器负载能力尚可

请大家合理使用,一个好的翻译接口实为难得,在合理范围内,本接口将会一直维护下去

如有滥用/多线程并发请求影响了接口整体运行,将有可能对其IP进行Block

如果输入文本是中文那么默认目标语言是英文,反之亦然。如果输入文本是除中英以外的语言,默认目标语言是中文。

接口返回参数说明

接口用处-请自行发挥想象力

可用于各种编程语言或翻译软件当中,

比如在VScode里的翻译插件添加自定义接口,给翻译软件软件自定义接口等

Python代码示例

# -*- coding: utf-8 -*-
import requests
from requests.exceptions import RequestException
from json import JSONDecodeError
import tkinter as tk
from tkinter.font import Font

def translate_text(event=None):
text = entry.get()
url = f"https://findmyip.net/api/translate.php?text={text}"
response = requests.get(url)

try:
data = response.json()
if response.status_code == 200:
if data['code']== 200:
translation = data['data']['translate_result']
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, translation)
result.config(state='disabled')
elif data['code'] == 400:
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, data['error'])
result.config(state='disabled')
else:
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, "内部接口错误,请联系开发者")
result.config(state='disabled')
else:
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, "内部接口错误,请联系开发者")
result.config(state='disabled')
except JSONDecodeError as e:
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, f"JSON decoding error: {e}")
result.config(state='disabled')
except RequestException as e:
result.config(state='normal')
result.delete(1.0, tk.END)
result.insert(tk.END, f"Request error: {e}")
result.config(state='disabled')

root = tk.Tk()
root.title('by:大神论坛 www.dslt.tech')
root.geometry('700x500') # 设置窗口大小

fontStyle = Font(family="Lucida Grande", size=20) # 设置字体和大小

frame = tk.Frame(root)
frame.pack(fill=tk.X)

label = tk.Label(frame, text='请输入需要翻译的文字:', font=fontStyle)
label.pack(side=tk.LEFT)

entry = tk.Entry(frame, font=fontStyle)
entry.pack(side=tk.LEFT, fill=tk.X, expand=True)
entry.bind('<Return>', translate_text) # 绑定回车键

button = tk.Button(frame, text='翻译', command=translate_text, font=fontStyle)
button.pack(side=tk.RIGHT)

result = tk.Text(root, state='disabled', font=fontStyle)
result.pack(fill=tk.BOTH, expand=True)

root.mainloop()


注:若转载请注明大神论坛来源(本贴地址)与作者信息。

返回顶部