Spaces:
Sleeping
Sleeping
File size: 1,318 Bytes
97d638d d2fe9df 97d638d 8fe9c6a 34b39cf 8fe9c6a 8562dd4 97d638d 34b39cf 97d638d 8fe9c6a 97d638d 8fe9c6a 97d638d 469f0ac 97d638d 8562dd4 97d638d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
import streamlit as st
from transformers import MarianMTModel, MarianTokenizer, pipeline
# Load translation models for Urdu-English and English-Urdu
model_names = {
"en-ur": "Helsinki-NLP/opus-mt-en-ur",
"ur-en": "Helsinki-NLP/opus-mt-ur-en"
}
models = {}
# Load models once at the start
for key, model_name in model_names.items():
tokenizer = MarianTokenizer.from_pretrained(model_name)
model = MarianMTModel.from_pretrained(model_name)
models[key] = pipeline("translation", model=model, tokenizer=tokenizer)
# Streamlit UI
st.title("Urdu-English Translator")
# User section on the left
st.sidebar.title("User Section")
input_lang = st.sidebar.selectbox("Select Input Language", ["English", "Urdu"])
output_lang = st.sidebar.selectbox("Select Output Language", ["Urdu", "English"])
# Text input
input_text = st.text_area("Enter Text to Translate",placeholder = "Type here...")
# Translation logic
if st.button("Translate"):
model_key = f"{input_lang.lower()[0:2]}-{output_lang.lower()[0:2]}"
if model_key in models:
translator = models[model_key]
translation = translator(input_text)
st.write("Translated Text:")
st.write(translation[0]['translation_text'])
else:
st.write("Translation for the selected languages is not available yet.")
|