mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-01-13 01:58:27 +08:00
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
|
#!/usr/bin/env python3
|
||
|
import os
|
||
|
import json
|
||
|
import requests
|
||
|
import traceback
|
||
|
|
||
|
class Trans():
|
||
|
isTrans = False
|
||
|
unCloudTrans = True
|
||
|
word = {}
|
||
|
fileName = ""
|
||
|
|
||
|
def __init__(self, lang="zh_CN", fileName=f"trans.json") -> None:
|
||
|
self.fileName = fileName
|
||
|
self.isTrans = (lang != "zh_CN")
|
||
|
if self.isTrans:
|
||
|
try:
|
||
|
if not os.path.exists(fileName):
|
||
|
with open(fileName, "w") as file:
|
||
|
file.write("{}")
|
||
|
with open(fileName, "r") as file:
|
||
|
self.word = json.loads(file.read())
|
||
|
except:
|
||
|
traceback.print_exc()
|
||
|
self.isTrans = False
|
||
|
|
||
|
def transe(self, temp, text) -> str:
|
||
|
if not self.isTrans:
|
||
|
return text
|
||
|
try:
|
||
|
return self.word[text]
|
||
|
except:
|
||
|
if self.unCloudTrans:
|
||
|
return text
|
||
|
# 机翻
|
||
|
data = { 'doctype': 'json', 'type': 'auto','i': text}
|
||
|
jsonReturn = requests.post("http://fanyi.youdao.com/translate", data=data).json()["translateResult"]
|
||
|
transText = ""
|
||
|
for i in jsonReturn:
|
||
|
print(i[0])
|
||
|
transText += f'{i[0]["tgt"]}\n'
|
||
|
if "\n" in text:
|
||
|
transText = transText.replace("\n\n", "\n")[:-1]
|
||
|
else:
|
||
|
transText = transText[:-1]
|
||
|
self.word[text] = transText
|
||
|
try:
|
||
|
with open(self.fileName, "w") as file:
|
||
|
file.write(json.dumps(self.word, ensure_ascii=False))
|
||
|
except:
|
||
|
traceback.print_exc()
|
||
|
print(f"{text}=>{transText}")
|
||
|
return transText
|