Contribuer
Les contributions sont les bienvenues ! Lisez le guide de contribution avant d’ouvrir une pull request. Vous pouvez aussi proposer des idées dans les discussions ou consulter le backlog du projet.
Préparez le projet
Section intitulée « Préparez le projet »Python 3.10 à 3.13 est requis. uv le télécharge s’il manque.
-
Installez FFmpeg et, sous Linux, PortAudio :
Fenêtre de terminal # macOSbrew install ffmpeg# Ubuntu ou Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Clonez le dépôt :
Fenêtre de terminal git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Installez uv, qui gère les dépendances et l’environnement virtuel.
-
Installez les dépendances :
Fenêtre de terminal uv syncuv syncinstalle PyTorch avec la prise en charge de CUDA, un téléchargement volumineux sous Linux et Windows. Sans GPU NVIDIA, installez plutôt la version CPU :Fenêtre de terminal uv sync --no-group cuda --group cpu -
Lancez l’application :
Fenêtre de terminal uv run src/app.py
Outils de développement
Section intitulée « Outils de développement »uv run pre-commit install # vérifie et formate le code avant chaque commituv run pytest # lance les testsTraduisez l’interface
Section intitulée « Traduisez l’interface »L’interface est traduite avec gettext. Les textes se trouvent dans res/locales/audiotext.pot, et les traductions de chaque langue dans res/locales/<langue>/LC_MESSAGES/audiotext.po. Les textes qui dépendent d’un nombre (par ex. {count} file / {count} files) ont une traduction pour chaque forme plurielle de la langue (msgstr[0], msgstr[1]…), selon l’en-tête Plural-Forms de son catalogue. Un même texte peut apparaître deux fois, dont une avec un contexte (msgctxt), pour être traduit différemment à chaque endroit : par ex. Done est le statut d’une transcription et, avec le contexte files, un filtre des fichiers d’un dossier.
Lorsque les textes du code changent, ou après avoir modifié un fichier .po (p. ex. avec Poedit), exécutez ce script. Il extrait les textes, met à jour les catalogues, les compile et liste les textes à traduire ou à relire (marqués fuzzy), que l’application affiche en anglais d’ici là. Les tests échouent tant qu’un catalogue n’est pas à jour.
uv run .github/scripts/update_translations.pyPour ajouter une langue, créez son catalogue, traduisez-le, compilez-le et ajoutez-la à UI_LANGUAGES dans 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.pyAméliorez cette documentation
Section intitulée « Améliorez cette documentation »Ce site est construit avec Starlight et se trouve dans le dépôt audiotext-docs. Chaque langue a son propre dossier dans src/content/docs (l’anglais est dans en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # sert le site sur http://localhost:4321npm run build # construit le site dans distChaque page comporte un lien Modifier cette page en bas qui l’ouvre sur GitHub.