Translingo / app.py
Moezulhaq24's picture
Create app.py
05e0d8c verified
raw
history blame
1.36 kB
import streamlit as st
from transformers import pipeline
# Load the translation pipeline from Hugging Face
@st.cache_resource
def load_translation_pipeline(model_name):
return pipeline("translation", model=model_name)
# Dictionary of available models and target languages
models = {
"French": "Helsinki-NLP/opus-mt-en-fr",
"Spanish": "Helsinki-NLP/opus-mt-en-es",
"German": "Helsinki-NLP/opus-mt-en-de",
"Chinese": "Helsinki-NLP/opus-mt-en-zh",
"Hindi": "Helsinki-NLP/opus-mt-en-hi",
}
# Streamlit app
def main():
st.title("Language Translator")
# Input text from the user
text_to_translate = st.text_area("Enter the text in English:")
# Select the target language
target_language = st.selectbox("Select the target language:", list(models.keys()))
# Translate button
if st.button("Translate"):
# Load the appropriate translation model
translation_pipeline = load_translation_pipeline(models[target_language])
# Translate the text
if text_to_translate.strip():
translated_text = translation_pipeline(text_to_translate)[0]['translation_text']
st.success(f"Translated Text ({target_language}):")
st.write(translated_text)
else:
st.error("Please enter some text to translate.")
if __name__ == "__main__":
main()