Přispívání
Příspěvky jsou vítány! Než otevřete pull request, přečtěte si průvodce přispíváním. Nápady můžete navrhovat také v diskuzích nebo si prohlédnout backlog projektu.
Příprava projektu
Sekce “Příprava projektu”Je potřeba Python 3.10 až 3.13. Pokud chybí, uv ho stáhne.
-
Nainstalujte FFmpeg a v Linuxu také PortAudio:
Terminál # macOSbrew install ffmpeg# Ubuntu nebo Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Naklonujte repozitář:
Terminál git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Nainstalujte uv, které spravuje závislosti a virtuální prostředí.
-
Nainstalujte závislosti:
Terminál uv syncuv syncinstaluje PyTorch s podporou CUDA, což je v Linuxu a Windows velké stahování. Bez grafické karty NVIDIA místo toho nainstalujte verzi pro procesor:Terminál uv sync --no-group cuda --group cpu -
Spusťte aplikaci:
Terminál uv run src/app.py
Vývojářské nástroje
Sekce “Vývojářské nástroje”uv run pre-commit install # kontroluje a formátuje kód před každým commitemuv run pytest # spouští testyPřeklad rozhraní
Sekce “Překlad rozhraní”Rozhraní se překládá pomocí gettext. Texty jsou v res/locales/audiotext.pot a překlady jednotlivých jazyků v res/locales/<jazyk>/LC_MESSAGES/audiotext.po. Texty, které závisí na čísle (např. {count} file / {count} files), mají překlad pro každý tvar množného čísla jazyka (msgstr[0], msgstr[1]…) podle hlavičky Plural-Forms jeho katalogu. Stejný text se může objevit dvakrát, jednou s kontextem (msgctxt), aby se na každém místě přeložil jinak: např. Done je stav přepisu a s kontextem files filtr souborů složky.
Když se texty v kódu změní nebo po úpravě souboru .po (např. v Poedit), spusťte tento skript. Extrahuje texty, aktualizuje katalogy, zkompiluje je a vypíše texty, které je ještě třeba přeložit nebo zkontrolovat (označené jako fuzzy); aplikace je do té doby zobrazuje anglicky. Testy selžou, dokud je některý katalog zastaralý.
uv run .github/scripts/update_translations.pyChcete-li přidat jazyk, vytvořte jeho katalog, přeložte ho, zkompilujte a přidejte jazyk do UI_LANGUAGES v src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <kód>uv run .github/scripts/update_translations.pyVylepšete tuto dokumentaci
Sekce “Vylepšete tuto dokumentaci”Tento web je postavený na Starlightu a nachází se v repozitáři audiotext-docs. Každý jazyk má vlastní složku v src/content/docs (angličtina je v en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # spustí web na http://localhost:4321npm run build # sestaví web do distKaždá stránka má dole odkaz Upravit stránku, který ji otevře na GitHubu.