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 이상에 따라 허용됩니다.