Spaces:
Sleeping
Sleeping
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() |