- Strona główna
- Współpraca
Współpraca z Mister Download Manager
Zgłoszenia błędów, pomysły, poprawki tłumaczeń i żądania ściągnięcia są mile widziane. Wszystko odbywa się publicznie na GitHub.
Przygotowanie do pracy
Potrzebujesz systemu Windows 10 lub 11 oraz Rust stable 1.95 lub nowszy (zestaw narzędzi MSVC).
cargo build
cargo run -p mdm-app
Aby wypróbować zmiany bez dotykania własnych pobrań, nadaj 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 dowolnymi problemami, o które poprosisz (wolne połączenia, przerwy, zajęte odpowiedzi, brak zakresów; GET / je wymienia), dzięki czemu pobieranie można testować bez internetu.
Zanim otworzysz żądanie ściągnięcia
Oto testy, które uruchamia CI; każdy działa na czystej kopii:
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
Skup się na zmianach i dopasuj je do otaczającego kodu. Kilka zasad obowiązuje wszędzie:
- Czyste środowisko. MDM nie zawiera żadnego kodu, plików binarnych, grafik, ikon, dźwięków ani tekstu z Internet Download Manager ani żadnego innego menedżera pobierania. Nigdy nie dezasembluj, nie dekompiluj ani nie łataj innego programu i nigdy nie omijaj niczyich licencji. Zobacz Nie jest to projekt inżynierii wstecznej.
- Każdy tekst, który widzi użytkownik, przechodzi przez
crate::i18n(t,tc,tn,fmt); po dodaniu tekstu uruchompython tools/i18n/extract.py. Dane w zdaniu (nazwa pliku, adres, rozmiar) przechodzą przezi18n::ltrlubi18n::isolate, aby były poprawnie odczytywane w językach pisanych od prawej do lewej. - Wywołania specyficzne dla systemu Windows znajdują się w
crates/app/src/win32.rs, ich odpowiedniki dla systemów Linux i macOS wunix.rs; reszta obszaru roboczego to bezpieczny, przenośny kod Rust (unsafe_code = "deny"). W systemie Windowstools\dev\check-cross.ps1sprawdza, czy nadal kompiluje się dla systemów Linux i macOS. - Naprawiaj przyczyny, a nie przypadki i utrzymuj synchronizację producentów i konsumentów współdzielonych danych (listy pobierania, wiadomości rozszerzenia przeglądarki, katalogów).
Tłumaczenia
Interfejs jest dostępny w każdym języku oferowanym przez Windows 11. Katalogi w i18n/ zostały utworzone za pomocą tłumaczenia maszynowego, a każdy wiersz oznaczony #, machine czeka na native speakera:
- Otwórz
i18n/<code>.tsv(kody znajdują się wi18n/languages.tsv). - Popraw tłumaczenie w trzeciej kolumnie wiersza i usuń jego wiersz
#, machine. - Zachowaj
{placeholders}i jeden&(literę skrótu klawiaturowego) w niezmienionej formie.
cargo test -p mdm-app every_catalogsprawdza każdy katalog. Aby sprawdzić, czy Twoje teksty pasują, ustaw MDM_FIT_AUDIT na plik i zrób zrzuty ekranu w swoim języku (tools\lab\docs-shots.ps1 ... -Lang <code>): każdy tekst, który wykracza poza okno lub na inny element, jest tam wymieniony. Zobacz Języki, aby dowiedzieć się, jak lista języków, instalator i układ od prawej do lewej pasują do siebie.
Strona internetowa jest również dostępna w 20 językach, także przetłumaczonych maszynowo. Jej teksty znajdują się w i18n/site/<code>.json, jeden wiersz na zdanie: popraw "text" wiersza (zachowaj tagi takie jak <g1>…</g1> i <x2/> w niezmienionej formie, są 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 to.
Zgłaszanie problemów
Użyj Pomoc → Zgłoś problem w aplikacji: otworzy to formularz zgłaszania błędów z wypełnioną wersją, systemem, sposobem instalacji MDM i jego językiem. Formularz prosi o to samo, gdy otworzysz go samodzielnie. Problemy bezpieczeństwa: zobacz SECURITY.md.
Żądania ściągnięcia są akceptowane na podstawie licencji projektu, GNU GPL, wersja 3 lub nowsza.