- হোম
- অবদান
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
পরিবর্তনগুলিকে কেন্দ্রীভূত রাখুন এবং তাদের চারপাশের কোডের সাথে মিলিয়ে নিন। কয়েকটি নিয়ম সর্বত্র প্রযোজ্য:
- Clean room. GDM contains no code, binaries, artwork, icons, sounds or text from Internet Download Manager or any other download manager. Never disassemble, decompile or patch another program, and never bypass anyone's licensing. See Not a reverse-engineering project.
- ব্যবহারকারী যে প্রতিটি টেক্সট দেখে তা
crate::i18nএর মাধ্যমে যায় (t,tc,tn,fmt); একটি যোগ করার পর,python tools/i18n/extract.pyচালান। একটি বাক্যের মধ্যে থাকা ডেটা (একটি ফাইলের নাম, একটি ঠিকানা, একটি আকার)i18n::ltrবাi18n::isolateএর মাধ্যমে যায়, যাতে এটি ডান থেকে বাম ভাষার ক্ষেত্রে সঠিকভাবে পড়া যায়। - শুধুমাত্র Windows-এর কলগুলি
crates/app/src/win32.rs-এ থাকে, তাদের Linux এবং macOS প্রতিরূপগুলিunix.rs-এ থাকে; ওয়ার্কস্পেসের বাকি অংশ নিরাপদ, পোর্টেবল Rust (unsafe_code = "deny")। Windows-এ,tools\dev\check-cross.ps1পরীক্ষা করে যে এটি এখনও Linux এবং macOS-এর জন্য তৈরি হয়। - কারণগুলি ঠিক করুন, কেসগুলি নয়, এবং শেয়ার করা ডেটার প্রযোজক ও ভোক্তা (ডাউনলোড তালিকা, ব্রাউজার এক্সটেনশনের বার্তা, ক্যাটালগ) একসাথে রাখুন।
অনুবাদ
ইন্টারফেসটি Windows 11-এর প্রতিটি ভাষায় উপলব্ধ। i18n/-এর ক্যাটালগগুলি মেশিন অনুবাদ দ্বারা তৈরি করা হয়েছিল এবং #, machine চিহ্নিত প্রতিটি সারি একজন স্থানীয় ভাষাভাষীর জন্য অপেক্ষা করছে:
i18n/<code>.tsvখুলুন (কোডগুলিi18n/languages.tsv-এ আছে)।- সারিটির তৃতীয় কলামে অনুবাদটি ঠিক করুন এবং এর
#, machineলাইনটি মুছে দিন। {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 বা তার পরের অধীনে গৃহীত হয়।