Hoppa till innehåll

Bidra

Bidrag är välkomna! Läs riktlinjerna för bidrag innan du öppnar en pull request. Du kan också föreslå idéer i diskussionerna eller se projektets backlog.

Python 3.10 till 3.13 krävs. uv laddar ner det om det saknas.

  1. Installera FFmpeg och, på Linux, PortAudio:

    Terminal window
    # macOS
    brew install ffmpeg
    # Ubuntu eller Debian
    sudo apt install ffmpeg libportaudio2
    # Windows
    choco install ffmpeg
  2. Klona repositoryt:

    Terminal window
    git clone https://github.com/HenestrosaDev/audiotext.git
    cd audiotext
  3. Installera uv, som hanterar beroendena och den virtuella miljön.

  4. Installera beroendena:

    Terminal window
    uv sync

    uv sync installerar PyTorch med CUDA-stöd, en stor nedladdning på Linux och Windows. Utan NVIDIA-grafikkort installerar du CPU-versionen i stället:

    Terminal window
    uv sync --no-group cuda --group cpu
  5. Starta appen:

    Terminal window
    uv run src/app.py
Terminal window
uv run pre-commit install # kontrollerar och formaterar koden före varje commit
uv run pytest # kör testerna

Gränssnittet översätts med gettext. Texterna finns i res/locales/audiotext.pot, och översättningarna för varje språk i res/locales/<språk>/LC_MESSAGES/audiotext.po. Texter som beror på ett tal (t.ex. {count} file / {count} files) har en översättning för varje pluralform i språket (msgstr[0], msgstr[1]…), enligt rubriken Plural-Forms i dess katalog. Samma text kan förekomma två gånger, en gång med en kontext (msgctxt), så att den översätts olika på varje ställe: t.ex. är Done statusen för en transkribering och, med kontexten files, ett filter för filerna i en mapp.

När texterna i koden ändras, eller efter att du har redigerat en .po-fil (t.ex. med Poedit), kör du det här skriptet. Det extraherar texterna, uppdaterar katalogerna, kompilerar dem och listar texterna som återstår att översätta eller granska (markerade som fuzzy), som appen visar på engelska tills dess. Testerna misslyckas så länge en katalog är inaktuell.

Terminal window
uv run .github/scripts/update_translations.py

För att lägga till ett språk skapar du dess katalog, översätter och kompilerar den och lägger till språket i UI_LANGUAGES i src/utils/i18n.py:

Terminal window
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <kod>
uv run .github/scripts/update_translations.py

Den här webbplatsen är byggd med Starlight och finns i repositoryt audiotext-docs. Varje språk har en egen mapp i src/content/docs (engelska ligger i en).

Terminal window
git clone https://github.com/HenestrosaDev/audiotext-docs.git
cd audiotext-docs
npm install
npm run dev # visar webbplatsen på http://localhost:4321
npm run build # bygger webbplatsen i dist

Varje sida har en länk Redigera sida längst ner som öppnar den på GitHub.