import gradio as gr from translate import Translator # Define a mapping of language codes to language names language_map = { "ta": "Tamil", "hi": "Hindi", "te": "Telugu", "en": "English", "de": "German", "fr": "French", "es": "Spanish", "it": "Italian", "ja": "Japanese", "ko": "Korean" } # Create a list of target languages with their names target_languages = list(language_map.values()) def translate_text(text, target_language): # Reverse lookup to get the language code from the language name target_code = [code for code, name in language_map.items() if name == target_language][0] translator = Translator(to_lang=target_code) translation = translator.translate(text) return translation iface = gr.Interface( fn=translate_text, inputs=[ gr.components.Textbox(label="Text to translate"), gr.components.Dropdown(target_languages, label="Target Language") ], outputs=gr.components.Textbox(label="Translation"), title="Language Translator" ) iface.launch()