GolinksPRO Download Manager
  1. Início
  2. Contribuir

Contribute to GolinksPRO Download Manager

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

Configuração

É necessário ter o Windows 10 ou 11 e o 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 disponibiliza ficheiros gerados com os problemas que indicar (ligações lentas, interrupções, respostas de servidor ocupado, sem suporte para intervalos; GET / apresenta a lista), para que as transferências possam ser testadas sem ligação à 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á disponível em todos os idiomas que o Windows 11 oferece. Os catálogos em i18n/ foram traduzidos automaticamente, e cada linha marcada com #, machine aguarda a revisão de 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.

A partir daí, a linha sem a respetiva linha #, machine fica a seu cargo: tools/i18n/translate.py nunca mais a envia para tradução automática, e o CI (tools/i18n/reviewed_guard.py) rejeita qualquer pedido de integração que a elimine ou volte a marcá-la como #, machine.

cargo test -p mdm-app every_catalogverifica todos os catálogos. Para verificar se os seus textos cabem, defina MDM_FIT_AUDIT como um ficheiro e faça as capturas de ecrã no seu idioma (tools\lab\docs-shots.ps1 ... -Lang <code>): aí são listados todos os textos que ultrapassam os limites da respetiva janela ou se sobrepõem a outra janela. Consulte Languages para saber como se articulam a lista de idiomas, o instalador e a disposição da direita para a esquerda.

O site também está disponível em 21 idiomas e foi traduzido automaticamente. Os textos estão em i18n/site/<code>.json, uma linha por frase: corrija a tradução de uma linha ("text"), mantendo as etiquetas como <g1>…</g1> e <x2/> tal como estão, pois correspondem a ligações 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.

Comunicar 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.

Os pedidos de integração são aceites ao abrigo da licença do projeto, a GNU GPL, versão 3 ou posterior.