Update app.py
Browse files
app.py
CHANGED
@@ -90,7 +90,7 @@ def main():
|
|
90 |
###################################################################################################################
|
91 |
def logged_in_interface():
|
92 |
languages = {'Español': 'es', 'English': 'en', 'Français': 'fr'}
|
93 |
-
|
94 |
translations = {
|
95 |
'es': {
|
96 |
'welcome': "Bienvenido",
|
@@ -111,27 +111,31 @@ def logged_in_interface():
|
|
111 |
'tabs': ["Analyse morphosyntaxique", "Analyse sémantique", "Analyse du discours", "Chat avec Llama2", "Mon Progrès", "Formulaire de Rétroaction"]
|
112 |
}
|
113 |
}
|
|
|
114 |
# Inicializar el idioma si no está establecido
|
115 |
if 'current_lang' not in st.session_state:
|
116 |
st.session_state.current_lang = 'es' # Idioma por defecto
|
117 |
-
|
118 |
# Crear un contenedor para la barra superior
|
119 |
with st.container():
|
120 |
# Usar más columnas para un mejor control del espacio
|
121 |
col1, col2, col3, col4, col5 = st.columns([1, 1, 0.8, 1, 1])
|
122 |
with col1:
|
123 |
-
st.markdown(f"<h3 style='margin-bottom: 0;'>
|
124 |
with col3:
|
125 |
-
st.markdown("<p style='font-size: 1.2rem; margin-bottom: 0; padding-top: 15px;'>
|
126 |
with col4:
|
127 |
st.markdown("<div style='padding-top: 15px;'>", unsafe_allow_html=True)
|
128 |
-
selected_lang = st.selectbox("", list(languages.keys()), key="language_selector", label_visibility="collapsed")
|
129 |
st.markdown("</div>", unsafe_allow_html=True)
|
130 |
lang_code = languages[selected_lang]
|
|
|
|
|
|
|
131 |
|
132 |
with col5:
|
133 |
st.markdown("<div style='padding-top: 15px;'>", unsafe_allow_html=True)
|
134 |
-
if st.button(
|
135 |
st.session_state.logged_in = False
|
136 |
st.experimental_rerun()
|
137 |
st.markdown("</div>", unsafe_allow_html=True)
|
@@ -139,20 +143,21 @@ def logged_in_interface():
|
|
139 |
# Añadir una línea divisoria
|
140 |
st.markdown("---")
|
141 |
|
142 |
-
|
|
|
143 |
|
144 |
with tab1:
|
145 |
-
display_morphosyntax_analysis_interface(nlp_models,
|
146 |
with tab2:
|
147 |
-
display_semantic_analysis_interface(nlp_models,
|
148 |
with tab3:
|
149 |
-
display_discourse_analysis_interface(nlp_models,
|
150 |
with tab4:
|
151 |
-
display_chatbot_interface(
|
152 |
with tab5:
|
153 |
-
display_student_progress(st.session_state.username,
|
154 |
with tab6:
|
155 |
-
display_feedback_form(
|
156 |
|
157 |
###################################################################################################################
|
158 |
if __name__ == "__main__":
|
|
|
90 |
###################################################################################################################
|
91 |
def logged_in_interface():
|
92 |
languages = {'Español': 'es', 'English': 'en', 'Français': 'fr'}
|
93 |
+
|
94 |
translations = {
|
95 |
'es': {
|
96 |
'welcome': "Bienvenido",
|
|
|
111 |
'tabs': ["Analyse morphosyntaxique", "Analyse sémantique", "Analyse du discours", "Chat avec Llama2", "Mon Progrès", "Formulaire de Rétroaction"]
|
112 |
}
|
113 |
}
|
114 |
+
|
115 |
# Inicializar el idioma si no está establecido
|
116 |
if 'current_lang' not in st.session_state:
|
117 |
st.session_state.current_lang = 'es' # Idioma por defecto
|
118 |
+
|
119 |
# Crear un contenedor para la barra superior
|
120 |
with st.container():
|
121 |
# Usar más columnas para un mejor control del espacio
|
122 |
col1, col2, col3, col4, col5 = st.columns([1, 1, 0.8, 1, 1])
|
123 |
with col1:
|
124 |
+
st.markdown(f"<h3 style='margin-bottom: 0;'>{translations[st.session_state.current_lang]['welcome']}, {st.session_state.username}</h3>", unsafe_allow_html=True)
|
125 |
with col3:
|
126 |
+
st.markdown(f"<p style='font-size: 1.2rem; margin-bottom: 0; padding-top: 15px;'>{translations[st.session_state.current_lang]['select_language']}</p>", unsafe_allow_html=True)
|
127 |
with col4:
|
128 |
st.markdown("<div style='padding-top: 15px;'>", unsafe_allow_html=True)
|
129 |
+
selected_lang = st.selectbox("", list(languages.keys()), key="language_selector", label_visibility="collapsed", index=list(languages.values()).index(st.session_state.current_lang))
|
130 |
st.markdown("</div>", unsafe_allow_html=True)
|
131 |
lang_code = languages[selected_lang]
|
132 |
+
if st.session_state.current_lang != lang_code:
|
133 |
+
st.session_state.current_lang = lang_code
|
134 |
+
st.experimental_rerun()
|
135 |
|
136 |
with col5:
|
137 |
st.markdown("<div style='padding-top: 15px;'>", unsafe_allow_html=True)
|
138 |
+
if st.button(translations[st.session_state.current_lang]['logout'], key="logout_button"):
|
139 |
st.session_state.logged_in = False
|
140 |
st.experimental_rerun()
|
141 |
st.markdown("</div>", unsafe_allow_html=True)
|
|
|
143 |
# Añadir una línea divisoria
|
144 |
st.markdown("---")
|
145 |
|
146 |
+
# Usar los nombres de tabs traducidos
|
147 |
+
tab1, tab2, tab3, tab4, tab5, tab6 = st.tabs(translations[st.session_state.current_lang]['tabs'])
|
148 |
|
149 |
with tab1:
|
150 |
+
display_morphosyntax_analysis_interface(nlp_models, st.session_state.current_lang)
|
151 |
with tab2:
|
152 |
+
display_semantic_analysis_interface(nlp_models, st.session_state.current_lang)
|
153 |
with tab3:
|
154 |
+
display_discourse_analysis_interface(nlp_models, st.session_state.current_lang)
|
155 |
with tab4:
|
156 |
+
display_chatbot_interface(st.session_state.current_lang)
|
157 |
with tab5:
|
158 |
+
display_student_progress(st.session_state.username, st.session_state.current_lang)
|
159 |
with tab6:
|
160 |
+
display_feedback_form(st.session_state.current_lang)
|
161 |
|
162 |
###################################################################################################################
|
163 |
if __name__ == "__main__":
|