|
import gradio as gr |
|
from deep_translator import GoogleTranslator |
|
|
|
|
|
def translate_text(text, target_language): |
|
try: |
|
translator = GoogleTranslator(source='auto', target=target_language) |
|
translated_text = translator.translate(text) |
|
return translated_text |
|
except Exception as e: |
|
return f"Error: {str(e)}" |
|
|
|
|
|
LANGUAGES = { |
|
"English": "en", |
|
"Japanese": "ja", |
|
"Spanish": "es", |
|
"French": "fr", |
|
"German": "de", |
|
"Chinese (Simplified)": "zh-cn" |
|
} |
|
|
|
|
|
with gr.Blocks() as demo: |
|
gr.Markdown("### Deep Translator with GoogleTranslator") |
|
|
|
with gr.Row(): |
|
input_text = gr.Textbox(label="Input Text", placeholder="Enter text to translate...") |
|
|
|
with gr.Row(): |
|
target_language = gr.Dropdown(choices=list(LANGUAGES.keys()), label="Select Target Language") |
|
|
|
with gr.Row(): |
|
output_text = gr.Textbox(label="Translated Text", interactive=False) |
|
|
|
translate_button = gr.Button("Translate") |
|
|
|
|
|
translate_button.click( |
|
fn=lambda text, lang: translate_text(text, LANGUAGES[lang]), |
|
inputs=[input_text, target_language], |
|
outputs=[output_text] |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|