File size: 1,735 Bytes
4c2aeaa
 
 
 
 
 
 
 
 
03cd994
 
4c2aeaa
 
03cd994
 
 
 
4c2aeaa
03cd994
 
 
 
 
 
 
 
 
4c2aeaa
 
df1142f
4c2aeaa
 
 
 
 
 
 
 
 
 
 
 
 
3f4d2ea
4c2aeaa
 
 
3f4d2ea
dea2412
4c2aeaa
 
 
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
import gradio as gr
from translate import Translator

def translate_text(text, from_lang, to_lang):
    translator = Translator(from_lang=from_lang, to_lang=to_lang)
    return translator.translate(text)

languages = [
    ("English", "en"),
    ("Mandarin Chinese", "zh"),
    ("Hindi", "hi"),
    ("Spanish", "es"),
    ("French", "fr"),
    ("Arabic", "ar"),
    ("Bengali", "bn"),
    ("Portuguese", "pt"),
    ("Russian", "ru"),
    ("Japanese", "ja"),
    ("Punjabi", "pa"),
    ("German", "de"),
    ("Javanese", "jw"),
    ("Korean", "ko"),
    ("Telugu", "te"),
    ("Marathi", "mr"),
    ("Turkish", "tr"),
    ("Tamil", "ta"),
    ("Vietnamese", "vi"),
    ("Yoruba", "yo"),
    ("Hausa", "ha"),
    ("Igbo", "ig")
]

language_options = [lang[0] for lang in languages]
language_codes = {lang[0]: lang[1] for lang in languages}

def get_code(language_name):
    return language_codes.get(language_name, "en")

interface = gr.Interface(
    fn=lambda text, from_lang, to_lang: translate_text(text, get_code(from_lang), get_code(to_lang)),
    inputs=[
        gr.Textbox(label="Input Text"), 
        gr.Dropdown(choices=language_options, label="From Language", value="English"),  # Use 'value' instead of 'default'
        gr.Dropdown(choices=language_options, label="To Language", value="French")   # Use 'value' instead of 'default'
    ],
    outputs="text",
    title="Polyglotta Multilingual Translator",
    description="Translate text between different languages. Select the source language from which you want to translate and the target language to which you want the text translated. The default target language is set to French, but you can select any language pair according to your needs."

)

interface.launch()