translate / app.py
DEVAN CHAUHAN
[add] code
9cddfa5
import gradio as gr
from deep_translator import GoogleTranslator
# Translation Function
def getTranslateText(text: str, dest: str) -> str:
try:
if not text.strip():
return "Please enter text."
translated = GoogleTranslator(source='auto', target=dest).translate(text)
return translated
except Exception as e:
return f"Translation error: {str(e)}"
# Supported Languages
languages = GoogleTranslator().get_supported_languages(as_dict=True)
# Convert to readable dropdown list
language_names = list(languages.keys())
# Gradio UI
with gr.Blocks() as demo:
gr.Markdown("# 🌍 Simple Google Translator")
gr.Markdown("Auto-detect source language β†’ translate to selected language.")
with gr.Row():
with gr.Column():
input_text = gr.Textbox(
lines=5,
placeholder="Enter text to translate...",
label="Input Text"
)
target_lang = gr.Dropdown(
choices=language_names,
value="english",
label="Target Language"
)
translate_btn = gr.Button("Translate πŸš€", variant="primary")
with gr.Column():
output_text = gr.Textbox(
lines=5,
label="Translated Text"
)
translate_btn.click(
fn=lambda text, lang: getTranslateText(text, languages[lang]),
inputs=[input_text, target_lang],
outputs=output_text
)
if __name__ == "__main__":
demo.launch()