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 أو أحدث.