raz-135 commited on
Commit
97d638d
·
verified ·
1 Parent(s): 5d4fc38

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import MarianMTModel, MarianTokenizer
3
+
4
+ # Function to load models dynamically
5
+ def load_translation_model(model_name):
6
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
7
+ model = MarianMTModel.from_pretrained(model_name)
8
+ return pipeline("translation", model=model, tokenizer=tokenizer)
9
+
10
+ # Streamlit UI
11
+ st.title("Language Translator")
12
+
13
+ # User section on the left
14
+ st.sidebar.title("User Section")
15
+ input_lang = st.sidebar.selectbox("Select Input Language", ["English", "Urdu", "French", "Spanish", "German"])
16
+ output_lang = st.sidebar.selectbox("Select Output Language", ["Urdu", "English", "French", "Spanish", "German"])
17
+
18
+ # Text input
19
+ input_text = st.text_area("Enter Text to Translate", "Type here...")
20
+
21
+ # Translation logic
22
+ translator = None
23
+ if st.button("Translate"):
24
+ if input_lang == "English" and output_lang == "Urdu":
25
+ translator = load_translation_model("Helsinki-NLP/opus-mt-en-ur")
26
+ elif input_lang == "Urdu" and output_lang == "English":
27
+ translator = load_translation_model("Helsinki-NLP/opus-mt-ur-en")
28
+ elif input_lang == "English" and output_lang == "French":
29
+ translator = pipeline("translation_en_to_fr")
30
+ elif input_lang == "French" and output_lang == "English":
31
+ translator = pipeline("translation_fr_to_en")
32
+ elif input_lang == "English" and output_lang == "German":
33
+ translator = pipeline("translation_en_to_de")
34
+ elif input_lang == "German" and output_lang == "English":
35
+ translator = pipeline("translation_de_to_en")
36
+
37
+ if translator:
38
+ translation = translator(input_text)
39
+ st.write("Translated Text:")
40
+ st.write(translation[0]['translation_text'])
41
+ else:
42
+ st.write("Translation for the selected languages is not available yet.")