Kurulum
Windows 10 veya 11 ve Rust stable 1.95 veya üzeri (MSVC araç zinciri) gereklidir.
cargo build
cargo run -p mdm-app
Kendi indirmelerinize dokunmadan değişiklikleri denemek için uygulamaya ayrı bir veri klasörü verin:
set MDM_DATA_DIR=C:\some\empty\folder
cargo run -p mdm-app
cargo run -p mdm-labserver -- --faults "rate=2M"istediğiniz her türlü sorunla (yavaş bağlantılar, kesintiler, meşgul yanıtlar, aralık yok; GET / bunları listeler) oluşturulan dosyaları sunan yerel bir test sunucusu başlatır, böylece indirmeler internet olmadan test edilebilir.
Bir çekme isteği açmadan önce
Bunlar CI'nin çalıştırdığı kontrollerdir; her biri temiz bir klon üzerinde çalışır:
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
python tools/i18n/extract.py # then: git diff --exit-code i18n/en.tsv
node tools/extension/test.mjs
Değişiklikleri odaklanmış tutun ve etraflarındaki kodla eşleştirin. Birkaç kural her yerde geçerlidir:
- Temiz oda. MDM, Internet Download Manager veya başka herhangi bir indirme yöneticisinden kod, ikili dosya, sanat eseri, simge, ses veya metin içermez. Başka bir programı asla parçalarına ayırmayın, derlemesini çözmeyin veya yamalamayın ve kimsenin lisansını asla atlamayın. Tersine mühendislik projesi değil bölümüne bakın.
- Kullanıcının gördüğü her metin
crate::i18n(t,tc,tn,fmt) aracılığıyla geçer; bir tane ekledikten sonrapython tools/i18n/extract.pykomutunu çalıştırın. Bir cümlenin içindeki veriler (bir dosya adı, bir adres, bir boyut)i18n::ltrveyai18n::isolatearacılığıyla girilir, böylece sağdan sola dillerde doğru okunur. - Yalnızca Windows çağrıları
crates/app/src/win32.rsiçinde bulunur, Linux ve macOS karşılıklarıunix.rsiçinde; çalışma alanının geri kalanı güvenli, taşınabilir Rust'tır (unsafe_code = "deny"). Windows'ta,tools\dev\check-cross.ps1hala Linux ve macOS için derlendiğini kontrol eder. - Vakaları değil, nedenleri düzeltin ve paylaşılan verilerin (indirme listesi, tarayıcı uzantısının mesajları, kataloglar) üreticilerini ve tüketicilerini senkronize tutun.
Çeviriler
Arayüz, Windows 11'in sunduğu her dilde mevcuttur. i18n/ içindeki kataloglar makine çevirisiyle yapılmıştır ve #, machine olarak işaretlenmiş her satır bir ana dil konuşmacısını beklemektedir:
i18n/<code>.tsvdosyasını açın (kodlari18n/languages.tsviçinde bulunur).- Satırın üçüncü sütunundaki çeviriyi düzeltin ve
#, machinesatırını silin. {placeholders}ve tek&(klavye kısayol harfi) olduğu gibi bırakın.
cargo test -p mdm-app every_catalogher kataloğu kontrol eder. Metinlerinizin uygun olup olmadığını görmek için MDM_FIT_AUDIT değerini bir dosyaya ayarlayın ve kendi dilinizde ekran görüntüleri alın (tools\lab\docs-shots.ps1 ... -Lang <code>): penceresini aşan veya başka bir pencerenin üzerine çıkan her metin orada listelenir. Dil listesinin, yükleyicinin ve sağdan sola düzenin nasıl bir araya geldiğini görmek için Diller bölümüne bakın.
Web sitesi de 20 dilde ve makine çevirisiyle sunuluyor. Metinleri i18n/site/<code>.json biçiminde, her cümle bir satırda: bir satırın "text" kısmını düzeltin (bağlantılar ve simgeler olan <g1>…</g1> ve <x2/> gibi etiketleri olduğu gibi bırakın). python tools/website/translate_site.py
--status her dilin neleri eksik olduğunu gösterir ve aynı araç --langs <code> ile sadece bunları çevirir.
Sorun Bildirme
Uygulamada Yardım → Bir sorun bildir seçeneğini kullanın: bu, sürümünüz, sisteminiz, MDM'nin nasıl yüklendiği ve dili doldurulmuş olarak hata raporu formunu açar. Formu kendiniz açtığınızda da aynı bilgileri ister. Güvenlik sorunları: SECURITY.md bölümüne bakın.
Çekme istekleri, projenin lisansı olan GNU GPL, sürüm 3 veya üzeri kapsamında kabul edilir.