translator / app.py
admin
add cache_examples=False,
53365eb
raw
history blame
1.61 kB
import os
import json
import requests
import gradio as gr
def translate(source, direction):
if not source or not direction:
return "Please enter valid text and select the mode!"
# WARNING, this token is a test token for new developers, and it should be replaced by your token
payload = {
"source": source,
"trans_type": direction,
"request_id": "demo",
"detect": True,
}
headers = {
"content-type": "application/json",
"x-authorization": f"token {os.getenv('token')}",
}
try:
response = requests.request(
"POST",
"http://api.interpreter.caiyunai.com/v1/translator",
data=json.dumps(payload),
headers=headers,
)
return json.loads(response.text)["target"]
except Exception as e:
return f"{e}"
if __name__ == "__main__":
gr.Interface(
fn=translate,
inputs=[
gr.TextArea(
label="Input text area",
placeholder="Type the text here...",
show_copy_button=True,
),
gr.Dropdown(choices=["auto2en", "auto2zh", "auto2ja"], label="Mode"),
],
outputs=gr.TextArea(label="Translation results", show_copy_button=True),
flagging_mode="never",
examples=[
["彩云小译は最高の翻訳サービスです", "auto2en"],
["Lingocloud is the best translation service.", "auto2zh"],
],
cache_examples=False,
).launch()