KubraBashir commited on
Commit
d6b0b84
·
verified ·
1 Parent(s): 6a3782d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -23
app.py CHANGED
@@ -1,18 +1,13 @@
1
- streamlit
2
- transformers
3
- torch
4
- sentencepiece
5
- sacremoses
6
-
7
  import streamlit as st
8
  from transformers import pipeline
9
 
10
- # Initialize the translation pipeline
11
  @st.cache_resource
12
- def load_translator():
13
- return pipeline("translation", model="Helsinki-NLP/opus-mt-en-{target}")
 
14
 
15
- # Supported languages (ISO 639-1 codes mapped to language names)
16
  supported_languages = {
17
  "fr": "French",
18
  "es": "Spanish",
@@ -27,27 +22,29 @@ supported_languages = {
27
  }
28
 
29
  # Streamlit App
30
- st.title("Language Translator App")
31
- st.write("Translate text from English to a selected target language using Hugging Face models.")
32
 
33
- # Input text from user
34
  input_text = st.text_area("Enter text in English:", placeholder="Type here...")
35
 
36
- # Language selection
37
  target_language = st.selectbox(
38
  "Select target language:",
39
  options=list(supported_languages.keys()),
40
- format_func=lambda lang: supported_languages[lang],
41
  )
42
 
43
  # Translate button
44
  if st.button("Translate"):
45
- if input_text.strip() == "":
46
- st.error("Please enter text to translate.")
47
  else:
48
- translator = load_translator()
49
- # Replace `{target}` with the user-selected language in the model
50
- translator = pipeline("translation", model=f"Helsinki-NLP/opus-mt-en-{target_language}")
51
- translation = translator(input_text)[0]["translation_text"]
52
- st.success("Translated Text:")
53
- st.write(translation)
 
 
 
 
 
 
 
 
 
1
  import streamlit as st
2
  from transformers import pipeline
3
 
4
+ # Function to load translation pipeline
5
  @st.cache_resource
6
+ def load_translator(target_language):
7
+ model_name = f"Helsinki-NLP/opus-mt-en-{target_language}"
8
+ return pipeline("translation", model=model_name)
9
 
10
+ # Supported languages
11
  supported_languages = {
12
  "fr": "French",
13
  "es": "Spanish",
 
22
  }
23
 
24
  # Streamlit App
25
+ st.title("🌍 Language Translator App")
26
+ st.write("Translate text from English to any supported language using Hugging Face models.")
27
 
28
+ # User input for text
29
  input_text = st.text_area("Enter text in English:", placeholder="Type here...")
30
 
31
+ # Dropdown to select target language
32
  target_language = st.selectbox(
33
  "Select target language:",
34
  options=list(supported_languages.keys()),
35
+ format_func=lambda lang: f"{supported_languages[lang]} ({lang})",
36
  )
37
 
38
  # Translate button
39
  if st.button("Translate"):
40
+ if not input_text.strip():
41
+ st.error("Please enter some text to translate.")
42
  else:
43
+ try:
44
+ st.info("⏳ Translating...")
45
+ translator = load_translator(target_language)
46
+ translation = translator(input_text)[0]["translation_text"]
47
+ st.success("Translated Text:")
48
+ st.write(translation)
49
+ except Exception as e:
50
+ st.error(f"⚠️ An error occurred: {str(e)}")