"""Tagba Translator"""
import streamlit as st
import requests
api_url = "https://31d7-196-13-207-151.ngrok-free.app/"
if 'source_lang' not in st.session_state:
st.session_state.source_lang = 'Français'
if 'target_lang' not in st.session_state:
st.session_state.target_lang = 'Tagba'
st.markdown(
"""
""",
unsafe_allow_html=True
)
st.markdown('
Tagba Translator
', unsafe_allow_html=True)
col1, col_swap, col2 = st.columns([1, 0.05, 1], gap="small")
with col_swap:
st.write("")
swap = st.button("⇄")
if swap:
st.session_state.source_lang, st.session_state.target_lang = st.session_state.target_lang, st.session_state.source_lang
if "translation" not in st.session_state:
st.session_state.translation = "Traduction"
with col1:
st.markdown(''+st.session_state.source_lang+'
', unsafe_allow_html=True)
text_to_translate = st.text_area(
label=" ",
height=200,
placeholder="Entrez un texte ici"
)
st.markdown('', unsafe_allow_html=True)
if st.button("Traduire"):
if text_to_translate:
try:
response = requests.post('https://17a8-102-180-109-59.ngrok-free.app/translate/', json={"text": text_to_translate, "lang": st.session_state.target_lang}, timeout=1000)
if response.status_code == 200:
translation = response.json()["translation"]
st.session_state.translation = translation
else:
st.error("Erreur lors de la traduction.")
response.raise_for_status()
except requests.exceptions.RequestException as e:
st.error("Erreur lors de la traduction.")
print(e)
else:
st.warning("Veuillez entrer du texte à traduire.")
with col2:
st.markdown(''+st.session_state.target_lang+'
', unsafe_allow_html=True)
st.text_area(
label=" ",
value=st.session_state.translation,
height=200
)
st.markdown('', unsafe_allow_html=True)