Berkontribusi
Kontribusi sangat diterima! Baca panduan kontribusi sebelum membuka pull request. Anda juga dapat mengusulkan ide di diskusi atau melihat backlog proyek.
Siapkan proyek
Section titled “Siapkan proyek”Diperlukan Python 3.10 hingga 3.13. uv mengunduhnya jika belum ada.
-
Instal FFmpeg dan, di Linux, PortAudio:
Terminal window # macOSbrew install ffmpeg# Ubuntu atau Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
Klon repositori:
Terminal window git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
Instal uv, yang mengelola dependensi dan lingkungan virtual.
-
Instal dependensi:
Terminal window uv syncuv syncmenginstal PyTorch dengan dukungan CUDA, yang merupakan unduhan besar di Linux dan Windows. Tanpa GPU NVIDIA, instal versi CPU sebagai gantinya:Terminal window uv sync --no-group cuda --group cpu -
Jalankan aplikasi:
Terminal window uv run src/app.py
Alat pengembangan
Section titled “Alat pengembangan”uv run pre-commit install # memeriksa dan memformat kode sebelum setiap commituv run pytest # menjalankan pengujianTerjemahkan antarmuka
Section titled “Terjemahkan antarmuka”Antarmuka diterjemahkan dengan gettext. Teksnya ada di res/locales/audiotext.pot, dan terjemahan setiap bahasa ada di res/locales/<bahasa>/LC_MESSAGES/audiotext.po. Teks yang bergantung pada angka (mis. {count} file / {count} files) memiliki terjemahan untuk setiap bentuk jamak bahasa tersebut (msgstr[0], msgstr[1]…), sesuai header Plural-Forms katalognya. Teks yang sama dapat muncul dua kali, sekali dengan konteks (msgctxt), agar diterjemahkan berbeda di setiap tempat: mis. Done adalah status transkripsi, dan dengan konteks files, filter file dalam folder.
Saat teks dalam kode berubah, atau setelah mengedit file .po (mis. dengan Poedit), jalankan skrip ini. Skrip ini mengekstrak teks, memperbarui katalog, mengompilasinya, dan menampilkan daftar teks yang masih perlu diterjemahkan atau ditinjau (ditandai fuzzy), yang ditampilkan aplikasi dalam bahasa Inggris hingga saat itu. Pengujian gagal selama masih ada katalog yang belum diperbarui.
uv run .github/scripts/update_translations.pyUntuk menambahkan bahasa, buat katalognya, terjemahkan, kompilasi, lalu tambahkan bahasa tersebut ke UI_LANGUAGES di src/utils/i18n.py:
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <kode>uv run .github/scripts/update_translations.pyPerbaiki dokumentasi ini
Section titled “Perbaiki dokumentasi ini”Situs ini dibuat dengan Starlight dan berada di repositori audiotext-docs. Setiap bahasa memiliki foldernya sendiri di src/content/docs (bahasa Inggris ada di en).
git clone https://github.com/HenestrosaDev/audiotext-docs.gitcd audiotext-docsnpm installnpm run dev # menyajikan situs di http://localhost:4321npm run build # membangun situs ke distSetiap halaman memiliki tautan Edit halaman di bagian bawah yang membukanya di GitHub.