GolinksPRO Download Manager
  1. Strona główna
  2. Współpraca

Contribute to GolinksPRO Download Manager

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

Przygotowanie środowiska

Potrzebujesz systemu Windows 10 lub 11 oraz Rust stable 1.95 lub nowszego (zestaw narzędzi MSVC).

cargo build
cargo run -p mdm-app

Aby wypróbować zmiany bez ingerowania w pobrane pliki, przypisz aplikacji osobny folder danych:

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

cargo run -p mdm-labserver -- --faults "rate=2M"uruchamia lokalny serwer testowy, który udostępnia wygenerowane pliki z wybranymi przez Ciebie problemami (wolne połączenia, przerwane połączenia, odpowiedzi „zajęte”, brak obsługi zakresów; GET / wyświetla ich listę), dzięki czemu można testować pobieranie bez dostępu do internetu.

Zanim utworzysz propozycję zmian

Oto testy uruchamiane przez CI. Każdy z nich działa na czystej kopii repozytorium:

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

Wprowadzaj zmiany w konkretnym obszarze i dostosuj je do otaczającego kodu. Wszędzie obowiązuje kilka zasad:

Tłumaczenia

Interfejs jest dostępny w każdym języku oferowanym przez Windows 11. Katalogi w i18n/ przetłumaczono maszynowo, a każdy wiersz oznaczony #, machine czeka na sprawdzenie przez native speakera:

  1. Otwórz i18n/<code>.tsv (kody znajdują się w i18n/languages.tsv).
  2. Popraw tłumaczenie w trzeciej kolumnie wiersza i usuń wiersz #, machine.
  3. Zachowaj {placeholders} i jedną literę & (skrót klawiaturowy) bez zmian.

Od tej pory wiersz bez wiersza #, machine należy do Ciebie: tools/i18n/translate.py nie wyśle go ponownie do tłumaczenia maszynowego, a CI (tools/i18n/reviewed_guard.py) odrzuci każdą propozycję zmian, która go usunie lub ponownie oznaczy jako #, machine.

cargo test -p mdm-app every_catalogsprawdza każdy katalog. Aby sprawdzić, czy teksty mieszczą się w interfejsie, ustaw MDM_FIT_AUDIT na plik i wykonaj zrzuty ekranu w swoim języku (tools\lab\docs-shots.ps1 ... -Lang <code>): wyświetlana jest tam lista tekstów, które wychodzą poza okno lub nachodzą na inne elementy. Zobacz Języki, aby dowiedzieć się, jak współdziałają lista języków, instalator i układ od prawej do lewej.

Strona internetowa jest również dostępna w 21 językach i także została przetłumaczona maszynowo. Teksty znajdują się w i18n/site/<code>.json, po jednym zdaniu w wierszu: popraw tłumaczenie w wierszu ("text") i pozostaw tagi takie jak <g1>…</g1> i <x2/> bez zmian — to linki i ikony. python tools/website/translate_site.py --status pokazuje, czego brakuje w każdym języku, a to samo narzędzie z --langs <code> tłumaczy tylko brakujące teksty.

Zgłaszanie problemów

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.

Propozycje zmian są przyjmowane na warunkach licencji projektu: GNU GPL, wersja 3 lub nowsza.