Mister Download Manager
  1. Home
  2. Contribuisci

Contribuisci a Mister Download Manager

Segnalazioni di bug, idee, correzioni di traduzioni e pull request sono tutte benvenute. Tutto avviene in modo trasparente su GitHub.

Configurazione

Hai bisogno di Windows 10 o 11 e Rust stable 1.95 o successivo (la toolchain MSVC).

cargo build
cargo run -p mdm-app

Per provare le modifiche senza toccare i tuoi download, assegna all'app una cartella dati separata:

set MDM_DATA_DIR=C:\some\empty\folder
cargo run -p mdm-app

cargo run -p mdm-labserver -- --faults "rate=2M"avvia un server di test locale che serve file generati con qualsiasi problema tu richieda (connessioni lente, interruzioni, risposte occupate, nessun intervallo; GET / li elenca), in modo che i download possano essere testati senza internet.

Prima di aprire una pull request

Questi sono i controlli eseguiti dalla CI; ognuno funziona su un clone pulito:

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

Mantieni le modifiche mirate e in linea con il codice circostante. Alcune regole valgono ovunque:

Traduzioni

L'interfaccia è in ogni lingua offerta da Windows 11. I cataloghi in i18n/ sono stati creati tramite traduzione automatica, e ogni riga contrassegnata #, machine attende un madrelingua:

  1. Apri i18n/<code>.tsv (i codici sono in i18n/languages.tsv).
  2. Correggi la traduzione nella terza colonna della riga ed elimina la sua riga #, machine.
  3. Mantieni {placeholders} e la & (la lettera della scorciatoia da tastiera) così come sono.

cargo test -p mdm-app every_catalogcontrolla ogni catalogo. Per vedere se i tuoi testi si adattano, imposta MDM_FIT_AUDIT su un file e fai gli screenshot nella tua lingua (tools\lab\docs-shots.ps1 ... -Lang <code>): ogni testo che supera la sua finestra o un altro viene elencato lì. Vedi Lingue per come l'elenco delle lingue, l'installatore e il layout da destra a sinistra si combinano.

Il sito web è disponibile in 20 lingue, anch'esso tradotto automaticamente. I suoi testi sono in i18n/site/<code>.json, una riga per frase: correggi la "text" di una riga (mantieni i tag come <g1>…</g1> e <x2/> così come sono, sono i link e le icone). python tools/website/translate_site.py --status mostra ciò che manca ancora a ogni lingua, e lo stesso strumento con --langs <code> traduce solo quello.

Segnalazione di problemi

Usa Guida → Segnala un problema nell'app: apre il modulo di segnalazione bug con la tua versione, il sistema, come MDM è stato installato e la sua lingua già compilati. Il modulo chiede le stesse informazioni quando lo apri tu stesso. Problemi di sicurezza: vedi SECURITY.md.

Le pull request sono accettate sotto la licenza del progetto, la GNU GPL, versione 3 o successiva.