File size: 1,621 Bytes
578a906
 
 
 
 
 
 
 
70fa9fb
57735bf
70fa9fb
 
 
 
 
578a906
f910e58
70fa9fb
 
 
 
 
f910e58
70fa9fb
 
f910e58
 
70fa9fb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
578a906
f910e58
 
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
import gradio as gr
from transformers import pipeline

pipe = pipeline("translation", model="t5-base")

def translate(text, target_language):
    return pipe(text, target_language=target_language)[0]["translation_text"]

def translate_callback(english, language_select):
    target_language = "de" if language_select == "German" else "fr" if language_select == "French" else "lo"
    translated_text = translate(english, target_language)
    return translated_text

def clear_callback(english):
    return ""

def main():
    english_textbox = gr.inputs.Textbox(label="English text")
    language_select = gr.inputs.Dropdown(label="Translate to", choices=["German", "French", "Lao"])
    translated_textbox = gr.outputs.Textbox(label="Translated Text")

    translate_interface = gr.Interface(
        fn=translate_callback,
        inputs=[english_textbox, language_select],
        outputs=translated_textbox,
        title="Text Translation",
        description="Translate English text to German, French, or Lao."
    )

    clear_interface = gr.Interface(
        fn=clear_callback,
        inputs=english_textbox,
        outputs=translated_textbox,
        title="Text Translation",
        description="Translate English text to German, French, or Lao."
    )

    iface = gr.Interface(
        [translate_interface, clear_interface],
        gr.Interface.Column([english_textbox, language_select, translate_interface, clear_interface], labels=["English text", "Translate to", "Translate", "Clear"]),
        gr.Interface.Row([translated_textbox])
    )

    iface.launch()

if __name__ == "__main__":
    main()