Update app.py
Browse files
app.py
CHANGED
@@ -28,7 +28,7 @@ def main():
|
|
28 |
|
29 |
with tab1:
|
30 |
# Text input
|
31 |
-
user_text = st.text_area("Enter Text", placeholder="Type or paste your text here...", height=150, key="text_input")
|
32 |
if user_text:
|
33 |
handle_input(user_text, "text", translation, lang_detect, audio_processor)
|
34 |
|
@@ -36,7 +36,7 @@ def main():
|
|
36 |
# Audio input
|
37 |
audio_file = st.file_uploader("Upload Audio (MP3/WAV)", type=["mp3", "wav"], key="audio_input")
|
38 |
if audio_file:
|
39 |
-
user_text = audio_processor.transcribe_audio(audio_file)
|
40 |
st.write(f"Transcribed Text: {user_text}")
|
41 |
handle_input(user_text, "audio", translation, lang_detect, audio_processor)
|
42 |
|
@@ -44,8 +44,8 @@ def main():
|
|
44 |
# Document input
|
45 |
doc_file = st.file_uploader("Upload Document (TXT)", type=["txt"], key="doc_input")
|
46 |
if doc_file:
|
47 |
-
user_text = doc_file.read().decode("utf-8")
|
48 |
-
st.write(f"Document Text: {user_text}")
|
49 |
handle_input(user_text, "doc", translation, lang_detect, audio_processor)
|
50 |
|
51 |
# Handle input processing
|
@@ -79,14 +79,14 @@ def handle_input(text, input_type, translation, lang_detect, audio_processor):
|
|
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 |
-
# No strict pair check, just warn if model fails later
|
83 |
|
84 |
st.info(f"Selected Source Language: {native_lang_map.get(st.session_state.source_lang, st.session_state.source_lang)}")
|
85 |
|
86 |
# Target language selection with native names
|
87 |
target_options = {lang: native_lang_map.get(lang, lang) for lang in translation.LANGUAGES}
|
88 |
target_lang = st.selectbox("Target Language", [target_options[lang] for lang in translation.LANGUAGES],
|
89 |
-
index=
|
|
|
90 |
target_lang = next(key for key, value in target_options.items() if value == target_lang)
|
91 |
|
92 |
# Translate button
|
@@ -95,7 +95,7 @@ def handle_input(text, input_type, translation, lang_detect, audio_processor):
|
|
95 |
try:
|
96 |
# Translate the text
|
97 |
st.session_state.translated_text = translation.translate(text, st.session_state.source_lang, target_lang)
|
98 |
-
|
99 |
# Display results in a styled container
|
100 |
st.markdown("<h3 style='color: #2E86C1;'>Translation Result</h3>", unsafe_allow_html=True)
|
101 |
|
|
|
28 |
|
29 |
with tab1:
|
30 |
# Text input
|
31 |
+
user_text = st.text_area("Enter Text", placeholder="Type or paste your text here...", height=150, key="text_input").strip()
|
32 |
if user_text:
|
33 |
handle_input(user_text, "text", translation, lang_detect, audio_processor)
|
34 |
|
|
|
36 |
# Audio input
|
37 |
audio_file = st.file_uploader("Upload Audio (MP3/WAV)", type=["mp3", "wav"], key="audio_input")
|
38 |
if audio_file:
|
39 |
+
user_text = audio_processor.transcribe_audio(audio_file).strip()
|
40 |
st.write(f"Transcribed Text: {user_text}")
|
41 |
handle_input(user_text, "audio", translation, lang_detect, audio_processor)
|
42 |
|
|
|
44 |
# Document input
|
45 |
doc_file = st.file_uploader("Upload Document (TXT)", type=["txt"], key="doc_input")
|
46 |
if doc_file:
|
47 |
+
user_text = doc_file.read().decode("utf-8").strip() # Explicit decoding and stripping
|
48 |
+
st.write(f"Raw Document Text: {user_text}") # Debug raw input
|
49 |
handle_input(user_text, "doc", translation, lang_detect, audio_processor)
|
50 |
|
51 |
# Handle input processing
|
|
|
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 |
|
83 |
st.info(f"Selected Source Language: {native_lang_map.get(st.session_state.source_lang, st.session_state.source_lang)}")
|
84 |
|
85 |
# Target language selection with native names
|
86 |
target_options = {lang: native_lang_map.get(lang, lang) for lang in translation.LANGUAGES}
|
87 |
target_lang = st.selectbox("Target Language", [target_options[lang] for lang in translation.LANGUAGES],
|
88 |
+
index=list(translation.LANGUAGES.keys()).index("Hindi") if "Hindi" in translation.LANGUAGES else 1,
|
89 |
+
key=f"target_lang_{input_type}", format_func=lambda x: x)
|
90 |
target_lang = next(key for key, value in target_options.items() if value == target_lang)
|
91 |
|
92 |
# Translate button
|
|
|
95 |
try:
|
96 |
# Translate the text
|
97 |
st.session_state.translated_text = translation.translate(text, st.session_state.source_lang, target_lang)
|
98 |
+
st.write(f"Translated Text (Debug): {st.session_state.translated_text}") # Debug output
|
99 |
# Display results in a styled container
|
100 |
st.markdown("<h3 style='color: #2E86C1;'>Translation Result</h3>", unsafe_allow_html=True)
|
101 |
|