Mister Download Manager
  1. Accueil
  2. Contribuer

Contribuer à Mister Download Manager

Les rapports de bugs, les idées, les corrections de traduction et les pull requests sont les bienvenus. Tout se passe en toute transparence sur GitHub.

Préparation

Vous avez besoin de Windows 10 ou 11 et de Rust stable 1.95 ou ultérieur (la chaîne d'outils MSVC).

cargo build
cargo run -p mdm-app

Pour essayer des modifications sans toucher à vos propres téléchargements, donnez à l'application un dossier de données séparé :

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

cargo run -p mdm-labserver -- --faults "rate=2M"démarre un serveur de test local qui sert des fichiers générés avec les problèmes que vous demandez (connexions lentes, coupures, réponses occupées, pas de plages ; GET / les liste), afin que les téléchargements puissent être testés sans Internet.

Avant d'ouvrir une pull request

Voici les vérifications effectuées par l'intégration continue (CI) ; chacune fonctionne sur un clone propre :

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

Gardez les modifications ciblées et en accord avec le code environnant. Quelques règles s'appliquent partout :

Traductions

L'interface est disponible dans toutes les langues proposées par Windows 11. Les catalogues dans i18n/ ont été créés par traduction automatique, et chaque ligne marquée #, machine attend un locuteur natif :

  1. Ouvrez i18n/<code>.tsv (les codes sont dans i18n/languages.tsv).
  2. Corrigez la traduction dans la troisième colonne de la ligne et supprimez sa ligne #, machine.
  3. Gardez {placeholders} et le & (la lettre du raccourci clavier) tels quels.

cargo test -p mdm-app every_catalogvérifie chaque catalogue. Pour voir si vos textes s'adaptent, définissez MDM_FIT_AUDIT sur un fichier et prenez les captures d'écran dans votre langue (tools\lab\docs-shots.ps1 ... -Lang <code>) : chaque texte qui dépasse sa fenêtre ou en chevauche un autre y est listé. Voir Langues pour comprendre comment la liste des langues, l'installateur et la disposition de droite à gauche s'articulent.

Le site web est également disponible en 20 langues, aussi traduites automatiquement. Ses textes sont dans i18n/site/<code>.json, une ligne par phrase : corrigez le "text" d'une ligne (gardez les balises comme <g1>…</g1> et <x2/> telles quelles, ce sont les liens et les icônes). python tools/website/translate_site.py --status montre ce qui manque encore à chaque langue, et le même outil avec --langs <code> ne traduit que cela.

Signaler des problèmes

Utilisez Aide → Signaler un problème dans l'application : cela ouvre le formulaire de rapport de bug avec votre version, votre système, la façon dont MDM a été installé et sa langue pré-remplis. Le formulaire demande les mêmes informations lorsque vous l'ouvrez vous-même. Problèmes de sécurité : voir SECURITY.md.

Les pull requests sont acceptées sous la licence du projet, la GNU GPL, version 3 ou ultérieure.