Krishna086 commited on
Commit
7377987
·
verified ·
1 Parent(s): e656608

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -5
app.py CHANGED
@@ -23,7 +23,8 @@ def main():
23
  if 'translated_text' not in st.session_state:
24
  st.session_state.translated_text = None
25
  st.session_state.audio_path = None
26
- st.session_state.source_lang = "English"
 
27
 
28
  with tab1:
29
  # Text input
@@ -49,10 +50,25 @@ def main():
49
 
50
  # Handle input processing
51
  def handle_input(text, translation, lang_detect, audio_processor):
52
- # Auto-detect source language
53
- detected_lang = lang_detect.detect_language(text)
54
- st.session_state.source_lang = detected_lang if detected_lang in translation.LANGUAGES else "English"
55
- st.info(f"Detected Source Language: {st.session_state.source_lang}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
 
57
  # Target language selection
58
  target_lang = st.selectbox("Target Language", list(translation.LANGUAGES.keys()), index=1, key="target_lang")
@@ -79,6 +95,8 @@ def handle_input(text, translation, lang_detect, audio_processor):
79
  st.session_state.audio_path = audio_processor.text_to_speech(st.session_state.translated_text, target_lang)
80
  if st.session_state.audio_path:
81
  st.audio(st.session_state.audio_path)
 
 
82
 
83
  # Show footer after translation
84
  st.markdown("""
 
23
  if 'translated_text' not in st.session_state:
24
  st.session_state.translated_text = None
25
  st.session_state.audio_path = None
26
+ st.session_state.source_lang = None
27
+ st.session_state.detected_options = []
28
 
29
  with tab1:
30
  # Text input
 
50
 
51
  # Handle input processing
52
  def handle_input(text, translation, lang_detect, audio_processor):
53
+ # Auto-detect source language with options
54
+ if len(text) < 10: # Minimum length for reliable detection
55
+ detected_options = [("English", 1.0)] # Default to English with full confidence
56
+ else:
57
+ detected_options = lang_detect.detect_language(text)
58
+ st.session_state.detected_options = detected_options
59
+
60
+ # Set initial source language to the top detected option
61
+ st.session_state.source_lang = detected_options[0][0] if detected_options else "English"
62
+
63
+ # Manual language override with detected options
64
+ override_options = ["Auto"] + [lang for lang, _ in detected_options] + list(translation.LANGUAGES.keys())
65
+ override_lang = st.selectbox("Override Detected Language", override_options, index=0, key="override_lang")
66
+ if override_lang != "Auto":
67
+ st.session_state.source_lang = override_lang
68
+ elif len(detected_options) > 1:
69
+ st.write("Multiple detections found (confidence > 0.7):", ", ".join(f"{lang} ({conf:.2f})" for lang, conf in detected_options))
70
+
71
+ st.info(f"Selected Source Language: {st.session_state.source_lang}")
72
 
73
  # Target language selection
74
  target_lang = st.selectbox("Target Language", list(translation.LANGUAGES.keys()), index=1, key="target_lang")
 
95
  st.session_state.audio_path = audio_processor.text_to_speech(st.session_state.translated_text, target_lang)
96
  if st.session_state.audio_path:
97
  st.audio(st.session_state.audio_path)
98
+ else:
99
+ st.error("Failed to generate audio. Please try again or check the input.")
100
 
101
  # Show footer after translation
102
  st.markdown("""