Contribuír
As contribucións son benvidas! Le a guía de contribución antes de abrir unha pull request. Tamén podes propoñer ideas nas discusións ou consultar o backlog do proxecto.
Prepara o proxecto
Sección titulada «Prepara o proxecto»Precísase Python 3.10 a 3.13. uv descárgao se non o tes.
-
Instala FFmpeg e, en Linux, PortAudio:
Fiestra do terminal # macOSbrew install ffmpeg# Ubuntu ou Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Clona o repositorio:
Fiestra do terminal git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Instala uv, que xestiona as dependencias e o contorno virtual.
-
Instala as dependencias:
Fiestra do terminal uv syncuv syncinstala PyTorch con soporte para CUDA, que é unha descarga grande en Linux e Windows. Sen unha GPU NVIDIA, instala no seu lugar a versión para CPU:Fiestra do terminal uv sync --no-group cuda --group cpu -
Executa a aplicación:
Fiestra do terminal uv run src/app.py
Ferramentas de desenvolvemento
Sección titulada «Ferramentas de desenvolvemento»uv run pre-commit install # revisa e formata o código antes de cada commituv run pytest # executa as probasTraduce a interface
Sección titulada «Traduce a interface»A interface tradúcese con gettext. Os textos están en res/locales/audiotext.pot, e as traducións de cada idioma en res/locales/<idioma>/LC_MESSAGES/audiotext.po. Os textos que dependen dun número (p. ex. {count} file / {count} files) teñen unha tradución para cada forma de plural do idioma (msgstr[0], msgstr[1]…), segundo a cabeceira Plural-Forms do seu catálogo. Un mesmo texto pode aparecer dúas veces, unha cun contexto (msgctxt), para que se traduza distinto en cada sitio: p. ex. Done é o estado dunha transcrición, e co contexto files, un filtro dos ficheiros dun cartafol.
Cando cambien os textos do código, ou despois de editar un ficheiro .po (p. ex. con Poedit), executa este script. Extrae os textos, actualiza os catálogos, compílaos e lista os textos que faltan por traducir ou revisar (marcados como fuzzy), que a aplicación mostra en inglés ata entón. As probas fallan mentres haxa un catálogo desactualizado.
uv run .github/scripts/update_translations.pyPara engadir un idioma, crea o seu catálogo, tradúceo, compílao e engádeo a UI_LANGUAGES en src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <código>uv run .github/scripts/update_translations.pyMellora esta documentación
Sección titulada «Mellora esta documentación»Esta web está feita con Starlight e está no repositorio audiotext-docs. Cada idioma ten o seu propio cartafol en src/content/docs (o inglés está en en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # serve a web en http://localhost:4321npm run build # xera a web en distCada páxina ten unha ligazón Editar páxina ao final que a abre en GitHub.