myn0908's picture
update readme
ea340dc
raw
history blame
2.51 kB
import gradio as gr
from translator import ServerTranslator
import json
def clear_all(input_json, input_text, input_dest_lang, translated_text_json, translted_text_text):
return None, "", "", "", ""
def translate_text_json(input_json):
# Translation code for JSON input
try:
json_file_path = input_json.name
with open(json_file_path, 'r') as f:
file_content = f.read()
json_input = json.loads(file_content)
translation = ServerTranslator.language_translator(inputs_data=json_input).translate()
translate_text = translation['text']
return translate_text
except Exception as e:
translate_text = f"Error: {str(e)}"
return translate_text
def translate_text_text(input_text, input_dest_lang):
# Translation code for text input
try:
translation = ServerTranslator.language_translator(text=input_text, dest_language=input_dest_lang).translate()
translate_text = translation['text']
return translate_text
except Exception as e:
translate_text = f"Error: {str(e)}"
return translate_text
with gr.Blocks() as demo:
with gr.Column():
gr.Markdown("# Translator For Upload JSON file")
translated_text_json = gr.Textbox(label="Result Translate Text")
input_json = gr.File(label="Upload JSON file")
submit_json = gr.Button("Submit Json")
submit_json.click(
translate_text_json,
[input_json], # Pass all three inputs
[translated_text_json]
)
with gr.Column():
gr.Markdown("# Translator For Input Text and Destination Language")
translated_text_text = gr.Textbox(label="Result Translate Text")
input_dest_lang = gr.Textbox(placeholder='Example input: vi', label="Destination Language")
input_text = gr.Textbox(placeholder='Example inputs: I love you, I love you than myself',
label="Enter Text")
submit_text = gr.Button("Submit Text")
submit_text.click(
translate_text_text,
[input_text, input_dest_lang], # Pass all three inputs
[translated_text_text]
)
clear = gr.Button("Clear")
clear.click(
clear_all,
[input_json, input_text, input_dest_lang, translated_text_json, translated_text_text],
[input_json, input_text, input_dest_lang, translated_text_json, translated_text_text]
)
demo.launch(share=True)