Krishna086 commited on
Commit
e6bf248
·
verified ·
1 Parent(s): e8ed07c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -17
app.py CHANGED
@@ -44,22 +44,24 @@ def main():
44
 
45
  if user_text and (st.session_state.get("last_text", "") != user_text or st.button("Translate", key="translate_btn")):
46
  st.session_state.last_text = user_text
47
- with st.spinner("Translating...") as spinner: # Hidden spinner logic
48
- start_time = time.time()
49
- try:
50
- # Use English as buffer for translation
51
- if source_lang != "English" and target_lang != "English":
52
- temp_translation = translation.translate(user_text, source_lang, "English")
53
- translated_text = translation.translate(temp_translation, "English", target_lang)
54
- else:
55
- translated_text = translation.translate(user_text, source_lang, target_lang)
56
- st.session_state.translated_text = translated_text
57
- st.session_state.translation_time = time.time() - start_time
58
- except Exception as e:
59
- st.session_state.translated_text = user_text
60
- st.session_state.translation_time = time.time() - start_time
61
- st.warning(f"Translation error: {str(e)}. Using input as fallback.")
62
- spinner.empty() # Hide spinner after processing
 
 
63
 
64
  # Output Section
65
  with col_output:
@@ -81,7 +83,7 @@ def main():
81
  audio = audio_processor.text_to_speech(st.session_state.translated_text, target_lang)
82
  if audio and audio.getbuffer().nbytes > 0:
83
  st.audio(audio, format="audio/mp3", start_time=0)
84
- st.success("Audio playing.") # Only success message after playback starts
85
  else:
86
  audio_fallback = audio_processor.text_to_speech(st.session_state.translated_text, "English")
87
  if audio_fallback and audio_fallback.getbuffer().nbytes > 0:
 
44
 
45
  if user_text and (st.session_state.get("last_text", "") != user_text or st.button("Translate", key="translate_btn")):
46
  st.session_state.last_text = user_text
47
+ spinner = st.empty() # Create spinner placeholder
48
+ spinner.info("Translating...") # Show spinner
49
+ start_time = time.time()
50
+ try:
51
+ # Use English as buffer for translation
52
+ if source_lang != "English" and target_lang != "English":
53
+ temp_translation = translation.translate(user_text, source_lang, "English")
54
+ translated_text = translation.translate(temp_translation, "English", target_lang)
55
+ else:
56
+ translated_text = translation.translate(user_text, source_lang, target_lang)
57
+ st.session_state.translated_text = translated_text
58
+ st.session_state.translation_time = time.time() - start_time
59
+ except Exception as e:
60
+ st.session_state.translated_text = user_text
61
+ st.session_state.translation_time = time.time() - start_time
62
+ st.warning(f"Translation error: {str(e)}. Using input as fallback.")
63
+ finally:
64
+ spinner.empty()
65
 
66
  # Output Section
67
  with col_output:
 
83
  audio = audio_processor.text_to_speech(st.session_state.translated_text, target_lang)
84
  if audio and audio.getbuffer().nbytes > 0:
85
  st.audio(audio, format="audio/mp3", start_time=0)
86
+ st.success("Audio playing.")
87
  else:
88
  audio_fallback = audio_processor.text_to_speech(st.session_state.translated_text, "English")
89
  if audio_fallback and audio_fallback.getbuffer().nbytes > 0: