Polyglotta / app.py
Afeezee's picture
Update app.py
df1142f verified
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()