HMZaheer commited on
Commit
1176c58
·
verified ·
1 Parent(s): efa893d

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +60 -0
app.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import pipeline
3
+
4
+ # Function to initialize the translation pipeline
5
+ @st.cache_resource
6
+ def load_translation_pipeline(source_lang, target_lang):
7
+ model_name = f"Helsinki-NLP/opus-mt-{source_lang}-{target_lang}"
8
+ return pipeline("translation", model=model_name)
9
+
10
+ # Function to perform translation
11
+ def translate_text(text, source_lang, target_lang):
12
+ translator = load_translation_pipeline(source_lang, target_lang)
13
+ translated = translator(text, max_length=512)
14
+ return translated[0]['translation_text']
15
+
16
+ # Streamlit app
17
+ st.title("Language Translation App")
18
+ st.markdown("Translate text quickly between multiple languages using open-source models.")
19
+
20
+ # Input text area
21
+ text_to_translate = st.text_area("Enter text to translate:", placeholder="Type here...", height=150)
22
+
23
+ # Language selection options
24
+ languages = {
25
+ "English": "en",
26
+ "French": "fr",
27
+ "German": "de",
28
+ "Spanish": "es",
29
+ "Italian": "it",
30
+ "Chinese": "zh",
31
+ "Hindi": "hi"
32
+ }
33
+
34
+ # Select source and target languages
35
+ source_language = st.selectbox("Select source language:", list(languages.keys()))
36
+ target_language = st.selectbox("Select target language:", list(languages.keys()))
37
+
38
+ # Get language codes
39
+ source_lang_code = languages[source_language]
40
+ target_lang_code = languages[target_language]
41
+
42
+ # Translate button
43
+ if st.button("Translate"):
44
+ if not text_to_translate.strip():
45
+ st.warning("Please enter some text to translate.")
46
+ elif source_lang_code == target_lang_code:
47
+ st.warning("Source and target languages must be different.")
48
+ else:
49
+ try:
50
+ translation = translate_text(text_to_translate, source_lang_code, target_lang_code)
51
+ st.success("Translation completed!")
52
+ st.text_area("Translated Text:", translation, height=150, disabled=True)
53
+ except Exception as e:
54
+ st.error(f"An error occurred during translation: {str(e)}")
55
+
56
+ # Footer
57
+ st.markdown("---")
58
+ st.markdown(
59
+ "**Note:** This app uses Hugging Face's Helsinki-NLP models for translation. These models are open-source and ideal for various language translation tasks."
60
+ )