tran.py
import json
import urllib.parse
import urllib.request
import re
def translate(text, s_lang='', t_lang=''):
DEEPL_TRANSLATE_EP = 'https://api.deepl.com/v2/translate'
headers = {
'Content-Type': 'application/x-www-form-urlencoded; utf-8'
}
params = {
'auth_key': "",#Entrez la clé API ici
'text': text,
'target_lang': t_lang
}
if s_lang != '':
params['source_lang'] = s_lang
req = urllib.request.Request(
DEEPL_TRANSLATE_EP,
method='POST',
data=urllib.parse.urlencode(params).encode('utf-8'),
headers=headers
)
try:
with urllib.request.urlopen(req) as res:
res_json = json.loads(res.read().decode('utf-8'))
res_json=res_json["translations"][0]["text"]
return json.dumps(res_json, indent=2, ensure_ascii=False)
except urllib.error.HTTPError as e:
return "Je n'ai pas pu l'obtenir."
#Ajouté ce qui précède
with open('text.txt') as f:
text = f.read()
text=re.sub('\n', ' ', text)
text = translate(text, s_lang='', t_lang='JA')
text=re.sub('\n', ' ', text)
print(text)
Placez tran.py et text.txt dans la même hiérarchie et entrez le texte anglais que vous souhaitez traduire en text.txt
python tran.py
Exécutez tran.py sur.
J'ai essayé d'utiliser l'API DeepL avec Python
Recommended Posts