- หน้าหลัก
- การมีส่วนร่วม
Contribute to GolinksPRO Download Manager
Bug reports, ideas, and translation fixes are all welcome.
การตั้งค่า
คุณต้องมี Windows 10 หรือ 11 และ Rust stable 1.95 หรือใหม่กว่า (MSVC toolchain)
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
ให้การเปลี่ยนแปลงมุ่งเน้นและเข้ากับโค้ดรอบ ๆ มีกฎบางอย่างที่ใช้ได้ทุกที่:
- 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; ส่วนที่เหลือของ workspace เป็น 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.
Pull request ได้รับการยอมรับภายใต้ใบอนุญาตของโปรเจกต์ คือ GNU GPL, เวอร์ชัน 3 หรือใหม่กว่า