File size: 1,426 Bytes
a0f3ffa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gio
from inference import Translator


class TranslationInterface:
    def __init__(self, languages, create_response) -> None:
        self.interface = gio.Interface(
            create_response,
            [
                gio.Dropdown(
                    languages,
                    label="Input Language",
                    info="The language to translate from",
                    value=languages[0]
                ),
                gio.Dropdown(
                    languages,
                    label="Output Language",
                    info="The language to translate to",
                    value=languages[-1]
                ),
                gio.Textbox(
                    label="Input text",
                    info="The text to be translated",
                    lines=2,
                    value="Momme wohnt in Niebüll."
                )
            ],
            "text"
        )
    
    def launch(self):
        self.interface.launch()

if __name__ == "__main__":
    translator = Translator.from_pretrained('CmdCody/nllb-deu-moo')
    
    def generate_translation(src_lang, tgt_lang, message):
        result = translator.translate(message, src_lang=src_lang, tgt_lang=tgt_lang)
        return result[0]
    
    interface = TranslationInterface(
        ["deu_Latn", "eng_Latn", "dan_Latn", "moo_Latn"],
        generate_translation
    )
    interface.launch()