NaqchoAli commited on
Commit
89a6d3a
·
verified ·
1 Parent(s): 3dee320

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -0
app.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from transformers import MarianMTModel, MarianTokenizer
3
+
4
+ # Function to load the translation model and tokenizer
5
+ def load_model(model_name):
6
+ model = MarianMTModel.from_pretrained(model_name)
7
+ tokenizer = MarianTokenizer.from_pretrained(model_name)
8
+ return model, tokenizer
9
+
10
+ # Streamlit App
11
+ st.title("Language Translation App")
12
+ st.subheader("Translate multiple languages instantly!")
13
+
14
+ # Available languages (you can expand this list)
15
+ languages = {
16
+ 'Azerbaijani': 'az',
17
+ 'English': 'en',
18
+ 'French': 'fr',
19
+ 'German': 'de',
20
+ 'Spanish': 'es',
21
+ 'Italian': 'it',
22
+ 'Portuguese': 'pt',
23
+ }
24
+
25
+ # User input for language selection
26
+ input_lang = st.selectbox("Select Input Language:", list(languages.keys()))
27
+ output_lang = st.selectbox("Select Output Language:", list(languages.keys()))
28
+
29
+ # Prepare model names
30
+ input_model_code = f"Helsinki-NLP/opus-mt-{languages[input_lang]}-{languages[output_lang]}"
31
+
32
+ # Load model and tokenizer
33
+ model, tokenizer = load_model(input_model_code)
34
+
35
+ # User input for text to translate
36
+ text_to_translate = st.text_area("Enter text to translate:")
37
+
38
+ # Translation functionality
39
+ if st.button("Translate"):
40
+ if text_to_translate:
41
+ # Tokenize and translate the input text
42
+ inputs = tokenizer(text_to_translate, return_tensors="pt", padding=True)
43
+ translated = model.generate(**inputs)
44
+ translated_text = tokenizer.decode(translated[0], skip_special_tokens=True)
45
+
46
+ # Show the result
47
+ st.subheader("Translated Text:")
48
+ st.write(translated_text)
49
+ else:
50
+ st.error("Please enter some text to translate.")