Mulai menyiapkan
Anda memerlukan Windows 10 atau 11 dan Rust stabil 1.95 atau yang lebih baru (toolchain MSVC).
cargo build
cargo run -p mdm-app
Untuk mencoba perubahan tanpa menyentuh unduhan Anda sendiri, berikan aplikasi folder data terpisah:
set MDM_DATA_DIR=C:\some\empty\folder
cargo run -p mdm-app
cargo run -p mdm-labserver -- --faults "rate=2M"memulai server uji lokal yang menyajikan file yang dihasilkan dengan masalah apa pun yang Anda minta (koneksi lambat, terputus, jawaban sibuk, tanpa rentang; GET / mencantumkannya), sehingga unduhan dapat diuji tanpa internet.
Sebelum Anda membuka permintaan pull
Ini adalah pemeriksaan yang dijalankan CI; masing-masing berfungsi pada klon bersih:
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
Fokuskan perubahan dan sesuaikan dengan kode di sekitarnya. Beberapa aturan berlaku di mana saja:
- Ruang bersih. MDM tidak mengandung kode, biner, karya seni, ikon, suara, atau teks dari Internet Download Manager atau pengelola unduhan lainnya. Jangan pernah membongkar, mendekompilasi, atau menambal program lain, dan jangan pernah melewati lisensi siapa pun. Lihat Bukan proyek rekayasa balik.
- Setiap teks yang dilihat pengguna melewati
crate::i18n(t,tc,tn,fmt); setelah menambahkannya, jalankanpython tools/i18n/extract.py. Data di dalam kalimat (nama file, alamat, ukuran) masuk melaluii18n::ltrataui18n::isolate, sehingga terbaca dengan benar dalam bahasa kanan-ke-kiri. - Panggilan khusus Windows berada di
crates/app/src/win32.rs, rekan-rekan Linux dan macOS-nya diunix.rs; sisa ruang kerja adalah Rust yang aman dan portabel (unsafe_code = "deny"). Di Windows,tools\dev\check-cross.ps1memeriksa apakah masih dibuat untuk Linux dan macOS. - Perbaiki penyebab, bukan kasus, dan jaga agar produsen dan konsumen data bersama (daftar unduhan, pesan ekstensi browser, katalog) tetap sinkron.
Terjemahan
Antarmuka tersedia dalam setiap bahasa yang ditawarkan Windows 11. Katalog di i18n/ dibuat oleh terjemahan mesin, dan setiap baris yang ditandai #, machine menunggu penutur asli:
- Buka
i18n/<code>.tsv(kode ada dii18n/languages.tsv). - Perbaiki terjemahan di kolom ketiga baris dan hapus baris
#, machine-nya. - Biarkan
{placeholders}dan&(huruf pintasan keyboard) apa adanya.
cargo test -p mdm-app every_catalogmemeriksa setiap katalog. Untuk melihat apakah teks Anda sesuai, atur MDM_FIT_AUDIT ke file dan ambil tangkapan layar dalam bahasa Anda (tools\lab\docs-shots.ps1 ... -Lang <code>): setiap teks yang melewati jendelanya atau di atas yang lain tercantum di sana. Lihat Bahasa untuk melihat bagaimana daftar bahasa, penginstal, dan tata letak kanan-ke-kiri saling terkait.
Situs web ini juga tersedia dalam 20 bahasa, yang juga diterjemahkan oleh mesin. Teksnya ada di i18n/site/<code>.json, satu baris per kalimat: perbaiki "text" satu baris (biarkan tag seperti <g1>…</g1> dan <x2/> apa adanya, itu adalah tautan dan ikon). python tools/website/translate_site.py
--status menunjukkan apa yang masih kurang di setiap bahasa, dan alat yang sama dengan --langs <code> hanya menerjemahkan itu.
Melaporkan masalah
Gunakan Bantuan → Laporkan masalah di aplikasi: ini membuka formulir laporan bug dengan versi, sistem, cara MDM diinstal, dan bahasanya terisi. Formulir meminta hal yang sama saat Anda membukanya sendiri. Masalah keamanan: lihat SECURITY.md.
Permintaan pull diterima di bawah lisensi proyek, GNU GPL, versi 3 atau yang lebih baru.