Contribuire
I contributi sono benvenuti! Leggi la guida per contribuire prima di aprire una pull request. Puoi anche proporre idee nelle discussioni o consultare il backlog del progetto.
Prepara il progetto
Sezione intitolata “Prepara il progetto”È richiesto Python da 3.10 a 3.13. Se manca, uv lo scarica.
-
Installa FFmpeg e, su Linux, PortAudio:
Finestra del terminale # macOSbrew install ffmpeg# Ubuntu o Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Clona il repository:
Finestra del terminale git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Installa uv, che gestisce le dipendenze e l’ambiente virtuale.
-
Installa le dipendenze:
Finestra del terminale uv syncuv syncinstalla PyTorch con supporto CUDA, un download pesante su Linux e Windows. Senza una GPU NVIDIA, installa invece la versione per CPU:Finestra del terminale uv sync --no-group cuda --group cpu -
Avvia l’app:
Finestra del terminale uv run src/app.py
Strumenti di sviluppo
Sezione intitolata “Strumenti di sviluppo”uv run pre-commit install # controlla e formatta il codice prima di ogni commituv run pytest # esegue i testTraduci l’interfaccia
Sezione intitolata “Traduci l’interfaccia”L’interfaccia è tradotta con gettext. I testi si trovano in res/locales/audiotext.pot, e le traduzioni di ogni lingua in res/locales/<lingua>/LC_MESSAGES/audiotext.po. I testi che dipendono da un numero (ad es. {count} file / {count} files) hanno una traduzione per ogni forma plurale della lingua (msgstr[0], msgstr[1]…), secondo l’intestazione Plural-Forms del suo catalogo. Lo stesso testo può comparire due volte, una con un contesto (msgctxt), così da essere tradotto diversamente in ogni punto: ad es. Done è lo stato di una trascrizione e, con il contesto files, un filtro dei file di una cartella.
Quando cambiano i testi del codice, o dopo aver modificato un file .po (es. con Poedit), esegui questo script. Estrae i testi, aggiorna i cataloghi, li compila ed elenca i testi ancora da tradurre o da rivedere (contrassegnati come fuzzy), che l’app mostra in inglese fino ad allora. I test falliscono finché un catalogo non è aggiornato.
uv run .github/scripts/update_translations.pyPer aggiungere una lingua, crea il suo catalogo, traducilo, compilalo e aggiungila a UI_LANGUAGES in src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <codice>uv run .github/scripts/update_translations.pyMigliora questa documentazione
Sezione intitolata “Migliora questa documentazione”Questo sito è realizzato con Starlight e si trova nel repository audiotext-docs. Ogni lingua ha la sua cartella in src/content/docs (l’inglese è in en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # serve il sito su http://localhost:4321npm run build # genera il sito in distOgni pagina ha in fondo un link Modifica pagina che la apre su GitHub.