NaqchoAli commited on
Commit
5aa51cd
·
verified ·
1 Parent(s): d9006e5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -23
app.py CHANGED
@@ -11,7 +11,7 @@ def load_model(model_name):
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',
@@ -26,25 +26,32 @@ languages = {
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.")
 
 
 
 
 
 
 
 
11
  st.title("Language Translation App")
12
  st.subheader("Translate multiple languages instantly!")
13
 
14
+ # Available languages
15
  languages = {
16
  'Azerbaijani': 'az',
17
  'English': 'en',
 
26
  input_lang = st.selectbox("Select Input Language:", list(languages.keys()))
27
  output_lang = st.selectbox("Select Output Language:", list(languages.keys()))
28
 
29
+ # Ensure input and output languages are not the same
30
+ if input_lang == output_lang:
31
+ st.error("Input and output languages must be different.")
32
+ else:
33
+ # Prepare model name
34
+ model_name = f"Helsinki-NLP/opus-mt-{languages[input_lang]}-{languages[output_lang]}"
35
+
36
+ try:
37
+ # Load model and tokenizer
38
+ model, tokenizer = load_model(model_name)
39
+
40
+ # User input for text to translate
41
+ text_to_translate = st.text_area("Enter text to translate:")
42
+
43
+ # Translation functionality
44
+ if st.button("Translate"):
45
+ if text_to_translate:
46
+ # Tokenize and translate the input text
47
+ inputs = tokenizer(text_to_translate, return_tensors="pt", padding=True)
48
+ translated = model.generate(**inputs)
49
+ translated_text = tokenizer.decode(translated[0], skip_special_tokens=True)
50
+
51
+ # Show the result
52
+ st.subheader("Translated Text:")
53
+ st.write(translated_text)
54
+ else:
55
+ st.error("Please enter some text to translate.")
56
+ except Exception as e:
57
+ st.error(f"An error occurred: {e}")