Přeskočit na obsah

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.

Je potřeba Python 3.10 až 3.13. Pokud chybí, uv ho stáhne.

  1. Nainstalujte FFmpeg a v Linuxu také PortAudio:

    Terminál
    # macOS
    brew install ffmpeg
    # Ubuntu nebo Debian
    sudo apt install ffmpeg libportaudio2
    # Windows
    choco install ffmpeg
  2. Naklonujte repozitář:

    Terminál
    git clone https://github.com/HenestrosaDev/audiotext.git
    cd audiotext
  3. Nainstalujte uv, které spravuje závislosti a virtuální prostředí.

  4. Nainstalujte závislosti:

    Terminál
    uv sync

    uv sync instaluje 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
  5. Spusťte aplikaci:

    Terminál
    uv run src/app.py

Vývojářské nástroje

Sekce “Vývojářské nástroje”
Terminál
uv run pre-commit install # kontroluje a formátuje kód před každým commitem
uv run pytest # spouští testy

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ý.

Terminál
uv run .github/scripts/update_translations.py

Chcete-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:

Terminál
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <kód>
uv run .github/scripts/update_translations.py

Vylepš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).

Terminál
git clone https://github.com/HenestrosaDev/audiotext-docs.git
cd audiotext-docs
npm install
npm run dev # spustí web na http://localhost:4321
npm run build # sestaví web do dist

Každá stránka má dole odkaz Upravit stránku, který ji otevře na GitHubu.