Krishna086 commited on
Commit
63de0ad
·
verified ·
1 Parent(s): 8d43482

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +19 -7
app.py CHANGED
@@ -66,20 +66,32 @@ def main():
66
  .stFileUploader label::after {
67
  content: 'TXT, DOCX, PDF' !important;
68
  }
 
 
 
 
 
 
 
 
 
 
 
 
69
  </style>
70
  """,
71
  unsafe_allow_html=True
72
  )
73
 
74
- # Language and Input/Output Layout with symmetric columns
75
- left_col, right_col = st.columns([1, 1]) # Equal width for symmetric layout
76
  with left_col:
77
  detected_options = language_detector.detect_language(st.session_state.get("user_input_text", "")) if st.session_state.get("user_input_text", "").strip() else [("Auto-detect", 1.0, "Auto-detect")]
78
  source_language = detected_options[0][2] if detected_options[0][0] != "Auto-detect" else "Auto-detect"
79
  source_lang_code = next((k for k, v in LANGUAGES.items() if v[1] == source_language), "hi") if source_language != "Auto-detect" else "auto"
80
  source_options = ["Auto-detect"] + [f"{v[0]} ({v[1]})" for v in LANGUAGES.values()]
81
  st.selectbox("Source Language", options=source_options, index=0 if source_language == "Auto-detect" else source_options.index(f"{LANGUAGES[source_lang_code][0]} ({source_language})"), key="source_lang")
82
- user_input_text = st.text_area("Input Text", height=400, key="user_input_text", placeholder="Enter text here", label_visibility="hidden")
83
  input_type = st.radio("Input Type", ["Text", "File"], horizontal=True, label_visibility="hidden", key="input_type")
84
  if input_type == "File":
85
  st.file_uploader("Upload File", type=["txt", "docx", "pdf"], key="file_input", on_change=on_file_upload, label_visibility="hidden")
@@ -91,7 +103,7 @@ def main():
91
  target_options = [f"{v[0]} ({v[1]})" for v in LANGUAGES.values() if v[0] != source_lang_display and v[1] != source_lang_display]
92
  st.selectbox("Target Language", options=target_options, index=target_options.index(f"{LANGUAGES['en'][0]} ({LANGUAGES['en'][1]})") if "English" not in source_lang_display else 0, key="target_lang")
93
  if "translated_text" in st.session_state:
94
- st.text_area("Output Text", value=st.session_state.translated_text, height=400, key="output_text", disabled=True, label_visibility="hidden")
95
  # Play audio button and playback below output
96
  if st.button("🔊", key="audio_btn", on_click=play_audio, args=(audio_processor_module,), help="Play audio", use_container_width=False):
97
  pass
@@ -118,10 +130,10 @@ def trigger_translation(translation_module, language_detector, audio_processor_m
118
  target_lang = st.session_state.target_lang.split(" (")[0] if " (" in st.session_state.target_lang else st.session_state.target_lang
119
  if source_lang == "Auto-detect":
120
  detected_options = language_detector.detect_language(user_input_text)
121
- source_lang_code = next((k for k, v in LANGUAGES.items() if v[1] == detected_options[0][0]), "hi")
122
  else:
123
- source_lang_code = next((k for k, v in LANGUAGES.items() if v[0] == source_lang), "hi")
124
- target_lang_code = next((k for k, v in LANGUAGES.items() if v[0] == target_lang), "en")
125
  translated_text = translation_module.translate(user_input_text, source_lang_code, target_lang_code)
126
  st.session_state.translated_text = translated_text or user_input_text
127
 
 
66
  .stFileUploader label::after {
67
  content: 'TXT, DOCX, PDF' !important;
68
  }
69
+ .stFileUploader [data-testid="stFileUploaderDropzone"] {
70
+ font-size: 0 !important;
71
+ }
72
+ .stFileUploader [data-testid="stFileUploaderDropzone"]::after {
73
+ content: 'Drag and drop file here or ' !important;
74
+ font-size: 1em !important;
75
+ color: #666 !important;
76
+ }
77
+ .stFileUploader [data-testid="stFileUploaderButton"] {
78
+ font-size: 1em !important;
79
+ color: #1E90FF !important;
80
+ }
81
  </style>
82
  """,
83
  unsafe_allow_html=True
84
  )
85
 
86
+ # Language and Input/Output Layout with wider columns
87
+ left_col, right_col = st.columns([2, 1]) # Wider input column
88
  with left_col:
89
  detected_options = language_detector.detect_language(st.session_state.get("user_input_text", "")) if st.session_state.get("user_input_text", "").strip() else [("Auto-detect", 1.0, "Auto-detect")]
90
  source_language = detected_options[0][2] if detected_options[0][0] != "Auto-detect" else "Auto-detect"
91
  source_lang_code = next((k for k, v in LANGUAGES.items() if v[1] == source_language), "hi") if source_language != "Auto-detect" else "auto"
92
  source_options = ["Auto-detect"] + [f"{v[0]} ({v[1]})" for v in LANGUAGES.values()]
93
  st.selectbox("Source Language", options=source_options, index=0 if source_language == "Auto-detect" else source_options.index(f"{LANGUAGES[source_lang_code][0]} ({source_language})"), key="source_lang")
94
+ user_input_text = st.text_area("Input Text", height=200, key="user_input_text", placeholder="Enter text here", label_visibility="hidden")
95
  input_type = st.radio("Input Type", ["Text", "File"], horizontal=True, label_visibility="hidden", key="input_type")
96
  if input_type == "File":
97
  st.file_uploader("Upload File", type=["txt", "docx", "pdf"], key="file_input", on_change=on_file_upload, label_visibility="hidden")
 
103
  target_options = [f"{v[0]} ({v[1]})" for v in LANGUAGES.values() if v[0] != source_lang_display and v[1] != source_lang_display]
104
  st.selectbox("Target Language", options=target_options, index=target_options.index(f"{LANGUAGES['en'][0]} ({LANGUAGES['en'][1]})") if "English" not in source_lang_display else 0, key="target_lang")
105
  if "translated_text" in st.session_state:
106
+ st.text_area("Output Text", value=st.session_state.translated_text, height=200, key="output_text", disabled=True, label_visibility="hidden")
107
  # Play audio button and playback below output
108
  if st.button("🔊", key="audio_btn", on_click=play_audio, args=(audio_processor_module,), help="Play audio", use_container_width=False):
109
  pass
 
130
  target_lang = st.session_state.target_lang.split(" (")[0] if " (" in st.session_state.target_lang else st.session_state.target_lang
131
  if source_lang == "Auto-detect":
132
  detected_options = language_detector.detect_language(user_input_text)
133
+ source_lang_code = next((k for k, v in LANGUAGES.items() if v[1] == detected_options[0][0]), "en") # Default to English if unsure
134
  else:
135
+ source_lang_code = next((k for k, v in LANGUAGES.items() if v[0] == source_lang), "en")
136
+ target_lang_code = next((k for k, v in LANGUAGES.items() if v[0] == target_lang), "hi")
137
  translated_text = translation_module.translate(user_input_text, source_lang_code, target_lang_code)
138
  st.session_state.translated_text = translated_text or user_input_text
139