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

قبل از ارسال یک درخواست پول (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} و & (حرف میانبر صفحه کلید) را همانطور که هستند نگه دارید.

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 مراجعه کنید.

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