Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from .translation_model import TranslationModel | |
| import time | |
| def translator_component(): | |
| # Initialize the translation model | |
| model = TranslationModel() | |
| # Language mapping | |
| LANGUAGES = { | |
| "Afrikaans": "af", | |
| "English": "en", | |
| } | |
| def translate_text(text, source_lang, target_lang): | |
| if not text.strip(): | |
| return "Please enter text to translate." | |
| start_time = time.time() | |
| src_code = LANGUAGES[source_lang] | |
| tgt_code = LANGUAGES[target_lang] | |
| result = model.translate(text, src_code, tgt_code) | |
| end_time = time.time() | |
| return f"{result}\n\nTranslation time: {round(end_time - start_time, 2)} seconds" | |
| with gr.Column() as translator: | |
| gr.Markdown("### Neural Machine Translation") | |
| gr.Markdown("Using M2M100 1.2B model for high-quality translations") | |
| input_text = gr.Textbox( | |
| label="Text to Translate", | |
| placeholder="Enter text here...", | |
| lines=3 | |
| ) | |
| with gr.Row(): | |
| source_lang = gr.Dropdown( | |
| choices=list(LANGUAGES.keys()), | |
| value="English", | |
| label="From" | |
| ) | |
| target_lang = gr.Dropdown( | |
| choices=list(LANGUAGES.keys()), | |
| value="Afrikaans", | |
| label="To" | |
| ) | |
| translate_btn = gr.Button("Translate") | |
| output_text = gr.Textbox(label="Translation", lines=3) | |
| translate_btn.click( | |
| fn=translate_text, | |
| inputs=[input_text, source_lang, target_lang], | |
| outputs=output_text | |
| ) | |
| return translator |