|
|
import gradio as gr |
|
|
|
|
|
from backend.text_to_tgt import src_txt_to_eng_translator |
|
|
from backend.audio_to_tgt import src_audio_to_eng_translator |
|
|
from backend.image_to_tgt import src_image_to_eng_translator, language_dict |
|
|
|
|
|
|
|
|
heading_txt = "Text-to-English" |
|
|
description_txt = '''Enter text in any language, and get the translation in English.''' |
|
|
|
|
|
txt_interface = gr.Interface( |
|
|
fn=src_txt_to_eng_translator, |
|
|
inputs=[ |
|
|
gr.Textbox(label="Text Input"), |
|
|
], |
|
|
outputs=gr.Textbox(label="Translation"), |
|
|
title=heading_txt, |
|
|
description=description_txt |
|
|
) |
|
|
|
|
|
heading_image = "Image-to-English" |
|
|
description_image = "Upload an image to extract text and translate it to English." |
|
|
|
|
|
sorted_languages = sorted(language_dict.keys()) |
|
|
|
|
|
image_interface = gr.Interface( |
|
|
fn=src_image_to_eng_translator, |
|
|
inputs=[ |
|
|
gr.Image(label="Upload an Image", type="filepath"), |
|
|
gr.Dropdown(choices=sorted_languages, |
|
|
label="Select Language", |
|
|
|
|
|
) |
|
|
], |
|
|
outputs=[ |
|
|
gr.Textbox(label="Image Text"), |
|
|
gr.Textbox(label="Translated Text") |
|
|
], |
|
|
title="Image Text Extractor and Translator", |
|
|
description=description_image, |
|
|
) |
|
|
|
|
|
heading_audio = "Audio-to-English" |
|
|
description_audio = "Upload an audio file to extract text and translate it to English." |
|
|
|
|
|
audio_interface = gr.Interface( |
|
|
fn=src_audio_to_eng_translator, |
|
|
inputs=gr.Audio(label="Upload an Audio file", type="filepath"), |
|
|
outputs=gr.Textbox(label="Translated Text in English"), |
|
|
title=heading_audio, |
|
|
description=description_audio |
|
|
) |
|
|
combined_interface = gr.TabbedInterface( |
|
|
[txt_interface, image_interface, audio_interface], |
|
|
['Text-to-English', 'Image-to-English', 'Audio-to-English'] |
|
|
) |
|
|
|
|
|
combined_interface.launch() |