GolinksPRO Download Manager
  1. Home
  2. Contribuisci

Contribute to GolinksPRO Download Manager

Bug reports, ideas, and translation fixes are all welcome.

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.

Una riga senza la sua riga #, machine è tua da quel momento in poi: tools/i18n/translate.py non la invia più alla traduzione automatica e la CI (tools/i18n/reviewed_guard.py) rifiuta qualsiasi pull request che la elimini o la contrassegni di nuovo #, machine.

cargo test -p mdm-app every_catalogcontrolla ogni catalogo. Per vedere se i tuoi testi entrano, 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, il programma di installazione e il layout da destra a sinistra si combinano.

Anche il sito web è in 21 lingue, anch'esse tradotte automaticamente. I suoi testi sono in i18n/site/<code>.json, una riga per frase: correggi il campo "text" di una riga (lascia i tag come <g1>…</g1> e <x2/> così come sono: sono i collegamenti e le icone). python tools/website/translate_site.py --status mostra ciò che manca ancora a ciascuna lingua, e lo stesso strumento con --langs <code> traduce solo quello.

Segnalazione di problemi

Use Help → Report a problem in the app: it opens the bug report form with your version, system, how GDM was installed and its language filled in. The form asks for the same when you open it yourself. Security problems: see SECURITY.md.

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