- Startseite
- Mitwirken
Zu Mister Download Manager beitragen
Fehlerberichte, Ideen, Übersetzungsfehler und Pull-Requests sind willkommen. Alles geschieht offen auf GitHub.
Einrichtung
Sie benötigen Windows 10 oder 11 und Rust stable 1.95 oder neuer (die MSVC-Toolchain).
cargo build
cargo run -p mdm-app
Um Änderungen auszuprobieren, ohne Ihre eigenen Downloads zu beeinflussen, geben Sie der App einen separaten Datenordner:
set MDM_DATA_DIR=C:\some\empty\folder
cargo run -p mdm-app
cargo run -p mdm-labserver -- --faults "rate=2M"startet einen lokalen Testserver, der generierte Dateien mit den von Ihnen gewünschten Problemen (langsame Verbindungen, Unterbrechungen, ausgelastete Antworten, keine Bereiche; GET / listet sie auf) bereitstellt, sodass Downloads ohne Internet getestet werden können.
Bevor Sie einen Pull-Request öffnen
Dies sind die Prüfungen, die CI durchführt; jede funktioniert auf einem sauberen Klon:
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
Halten Sie Änderungen fokussiert und passen Sie sie dem umgebenden Code an. Einige Regeln gelten überall:
- Clean Room. MDM enthält keinen Code, keine Binärdateien, Grafiken, Symbole, Sounds oder Texte von Internet Download Manager oder einem anderen Download-Manager. Niemals ein anderes Programm disassemblieren, dekompilieren oder patchen und niemals die Lizenzierung anderer umgehen. Siehe Kein Reverse-Engineering-Projekt.
- Jeder Text, den der Benutzer sieht, läuft über
crate::i18n(t,tc,tn,fmt); nach dem Hinzufügen eines Textes führen Siepython tools/i18n/extract.pyaus. Daten innerhalb eines Satzes (ein Dateiname, eine Adresse, eine Größe) werden überi18n::ltroderi18n::isolateeingefügt, damit sie in Sprachen mit Schreibrichtung von rechts nach links richtig gelesen werden. - Nur-Windows-Aufrufe befinden sich in
crates/app/src/win32.rs, ihre Linux- und macOS-Gegenstücke inunix.rs; der Rest des Arbeitsbereichs ist sicheres, portables Rust (unsafe_code = "deny"). Unter Windows prüfttools\dev\check-cross.ps1, ob es immer noch für Linux und macOS erstellt wird. - Ursachen beheben, nicht Fälle, und Produzenten und Konsumenten gemeinsamer Daten (die Download-Liste, die Nachrichten der Browser-Erweiterung, die Kataloge) synchron halten.
Übersetzungen
Die Oberfläche ist in jeder Sprache verfügbar, die Windows 11 anbietet. Die Kataloge in i18n/ wurden maschinell übersetzt, und jede mit #, machine markierte Zeile wartet auf einen Muttersprachler:
- Öffnen Sie
i18n/<code>.tsv(die Codes finden Sie ini18n/languages.tsv). - Korrigieren Sie die Übersetzung in der dritten Spalte der Zeile und löschen Sie die
#, machine-Zeile. - Behalten Sie
{placeholders}und das eine&(den Tastenkürzel-Buchstaben) wie sie sind.
cargo test -p mdm-app every_catalogprüft jeden Katalog. Um zu sehen, ob Ihre Texte passen, setzen Sie MDM_FIT_AUDIT auf eine Datei und machen Sie die Screenshots in Ihrer Sprache (tools\lab\docs-shots.ps1 ... -Lang <code>): Jeder Text, der über sein Fenster oder über einen anderen läuft, wird dort aufgelistet. Unter Sprachen erfahren Sie, wie die Sprachliste, der Installer und das Layout von rechts nach links zusammenpassen.
Die Website ist ebenfalls in 20 Sprachen verfügbar, auch maschinell übersetzt. Ihre Texte sind in i18n/site/<code>.json, eine Zeile pro Satz: Korrigieren Sie die "text" einer Zeile (behalten Sie Tags wie <g1>…</g1> und <x2/> bei, sie sind die Links und Symbole). python tools/website/translate_site.py
--status zeigt, was jeder Sprache noch fehlt, und dasselbe Tool mit --langs <code> übersetzt nur das.
Probleme melden
Verwenden Sie Hilfe → Ein Problem melden in der App: Es öffnet das Fehlerberichtsformular mit Ihrer Version, Ihrem System, wie MDM installiert wurde und seiner Sprache. Das Formular fragt nach denselben Informationen, wenn Sie es selbst öffnen. Sicherheitsprobleme: siehe SECURITY.md.
Pull-Requests werden unter der Projektlizenz, der GNU GPL, Version 3 oder neuer, akzeptiert.