इसे छोड़कर कंटेंट पर जाएं

योगदान

योगदान का स्वागत है! pull request खोलने से पहले योगदान गाइड पढ़ें। आप चर्चाओं में विचार भी सुझा सकते हैं या प्रोजेक्ट बैकलॉग देख सकते हैं।

प्रोजेक्ट सेट करें

Section titled “प्रोजेक्ट सेट करें”

Python 3.10 से 3.13 ज़रूरी है। यह न हो तो uv इसे डाउनलोड कर लेता है।

  1. FFmpeg और, Linux पर, PortAudio इंस्टॉल करें:

    टर्मिनल विंडो
    # macOS
    brew install ffmpeg
    # Ubuntu या Debian
    sudo apt install ffmpeg libportaudio2
    # Windows
    choco install ffmpeg
  2. रिपॉज़िटरी क्लोन करें:

    टर्मिनल विंडो
    git clone https://github.com/HenestrosaDev/audiotext.git
    cd audiotext
  3. uv इंस्टॉल करें, जो डिपेंडेंसी और वर्चुअल एनवायरनमेंट को संभालता है।

  4. डिपेंडेंसी इंस्टॉल करें:

    टर्मिनल विंडो
    uv sync

    uv sync CUDA सपोर्ट वाला PyTorch इंस्टॉल करता है, जो Linux और Windows पर बड़ा डाउनलोड है। NVIDIA GPU न हो तो इसके बजाय CPU संस्करण इंस्टॉल करें:

    टर्मिनल विंडो
    uv sync --no-group cuda --group cpu
  5. ऐप चलाएँ:

    टर्मिनल विंडो
    uv run src/app.py
टर्मिनल विंडो
uv run pre-commit install # हर commit से पहले कोड जाँचता और फ़ॉर्मेट करता है
uv run pytest # टेस्ट चलाता है

इंटरफ़ेस का अनुवाद करें

Section titled “इंटरफ़ेस का अनुवाद करें”

इंटरफ़ेस का अनुवाद gettext से होता है। टेक्स्ट res/locales/audiotext.pot में हैं, और हर भाषा के अनुवाद res/locales/<भाषा>/LC_MESSAGES/audiotext.po में। जो टेक्स्ट किसी संख्या पर निर्भर करते हैं (जैसे {count} file / {count} files), उनका भाषा के हर बहुवचन रूप के लिए एक अनुवाद होता है (msgstr[0], msgstr[1]…), जैसा उसके कैटलॉग के Plural-Forms हेडर में तय है। एक ही टेक्स्ट दो बार आ सकता है, एक बार संदर्भ (msgctxt) के साथ, ताकि हर जगह उसका अलग अनुवाद हो: जैसे Done किसी ट्रांसक्रिप्शन की स्थिति है, और files संदर्भ के साथ किसी फ़ोल्डर की फ़ाइलों का फ़िल्टर।

जब कोड के टेक्स्ट बदलें, या किसी .po फ़ाइल को संपादित करने के बाद (जैसे Poedit से), यह स्क्रिप्ट चलाएँ। यह टेक्स्ट निकालती है, कैटलॉग अपडेट करती है, उन्हें कंपाइल करती है और उन टेक्स्ट की सूची दिखाती है जिनका अनुवाद या समीक्षा अभी बाकी है (fuzzy चिह्नित); तब तक ऐप उन्हें अंग्रेज़ी में दिखाता है। जब तक कोई कैटलॉग पुराना है, टेस्ट विफल होते हैं।

टर्मिनल विंडो
uv run .github/scripts/update_translations.py

कोई भाषा जोड़ने के लिए उसका कैटलॉग बनाएँ, अनुवाद करें, कंपाइल करें और भाषा को src/utils/i18n.py के UI_LANGUAGES में जोड़ें:

टर्मिनल विंडो
uv run pybabel init -i res/locales/audiotext.pot -d res/locales -D audiotext -l <कोड>
uv run .github/scripts/update_translations.py

इस दस्तावेज़ को बेहतर बनाएँ

Section titled “इस दस्तावेज़ को बेहतर बनाएँ”

यह वेबसाइट Starlight से बनी है और audiotext-docs रिपॉज़िटरी में है। हर भाषा का src/content/docs में अपना फ़ोल्डर है (अंग्रेज़ी en में है)।

टर्मिनल विंडो
git clone https://github.com/HenestrosaDev/audiotext-docs.git
cd audiotext-docs
npm install
npm run dev # वेबसाइट को http://localhost:4321 पर चलाता है
npm run build # वेबसाइट को dist में बनाता है

हर पेज के नीचे पेज संपादित करें लिंक है जो उसे GitHub पर खोलता है।