|
import streamlit as st |
|
from transformers import MarianMTModel, MarianTokenizer |
|
|
|
|
|
@st.cache_resource |
|
def load_model(): |
|
|
|
model_name = "Helsinki-NLP/opus-mt-en-ROMANCE" |
|
model = MarianMTModel.from_pretrained(model_name) |
|
tokenizer = MarianTokenizer.from_pretrained(model_name) |
|
return model, tokenizer |
|
|
|
|
|
def translate_to_english(text, model, tokenizer): |
|
inputs = tokenizer.encode(text, return_tensors="pt", padding=True) |
|
translated = model.generate(inputs, max_length=512) |
|
translated_text = tokenizer.decode(translated[0], skip_special_tokens=True) |
|
return translated_text |
|
|
|
|
|
st.title("Language Translator to English") |
|
st.write("Translate any language (Romanian, Spanish, French, etc.) to English using Hugging Face models!") |
|
|
|
|
|
input_text = st.text_area("Enter text in any language", "") |
|
|
|
if input_text: |
|
model, tokenizer = load_model() |
|
translated_text = translate_to_english(input_text, model, tokenizer) |
|
st.subheader("Translated Text:") |
|
st.write(translated_text) |
|
|