Mister Download Manager
  1. 主页
  2. 贡献

为 Mister Download Manager 贡献

欢迎提交错误报告、想法、翻译修正和拉取请求。所有活动都在GitHub上公开进行。

开始设置

您需要 Windows 10 或 11,以及 Rust 稳定版 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 或更高版本接受。