Mister Download Manager
  1. Início
  2. Contribuir

Contribuir com o Mister Download Manager

Relatórios de bugs, ideias, correções de tradução e pull requests são todos bem-vindos. Tudo acontece abertamente no GitHub.

Configuração

Você precisa do Windows 10 ou 11 e do Rust stable 1.95 ou posterior (a toolchain MSVC).

cargo build
cargo run -p mdm-app

Para testar as alterações sem afetar seus próprios downloads, dê ao aplicativo uma pasta de dados separada:

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

cargo run -p mdm-labserver -- --faults "rate=2M"inicia um servidor de teste local que serve arquivos gerados com qualquer problema que você solicitar (conexões lentas, cortes, respostas ocupadas, sem intervalos; GET / os lista), para que os downloads possam ser testados sem a internet.

Antes de abrir um pull request

Estas são as verificações que o CI executa; cada uma funciona em um clone limpo:

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

Mantenha as alterações focadas e alinhadas com o código ao redor. Algumas regras valem em todos os lugares:

Traduções

A interface está em todos os idiomas que o Windows 11 oferece. Os catálogos em i18n/ foram feitos por tradução automática, e cada linha marcada #, machine aguarda um falante nativo:

  1. Abra i18n/<code>.tsv (os códigos estão em i18n/languages.tsv).
  2. Corrija a tradução na terceira coluna da linha e exclua sua linha #, machine.
  3. Mantenha {placeholders} e o & (a letra do atalho de teclado) como estão.

cargo test -p mdm-app every_catalogverifica cada catálogo. Para ver se seus textos se encaixam, defina MDM_FIT_AUDIT para um arquivo e tire as capturas de tela em seu idioma (tools\lab\docs-shots.ps1 ... -Lang <code>): todo texto que ultrapassa sua janela ou sobrepõe outro é listado lá. Consulte Idiomas para saber como a lista de idiomas, o instalador e o layout da direita para a esquerda se encaixam.

O site também está em 20 idiomas, igualmente traduzido por máquina. Seus textos estão em i18n/site/<code>.json, uma linha por frase: corrija o "text" de uma linha (mantenha as tags como <g1>…</g1> e <x2/> como estão, elas são os links e ícones). python tools/website/translate_site.py --status mostra o que ainda falta em cada idioma, e a mesma ferramenta com --langs <code> traduz apenas isso.

Relatar problemas

Use Ajuda → Relatar um problema no aplicativo: ele abre o formulário de relatório de bug com sua versão, sistema, como o MDM foi instalado e seu idioma preenchidos. O formulário pede o mesmo quando você o abre por conta própria. Problemas de segurança: consulte SECURITY.md.

Pull requests são aceitos sob a licença do projeto, a GNU GPL, versão 3 ou posterior.