Bijdragen
Bijdragen zijn welkom! Lees de bijdragegids voordat je een pull request opent. Je kunt ook ideeën voorstellen in de discussies of de projectbacklog bekijken.
Het project opzetten
Section titled “Het project opzetten”Python 3.10 tot en met 3.13 is vereist. Als het ontbreekt, downloadt uv het.
-
Installeer FFmpeg en, op Linux, PortAudio:
Terminal window # macOSbrew install ffmpeg# Ubuntu of Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Kloon de repository:
Terminal window git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Installeer uv, dat de afhankelijkheden en de virtuele omgeving beheert.
-
Installeer de afhankelijkheden:
Terminal window uv syncuv syncinstalleert PyTorch met CUDA-ondersteuning, een grote download op Linux en Windows. Installeer zonder NVIDIA-GPU in plaats daarvan de CPU-versie:Terminal window uv sync --no-group cuda --group cpu -
Start de app:
Terminal window uv run src/app.py
Ontwikkeltools
Section titled “Ontwikkeltools”uv run pre-commit install # controleert en formatteert de code voor elke commituv run pytest # voert de tests uitDe interface vertalen
Section titled “De interface vertalen”De interface wordt vertaald met gettext. De teksten staan in res/locales/audiotext.pot, en de vertalingen van elke taal in res/locales/<taal>/LC_MESSAGES/audiotext.po. Teksten die van een getal afhangen (bijv. {count} file / {count} files) hebben een vertaling voor elke meervoudsvorm van de taal (msgstr[0], msgstr[1]…), zoals vastgelegd in de header Plural-Forms van de catalogus. Dezelfde tekst kan twee keer voorkomen, één keer met een context (msgctxt), zodat hij op elke plek anders wordt vertaald: bijv. Done is de status van een transcriptie, en met de context files een filter van de bestanden van een map.
Als de teksten in de code veranderen, of nadat je een .po-bestand hebt bewerkt (bijv. met Poedit), voer je dit script uit. Het extraheert de teksten, werkt de catalogi bij, compileert ze en toont de teksten die nog vertaald of nagekeken moeten worden (gemarkeerd als fuzzy), die de app tot die tijd in het Engels toont. De tests mislukken zolang een catalogus niet bijgewerkt is.
uv run .github/scripts/update_translations.pyOm een taal toe te voegen, maak je de catalogus aan, vertaal en compileer je die, en voeg je de taal toe aan UI_LANGUAGES in src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <code>uv run .github/scripts/update_translations.pyDeze documentatie verbeteren
Section titled “Deze documentatie verbeteren”Deze website is gebouwd met Starlight en staat in de repository audiotext-docs. Elke taal heeft een eigen map in src/content/docs (Engels staat in en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # serveert de website op http://localhost:4321npm run build # bouwt de website in distElke pagina heeft onderaan een link Pagina bewerken die hem op GitHub opent.