Contribuiți
Contribuțiile sunt binevenite! Citiți ghidul de contribuție înainte de a deschide un pull request. Puteți propune idei și în discuții sau puteți consulta backlogul proiectului.
Pregătiți proiectul
Secțiune intitulată „Pregătiți proiectul”Este necesar Python 3.10 până la 3.13. Dacă lipsește, uv îl descarcă.
-
Instalați FFmpeg și, pe Linux, PortAudio:
Terminal window # macOSbrew install ffmpeg# Ubuntu sau Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Clonați depozitul:
Terminal window git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Instalați uv, care gestionează dependențele și mediul virtual.
-
Instalați dependențele:
Terminal window uv syncuv syncinstalează PyTorch cu suport CUDA, o descărcare mare pe Linux și Windows. Fără placă NVIDIA, instalați în schimb versiunea pentru procesor:Terminal window uv sync --no-group cuda --group cpu -
Porniți aplicația:
Terminal window uv run src/app.py
Instrumente de dezvoltare
Secțiune intitulată „Instrumente de dezvoltare”uv run pre-commit install # verifică și formatează codul înainte de fiecare commituv run pytest # rulează testeleTraduceți interfața
Secțiune intitulată „Traduceți interfața”Interfața este tradusă cu gettext. Textele se află în res/locales/audiotext.pot, iar traducerile fiecărei limbi în res/locales/<limbă>/LC_MESSAGES/audiotext.po. Textele care depind de un număr (de ex. {count} file / {count} files) au o traducere pentru fiecare formă de plural a limbii (msgstr[0], msgstr[1]…), conform antetului Plural-Forms al catalogului ei. Același text poate apărea de două ori, o dată cu un context (msgctxt), ca să fie tradus diferit în fiecare loc: de ex. Done este starea unei transcrieri, iar cu contextul files, un filtru al fișierelor unui dosar.
Când textele din cod se schimbă sau după ce editați un fișier .po (de ex. cu Poedit), rulați acest script. Extrage textele, actualizează cataloagele, le compilează și listează textele care mai trebuie traduse sau revizuite (marcate ca fuzzy), pe care aplicația le afișează în engleză până atunci. Testele eșuează cât timp un catalog nu este actualizat.
uv run .github/scripts/update_translations.pyPentru a adăuga o limbă, creați-i catalogul, traduceți-l, compilați-l și adăugați limba în UI_LANGUAGES din src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <cod>uv run .github/scripts/update_translations.pyÎmbunătățiți această documentație
Secțiune intitulată „Îmbunătățiți această documentație”Acest site este construit cu Starlight și se află în depozitul audiotext-docs. Fiecare limbă are propriul dosar în src/content/docs (engleza este în en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # servește site-ul la http://localhost:4321npm run build # construiește site-ul în distFiecare pagină are în partea de jos un link Editează pagina care o deschide pe GitHub.