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 / آنها را لیست می‌کند) ارائه می‌دهد، بنابراین دانلودها را می‌توان بدون اینترنت آزمایش کرد.

قبل از ارسال یک درخواست پول (pull request)

اینها بررسی‌هایی هستند که 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) هر درخواست pull را که آن را حذف کند یا دوباره #, 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.

درخواست‌های پول (pull requests) تحت مجوز پروژه، GNU GPL، نسخه 3 یا بالاتر پذیرفته می‌شوند.