GolinksPRO Download Manager
  1. Início
  2. Contribuir

Contribute to GolinksPRO Download Manager

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

Preparar o ambiente

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.

Uma linha sem sua linha #, machine é sua a partir de então: tools/i18n/translate.py nunca mais a envia para tradução automática, e o CI (tools/i18n/reviewed_guard.py) rejeita qualquer pull request que a remova ou a marque #, machine novamente.

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á disponível em 21 idiomas, igualmente traduzidos automaticamente. Os textos ficam em i18n/site/<code>.json, com uma linha por frase: corrija a tradução de uma linha ("text") e mantenha as tags como <g1>…</g1> e <x2/> como estão, pois elas representam 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 o que falta.

Relatar problemas

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.

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