İçeriğe geç

Katkıda bulunma

Katkılarınızı bekliyoruz! Pull request açmadan önce katkı rehberini okuyun. Fikirlerinizi tartışmalarda önerebilir veya proje iş listesine göz atabilirsiniz.

Python 3.10 ile 3.13 arası gereklidir. Yüklü değilse uv onu indirir.

  1. FFmpeg’i ve Linux’ta PortAudio’yu kurun:

    Terminal window
    # macOS
    brew install ffmpeg
    # Ubuntu veya Debian
    sudo apt install ffmpeg libportaudio2
    # Windows
    choco install ffmpeg
  2. Depoyu klonlayın:

    Terminal window
    git clone https://github.com/HenestrosaDev/audiotext.git
    cd audiotext
  3. Bağımlılıkları ve sanal ortamı yöneten uv aracını kurun.

  4. Bağımlılıkları kurun:

    Terminal window
    uv sync

    uv sync, PyTorch’u CUDA desteğiyle kurar; bu, Linux ve Windows’ta büyük bir indirmedir. NVIDIA ekran kartınız yoksa bunun yerine CPU sürümünü kurun:

    Terminal window
    uv sync --no-group cuda --group cpu
  5. Uygulamayı çalıştırın:

    Terminal window
    uv run src/app.py
Terminal window
uv run pre-commit install # her commit'ten önce kodu denetler ve biçimlendirir
uv run pytest # testleri çalıştırır

Arayüz gettext ile çevrilir. Metinler res/locales/audiotext.pot içinde, her dilin çevirileri ise res/locales/<dil>/LC_MESSAGES/audiotext.po içindedir. Bir sayıya bağlı metinlerin (ör. {count} file / {count} files), kataloğun Plural-Forms başlığında belirtildiği gibi dilin her çoğul biçimi için bir çevirisi vardır (msgstr[0], msgstr[1]…). Aynı metin, her yerde farklı çevrilebilmesi için bir kez bağlamla (msgctxt) olmak üzere iki kez görünebilir: ör. Done bir transkripsiyonun durumudur, files bağlamıyla ise bir klasörün dosyalarına ait bir filtredir.

Koddaki metinler değiştiğinde veya bir .po dosyasını düzenledikten sonra (ör. Poedit ile) bu betiği çalıştırın. Betik metinleri çıkarır, katalogları günceller, derler ve hâlâ çevrilmesi ya da gözden geçirilmesi gereken metinleri (fuzzy olarak işaretli) listeler; uygulama bu metinleri o zamana kadar İngilizce gösterir. Bir katalog güncel olmadığı sürece testler başarısız olur.

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

Bir dil eklemek için kataloğunu oluşturun, çevirin, derleyin ve dili src/utils/i18n.py içindeki UI_LANGUAGES’a ekleyin:

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

Bu site Starlight ile oluşturulmuştur ve audiotext-docs deposundadır. Her dilin src/content/docs içinde kendi klasörü vardır (İngilizce en içindedir).

Terminal window
git clone https://github.com/HenestrosaDev/audiotext-docs.git
cd audiotext-docs
npm install
npm run dev # siteyi http://localhost:4321 adresinde sunar
npm run build # siteyi dist içinde derler

Her sayfanın altında, sayfayı GitHub’da açan bir Sayfayı düzenle bağlantısı bulunur.