Mister Download Manager
  1. Главная
  2. Участие

Участие в проекте Mister Download Manager

Сообщения об ошибках, идеи, исправления переводов и запросы на слияние приветствуются. Всё происходит открыто на GitHub.

Начало работы

Вам нужны Windows 10 или 11 и Rust stable 1.95 или новее (с инструментарием MSVC).

cargo build
cargo run -p mdm-app

Чтобы попробовать изменения, не затрагивая свои загрузки, укажите приложению отдельную папку для данных:

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

cargo run -p mdm-labserver -- --faults "rate=2M"запускает локальный тестовый сервер, который предоставляет сгенерированные файлы с любыми запрошенными вами проблемами (медленные соединения, обрывы, занятые ответы, отсутствие диапазонов; GET / перечисляет их), так что загрузки можно тестировать без интернета.

Перед отправкой запроса на слияние

Это проверки, которые запускает CI; каждая работает на чистом клоне:

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

Сосредоточьте изменения и согласуйте их с окружающим кодом. Несколько правил действуют везде:

Переводы

Интерфейс доступен на всех языках, предлагаемых Windows 11. Каталоги в i18n/ были созданы машинным переводом, и каждая строка, помеченная #, machine, ждёт носителя языка:

  1. Откройте i18n/<code>.tsv (коды находятся в i18n/languages.tsv).
  2. Исправьте перевод в третьем столбце строки и удалите строку #, machine.
  3. Оставьте {placeholders} и & (букву горячей клавиши) как есть.

cargo test -p mdm-app every_catalogпроверяет каждый каталог. Чтобы увидеть, подходят ли ваши тексты, установите MDM_FIT_AUDIT в файл и сделайте скриншоты на вашем языке (tools\lab\docs-shots.ps1 ... -Lang <code>): каждый текст, который выходит за пределы своего окна или накладывается на другой, будет там перечислен. См. Языки, чтобы узнать, как связаны список языков, установщик и макет справа налево.

Сайт также переведен на 20 языков, в том числе с помощью машинного перевода. Его тексты находятся в i18n/site/<code>.json, по одной строке на предложение: исправьте "text" строки (сохраняйте теги, такие как <g1>…</g1> и <x2/>, как есть, это ссылки и значки). python tools/website/translate_site.py --status показывает, чего еще не хватает каждому языку, и тот же инструмент с --langs <code> переводит только это.

Сообщение о проблемах

Используйте Справка → Сообщить о проблеме в приложении: это откроет форму отчёта об ошибке с уже заполненными данными о вашей версии, системе, способе установки MDM и его языке. Форма запрашивает то же самое, если вы открываете её самостоятельно. Проблемы безопасности: см. SECURITY.md.

Запросы на слияние принимаются в соответствии с лицензией проекта, GNU GPL, версия 3 или новее.