योगदान
योगदान का स्वागत है! pull request खोलने से पहले योगदान गाइड पढ़ें। आप चर्चाओं में विचार भी सुझा सकते हैं या प्रोजेक्ट बैकलॉग देख सकते हैं।
प्रोजेक्ट सेट करें
Section titled “प्रोजेक्ट सेट करें”Python 3.10 से 3.13 ज़रूरी है। यह न हो तो uv इसे डाउनलोड कर लेता है।
-
FFmpeg और, Linux पर, PortAudio इंस्टॉल करें:
टर्मिनल विंडो # macOSbrew install ffmpeg# Ubuntu या Debiansudo apt install ffmpeg libportaudio2# Windowschoco install ffmpeg -
रिपॉज़िटरी क्लोन करें:
टर्मिनल विंडो git clone https://github.com/HenestrosaDev/audiotext.gitcd audiotext -
uv इंस्टॉल करें, जो डिपेंडेंसी और वर्चुअल एनवायरनमेंट को संभालता है।
-
डिपेंडेंसी इंस्टॉल करें:
टर्मिनल विंडो uv syncuv syncCUDA सपोर्ट वाला PyTorch इंस्टॉल करता है, जो Linux और Windows पर बड़ा डाउनलोड है। NVIDIA GPU न हो तो इसके बजाय CPU संस्करण इंस्टॉल करें:टर्मिनल विंडो uv sync --no-group cuda --group cpu -
ऐप चलाएँ:
टर्मिनल विंडो uv run src/app.py
डेवलपमेंट टूल
Section titled “डेवलपमेंट टूल”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.gitcd audiotext-docsnpm installnpm run dev # वेबसाइट को http://localhost:4321 पर चलाता हैnpm run build # वेबसाइट को dist में बनाता हैहर पेज के नीचे पेज संपादित करें लिंक है जो उसे GitHub पर खोलता है।