File size: 1,741 Bytes
0e096ac
 
 
 
 
578a906
63e4dbf
 
578a906
 
70fa9fb
63e4dbf
 
57735bf
70fa9fb
 
 
 
 
578a906
f910e58
3929db9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
aa5eadc
 
70fa9fb
3929db9
 
 
 
 
 
63e4dbf
3929db9
 
70fa9fb
578a906
3929db9
63e4dbf
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
import gradio as gr
from transformers import pipeline

pipe = pipeline("translation", model="t5-base", tokenizer_kwargs={"model_max_length": 1024})

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

def translate_callback(english, language_select):
    if english is None or english == "":
        return ""
    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(
        fn=translate_callback,
        inputs=[english_textbox, language_select],
        outputs=translated_textbox,
        title="Text Translation",
        description="Translate English text to German, French, or Lao."
    )

    iface.launch()

if __name__ == "__main__":
    main()