import pandas as pd import streamlit as st from gtts import gTTS import io import os import random # Wczytanie danych df = pd.read_csv(r'dane.tsv', sep='\t', header=None)[[1, 3]] df.columns = ['Włoski', 'Polski'] # Tytuł aplikacji st.title("eataly") # Inicjacja stanu sesji if 'index' not in st.session_state: st.session_state.index = random.randint(0, len(df) - 1) # Funkcja do losowania nowego zdania def random_sentence(): st.session_state.index = random.randint(0, len(df) - 1) # Funkcja do odtwarzania tekstu jako mowy def speak_text(text, lang): tts = gTTS(text=text, lang=lang) fp = io.BytesIO() tts.write_to_fp(fp) fp.seek(0) return fp # Przycisk do losowania nowego zdania if st.button("Losuj nowe zdanie"): random_sentence() # Przyciski do odtwarzania wymowy obok siebie col1, col2 = st.columns(2) with col1: st.subheader(df['Włoski'][st.session_state.index]) if st.button("Odtwórz wymowę po włosku"): audio_data = speak_text(df['Włoski'][st.session_state.index], 'it') st.audio(audio_data, format='audio/mp3') with col2: st.subheader(df['Polski'][st.session_state.index]) if st.button("Odtwórz wymowę po polsku"): audio_data = speak_text(df['Polski'][st.session_state.index], 'pl') st.audio(audio_data, format='audio/mp3')