GolinksPRO Download Manager
  1. Головна
  2. Зробити внесок

Contribute to GolinksPRO Download Manager

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

Налаштування

Вам потрібні 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} та & (літеру гарячої клавіші) як є.

Рядок без позначки #, machine відтоді ваш: tools/i18n/translate.py більше ніколи не надсилає його на машинний переклад, а CI (tools/i18n/reviewed_guard.py) відхиляє будь-який запит на витягування, який видаляє його або знову позначає #, machine.

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

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

Повідомлення про проблеми

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.

Запити на злиття приймаються за ліцензією проєкту, GNU GPL, версія 3 або новіша.