Krishna086 commited on
Commit
f21f8ec
·
verified ·
1 Parent(s): 154ffd8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -10
app.py CHANGED
@@ -52,7 +52,7 @@ def main():
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
@@ -60,18 +60,36 @@ def handle_input(text, translation, lang_detect, audio_processor):
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")
 
 
 
75
 
76
  # Translate button
77
  if st.button("Translate", key="translate_button"):
 
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, "English")]
56
  else:
57
  detected_options = lang_detect.detect_language(text)
58
  st.session_state.detected_options = detected_options
 
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
+ # Display native language names for detected options
64
+ native_lang_map = {
65
+ "English": "English",
66
+ "French": "Français",
67
+ "Spanish": "Español",
68
+ "German": "Deutsch",
69
+ "Hindi": "हिन्दी",
70
+ "Chinese": "中文",
71
+ "Arabic": "العربية",
72
+ "Russian": "Русский",
73
+ "Japanese": "日本語",
74
+ }
75
+ display_options = ["Auto"] + [f"{native_lang_map.get(lang, lang)} ({conf:.2f})" for lang, conf, _ in detected_options] + list(translation.LANGUAGES.keys())
76
+ override_lang = st.selectbox("Override Detected Language", display_options, index=0, key="override_lang")
77
+
78
+ # Map override selection to supported language
79
  if override_lang != "Auto":
80
+ selected_lang = next((lang for lang, _, _ in detected_options if native_lang_map.get(lang, lang) in override_lang), override_lang)
81
+ st.session_state.source_lang = selected_lang
82
+ if selected_lang not in translation.LANGUAGES:
83
+ st.session_state.source_lang = "English"
84
+ st.warning(f"{native_lang_map.get(selected_lang, selected_lang)} is not supported by the translation model. Using English instead.")
85
 
86
+ st.info(f"Selected Source Language: {native_lang_map.get(st.session_state.source_lang, st.session_state.source_lang)}")
87
 
88
+ # Target language selection with native names
89
+ target_options = {lang: native_lang_map.get(lang, lang) for lang in translation.LANGUAGES}
90
+ target_lang = st.selectbox("Target Language", [target_options[lang] for lang in translation.LANGUAGES],
91
+ index=1, key="target_lang", format_func=lambda x: x)
92
+ target_lang = next(key for key, value in target_options.items() if value == target_lang)
93
 
94
  # Translate button
95
  if st.button("Translate", key="translate_button"):