HFUsman commited on
Commit
676574a
·
verified ·
1 Parent(s): c2f9fa2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -15
app.py CHANGED
@@ -1,6 +1,8 @@
1
  import streamlit as st
2
  from transformers import MarianMTModel, MarianTokenizer
3
 
 
 
4
  # Function to load model and tokenizer based on selected languages
5
  def load_model_and_tokenizer(src_lang, tgt_lang):
6
  model_name = f"Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}"
@@ -18,7 +20,6 @@ def translate_text(text, model, tokenizer):
18
  st.title("Language Translator App")
19
  st.write("Translate text between multiple languages using open-source models.")
20
 
21
- # Language options (expand this list based on available models)
22
  languages = {
23
  "English": "en",
24
  "French": "fr",
@@ -29,29 +30,29 @@ languages = {
29
  "Chinese": "zh"
30
  }
31
 
32
- # Language selection
33
  source_language = st.selectbox("Select Input Language:", options=list(languages.keys()))
34
  target_language = st.selectbox("Select Output Language:", options=list(languages.keys()))
35
 
36
- # Check if source and target languages are different
37
  if source_language == target_language:
38
  st.warning("Input and output languages must be different.")
39
  else:
40
  src_lang_code = languages[source_language]
41
  tgt_lang_code = languages[target_language]
42
 
43
- # Load model and tokenizer
44
  with st.spinner("Loading translation model..."):
45
  model, tokenizer = load_model_and_tokenizer(src_lang_code, tgt_lang_code)
46
 
47
- # Input text
48
- text_to_translate = st.text_area("Enter text to translate:")
49
-
50
- if st.button("Translate"):
51
- if text_to_translate.strip():
52
- with st.spinner("Translating..."):
53
- translated_text = translate_text(text_to_translate, model, tokenizer)
54
- st.success("Translation Completed!")
55
- st.text_area("Translated Text:", value=translated_text, height=200)
56
- else:
57
- st.error("Please enter text to translate.")
 
 
 
 
1
  import streamlit as st
2
  from transformers import MarianMTModel, MarianTokenizer
3
 
4
+ st.set_page_config(page_title="Language Translator", layout="wide")
5
+
6
  # Function to load model and tokenizer based on selected languages
7
  def load_model_and_tokenizer(src_lang, tgt_lang):
8
  model_name = f"Helsinki-NLP/opus-mt-{src_lang}-{tgt_lang}"
 
20
  st.title("Language Translator App")
21
  st.write("Translate text between multiple languages using open-source models.")
22
 
 
23
  languages = {
24
  "English": "en",
25
  "French": "fr",
 
30
  "Chinese": "zh"
31
  }
32
 
 
33
  source_language = st.selectbox("Select Input Language:", options=list(languages.keys()))
34
  target_language = st.selectbox("Select Output Language:", options=list(languages.keys()))
35
 
 
36
  if source_language == target_language:
37
  st.warning("Input and output languages must be different.")
38
  else:
39
  src_lang_code = languages[source_language]
40
  tgt_lang_code = languages[target_language]
41
 
 
42
  with st.spinner("Loading translation model..."):
43
  model, tokenizer = load_model_and_tokenizer(src_lang_code, tgt_lang_code)
44
 
45
+ col1, col2 = st.columns(2)
46
+
47
+ with col1:
48
+ text_to_translate = st.text_area("Enter text to translate:", height=300)
49
+
50
+ with col2:
51
+ if st.button("Translate"):
52
+ if text_to_translate.strip():
53
+ with st.spinner("Translating..."):
54
+ translated_text = translate_text(text_to_translate, model, tokenizer)
55
+ st.success("Translation Completed!")
56
+ st.text_area("Translated Text:", value=translated_text, height=300)
57
+ else:
58
+ st.error("Please enter text to translate.")