GolinksPRO Download Manager
  1. Accueil
  2. Contribuer

Contribute to GolinksPRO Download Manager

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

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, utilisez un dossier de données distinct pour l’application :

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 demande de fusion

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 de i18n/ ont été traduits automatiquement, et chaque ligne marquée #, machine attend une révision par 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.

Une fois la ligne #, machine supprimée, vous en êtes responsable : tools/i18n/translate.py ne la soumettra plus jamais à la traduction automatique, et la CI (tools/i18n/reviewed_guard.py) rejette toute demande de fusion qui la supprime ou la marque à nouveau #, machine.

cargo test -p mdm-app every_catalogvérifie chaque catalogue. Pour vérifier que vos textes tiennent dans l’interface, définissez MDM_FIT_AUDIT sur un fichier et prenez des captures d’écran dans votre langue (tools\lab\docs-shots.ps1 ... -Lang <code>) : tous les textes qui dépassent de leur fenêtre ou empiètent sur une autre y sont répertoriés. Consultez Langues pour comprendre comment s’articulent la liste des langues, le programme d’installation et la mise en page de droite à gauche.

Le site web est lui aussi disponible en 21 langues et a également été traduit automatiquement. Ses textes se trouvent dans i18n/site/<code>.json, à raison d’une ligne par phrase : corrigez la "text" d’une ligne (conservez les balises comme <g1>…</g1> et <x2/> telles quelles ; elles correspondent aux liens et aux icônes). python tools/website/translate_site.py --status indique ce qui manque encore dans chaque langue, et le même outil, utilisé avec --langs <code>, ne traduit que ces éléments.

Signaler des problèmes

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.

Les demandes de fusion sont acceptées sous la licence du projet : la GNU GPL, version 3 ou ultérieure.