GolinksPRO Download Manager
  1. 主页
  2. 贡献

Contribute to GolinksPRO Download Manager

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

开始设置

您需要 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. 修正该行第 3 列的翻译,并删除该行的#, 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 版或更高版本。