Mister Download Manager
  1. Início
  2. Contribuir

Contribuir para o Mister Download Manager

Comunicações de erros, ideias, correções de tradução e pedidos de "pull" são todos bem-vindos. Tudo acontece abertamente no GitHub.

Configuração

Precisa do Windows 10 ou 11 e do Rust estável 1.95 ou posterior (o conjunto de ferramentas MSVC).

cargo build
cargo run -p mdm-app

Para experimentar as alterações sem tocar nas suas próprias transferências, dê à aplicação 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 ficheiros gerados com qualquer problema que peça (ligações lentas, cortes, respostas ocupadas, sem intervalos; GET / lista-os), para que as transferências possam ser testadas sem a internet.

Antes de abrir um pedido de "pull"

Estas são as verificações que o CI executa; cada uma funciona num 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 à sua volta. Algumas regras aplicam-se em todo o lado:

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 espera por 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 elimine a sua linha #, machine.
  3. Mantenha {placeholders} e o & (a letra do atalho de teclado) como estão.

cargo test -p mdm-app every_catalogverifica todos os catálogos. Para ver se os seus textos se encaixam, defina MDM_FIT_AUDIT para um ficheiro e tire as capturas de ecrã no seu idioma (tools\lab\docs-shots.ps1 ... -Lang <code>): todos os textos que ultrapassam a sua janela ou sobrepõem-se a outro são listados lá. Consulte Languages para saber como a lista de idiomas, o instalador e o esquema da direita para a esquerda se encaixam.

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

Comunicar problemas

Use Ajuda → Comunicar um problema na aplicação: abre o formulário de comunicação de erros com a sua versão, sistema, como o MDM foi instalado e o seu idioma preenchidos. O formulário pede o mesmo quando o abre você mesmo. Problemas de segurança: consulte SECURITY.md.

Os pedidos de "pull" são aceites sob a licença do projeto, a GNU GPL, versão 3 ou posterior.