Spaces:
Sleeping
Sleeping
| from transformers import MarianMTModel, MarianTokenizer | |
| import gradio as gr | |
| # Only include models that are confirmed available | |
| LANGUAGE_MODELS = { | |
| "Hindi": "Helsinki-NLP/opus-mt-en-hi", | |
| "French": "Helsinki-NLP/opus-mt-en-fr", | |
| "Spanish": "Helsinki-NLP/opus-mt-en-es", | |
| } | |
| # Load models | |
| models = { | |
| lang: { | |
| "tokenizer": MarianTokenizer.from_pretrained(model), | |
| "model": MarianMTModel.from_pretrained(model) | |
| } | |
| for lang, model in LANGUAGE_MODELS.items() | |
| } | |
| def translate(text, language): | |
| if language not in models: | |
| return f"Translation to {language} is not available." | |
| tokenizer = models[language]["tokenizer"] | |
| model = models[language]["model"] | |
| inputs = tokenizer(text, return_tensors="pt", padding=True) | |
| translated = model.generate(**inputs) | |
| return tokenizer.decode(translated[0], skip_special_tokens=True) | |
| interface = gr.Interface( | |
| fn=translate, | |
| inputs=["text", gr.Dropdown(list(LANGUAGE_MODELS.keys()), label="Translate to")], | |
| outputs="text", | |
| title="English to Language Translator", | |
| description="Translate English text to Hindi, French, or Spanish." | |
| ) | |
| interface.launch() | |