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.
Konfigurera projektet
Section titled “Konfigurera projektet”Python 3.10 till 3.13 krävs. uv laddar ner det om det saknas.
-
Installera FFmpeg och, på Linux, PortAudio:
Terminal window # macOSbrew install ffmpeg# Ubuntu eller Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Klona repositoryt:
Terminal window git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Installera uv, som hanterar beroendena och den virtuella miljön.
-
Installera beroendena:
Terminal window uv syncuv syncinstallerar 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 -
Starta appen:
Terminal window uv run src/app.py
Utvecklingsverktyg
Section titled “Utvecklingsverktyg”uv run pre-commit install # kontrollerar och formaterar koden före varje commituv run pytest # kör testernaÖversätt gränssnittet
Section titled “Översätt gränssnittet”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.
uv run .github/scripts/update_translations.pyFö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:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <kod>uv run .github/scripts/update_translations.pyFörbättra denna dokumentation
Section titled “Förbättra denna dokumentation”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).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # visar webbplatsen på http://localhost:4321npm run build # bygger webbplatsen i distVarje sida har en länk Redigera sida längst ner som öppnar den på GitHub.