mohtashimzahra's picture
Upload 2 files
1e42877 verified
from deep_translator import GoogleTranslator
import gradio as gr
# Dictionary to map language codes to full language names
language_map = {
"auto": "Auto Detect",
"en": "English",
"ur": "Urdu",
"fr": "French",
"es": "Spanish",
"de": "German",
"zh": "Chinese",
"ar": "Arabic",
"hi": "Hindi",
"it": "Italian",
"ja": "Japanese",
"pt": "Portuguese",
"ru": "Russian",
"ko": "Korean",
"fa": "Persian", # Persian language code
}
# Define the translation function with selectable languages
def translate_text(text, source_lang_name, target_lang_name):
try:
# Convert language names back to language codes for the translator
source_lang = list(language_map.keys())[list(language_map.values()).index(source_lang_name)]
target_lang = list(language_map.keys())[list(language_map.values()).index(target_lang_name)]
# Initialize the translator
translator = GoogleTranslator(source=source_lang, target=target_lang)
# Perform the translation
translated_text = translator.translate(text)
return translated_text
except Exception as e:
return f"Error during translation: {str(e)}"
# Set up Gradio interface
iface = gr.Interface(
fn=translate_text,
inputs=[
gr.Textbox(label="Enter Text to Translate"),
gr.Dropdown(label="Select Language to Translate From", choices=list(language_map.values()), value="Auto Detect"),
gr.Dropdown(label="Select Language to Translate Into", choices=list(language_map.values()), value="Urdu")
],
outputs="text",
title="Multi-Language Translator",
description="Enter any text and translate it into the language of your choice. Perfect for multilingual communication!"
)
# Launch the app
iface.launch()