Spaces:
Sleeping
Sleeping
File size: 1,498 Bytes
418e44e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import requests
import os
import unicodedata
from langdetect import detect
import deepl
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
DEBUG=os.getenv("DEBUG")
DEEPL_URL="https://api-free.deepl.com/v2/translate"
def DeepL(text,source_lang="JA",target_lang="EN",API_KEY=os.getenv("DEEPL")):
#paraters パラメータの指定
params = {
'auth_key' : API_KEY,
'text' : text,
'source_lang' : source_lang, # 翻訳対象の言語
"target_lang": target_lang # 翻訳後の言語
}
# リクエストを投げる
request = requests.post(DEEPL_URL, data=params) # URIは有償版, 無償版で異なるため要注意
result = request.json()
if DEBUG:
print("DeepL Request print")
print(result)
if "translations" not in result:
print("DEEPL ERROR")
print(result)
return "404"
return result["translations"][0]["text"]
def detect_and_translate(text):
# Detect language
try:
lang = detect(text)
print(lang)
except:
return "Error detecting language"
# If language is not English, translate it
if lang != "en":
text=DeepL(text,source_lang=lang,target_lang="EN",API_KEY=os.getenv("DEEPL"))
return text
def main():
test_test="DEEPLのテストの翻訳です"
print(detect_and_translate(test_test))
if __name__=="__main__":
main() |