Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import pipeline | |
# Title of the app | |
st.title("π Language Translator") | |
# Load translation pipeline | |
def load_translation_pipeline(language_code): | |
model_name = f"Helsinki-NLP/opus-mt-en-{language_code}" | |
return pipeline("translation", model=model_name) | |
# Input text | |
text_to_translate = st.text_area("Enter text in English to translate:") | |
# Target language selection | |
languages = { | |
"German": "de", | |
"French": "fr", | |
"Spanish": "es", | |
"Italian": "it", | |
"Chinese": "zh", | |
"Hindi": "hi", | |
} | |
target_language = st.selectbox("Select target language:", options=list(languages.keys())) | |
# Translation action | |
if st.button("Translate"): | |
if not text_to_translate.strip(): | |
st.warning("Please enter some text to translate.") | |
else: | |
# Get the language code for the selected target language | |
language_code = languages[target_language] | |
# Load the translation model | |
translator = load_translation_pipeline(language_code) | |
# Perform translation | |
with st.spinner("Translating..."): | |
try: | |
result = translator(text_to_translate)[0]['translation_text'] | |
st.success("Translated Text:") | |
st.write(result) | |
except Exception as e: | |
st.error(f"An error occurred: {e}") | |