import streamlit as st from transformers import pipeline # Language pair to model mapping model_mapping = { ("English", "Hindi"):"zoya23/en-hi-translation # "Helsinki-NLP/opus-mt-en-hi", ("Hindi", "English"): "TestZee/Finetuned-hindi-to-english-V5", # "TestZee/Finetuned-hindi-to-english-V5" } # Streamlit page config st.set_page_config(page_title="Translator", layout="wide") # Only allowed languages languages = ["English", "Hindi"] # UI st.markdown(""" """, unsafe_allow_html=True) # Two columns col1, col2 = st.columns(2) with col1: source_lang = st.selectbox("Detected Language", languages, index=0) st.markdown('
Enter your text:
', unsafe_allow_html=True) user_input = st.text_area("", "hi how are you", height=250) translate_button = st.button("Translate", use_container_width=True) with col2: target_lang = st.selectbox("Translate To", languages, index=1) if translate_button and user_input: if (source_lang, target_lang) in model_mapping: model_name = model_mapping[(source_lang, target_lang)] translator = pipeline("translation", model=model_name) translated_text = translator(user_input, max_length=400)[0]['translation_text'] else: translated_text = "❌ Translation not available for selected language pair." else: translated_text = "" st.markdown('
' + (translated_text if translated_text else "") + '
', unsafe_allow_html=True) if translated_text and "❌" not in translated_text: st.button("Copy", use_container_width=True) st.button("Paraphrase", use_container_width=True)