Contribueix
Les contribucions són benvingudes! Llegeix la guia de contribució abans d’obrir una pull request. També pots proposar idees a les discussions o consultar el backlog del projecte.
Prepara el projecte
Section titled “Prepara el projecte”Cal Python 3.10 a 3.13. uv el descarrega si no el tens.
-
Instal·la FFmpeg i, a Linux, PortAudio:
Finestra del terminal # macOSbrew install ffmpeg# Ubuntu o Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Clona el repositori:
Finestra del terminal git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Instal·la uv, que gestiona les dependències i l’entorn virtual.
-
Instal·la les dependències:
Finestra del terminal uv syncuv syncinstal·la PyTorch amb suport per a CUDA, que és una descàrrega gran a Linux i Windows. Sense una GPU NVIDIA, instal·la en lloc seu la versió per a CPU:Finestra del terminal uv sync --no-group cuda --group cpu -
Executa l’aplicació:
Finestra del terminal uv run src/app.py
Eines de desenvolupament
Section titled “Eines de desenvolupament”uv run pre-commit install # revisa i formata el codi abans de cada commituv run pytest # executa les provesTradueix la interfície
Section titled “Tradueix la interfície”La interfície es tradueix amb gettext. Els textos són a res/locales/audiotext.pot, i les traduccions de cada idioma a res/locales/<idioma>/LC_MESSAGES/audiotext.po. Els textos que depenen d’un número (p. ex. {count} file / {count} files) tenen una traducció per a cada forma de plural de l’idioma (msgstr[0], msgstr[1]…), segons la capçalera Plural-Forms del seu catàleg. Un mateix text pot aparèixer dues vegades, una amb un context (msgctxt), perquè es tradueixi diferent a cada lloc: p. ex. Done és l’estat d’una transcripció, i amb el context files, un filtre dels fitxers d’una carpeta.
Quan canviïn els textos del codi, o després d’editar un fitxer .po (p. ex. amb Poedit), executa aquest script. Extreu els textos, actualitza els catàlegs, els compila i llista els textos que falten per traduir o revisar (marcats com a fuzzy), que l’aplicació mostra en anglès fins aleshores. Les proves fallen mentre hi hagi un catàleg desactualitzat.
uv run .github/scripts/update_translations.pyPer afegir un idioma, crea’n el catàleg, tradueix-lo, compila’l i afegeix-lo a UI_LANGUAGES a src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <codi>uv run .github/scripts/update_translations.pyMillora aquesta documentació
Section titled “Millora aquesta documentació”Aquest web està fet amb Starlight i és al repositori audiotext-docs. Cada idioma té la seva pròpia carpeta a src/content/docs (l’anglès és a en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # serveix el web a http://localhost:4321npm run build # genera el web a distCada pàgina té un enllaç Edita la pàgina al final que l’obre a GitHub.