라라벨 한국어 문서를 Docusaurus와 GitHub Pages를 사용해 배포
- 지원 버전:
master,13.x,12.x,11.x,10.x,9.x,8.x - 문서 갱신: GitHub Actions
Sync Documentation Translation워크플로우 정기 또는 수동 실행 #
Node.js 24 이상 필요 (
.nvmrc참고)
npm install
npm start타입 검사:
npm run typecheck번역 동기화 Python 단위 테스트와 사이트 검증은 각각 실행
make translation-test # 번역 동기화 Python 단위 테스트
make site-check # 링크 유틸리티 + 타입 + 빌드 + 앵커 검사
make preflight # 위 두 검사 실행
npm run test:e2e:dockerdocker build -t laravel-docs .
docker run -p 3000:3000 laravel-docs문서 갱신 진입점은 translation-sync/main.py입니다. upstream에서 원본 문서를 동기화한 뒤 변경된 문서를 Python과 선택한 OpenAI provider(API 또는 CLI)로 번역하고 검증된 문서·사이드바를 작업 트리에 기록합니다.
main.py는 Git을 조작하지 않습니다. 운영 Actions는 마지막 단계에서 갱신된 문서를 실행 branch에 커밋·push합니다. 번역 워크플로우는 Node 설치, 사이트 빌드, 배포를 수행하지 않으며, 사이트 배포는 이 워크플로우의 완료 이벤트를 구독하는 별도 워크플로우가 담당합니다.
GitHub Actions에서는 GitHub Variables를 사용하지 않고 OpenAI 실행에 필요한 Secret만 전달
- provider/model은 코드 기본값
openai/gpt-5.6-luna사용 - Secret:
OPENAI_API_KEY - reasoning effort는 코드 기본값
medium사용 - 승인된 OpenAI 모델의 context/output 예산·request timeout·tokenizer는 코드의 모델 profile 기본값 사용
provider run timeout 기본값은 코드에서 21000초로 관리
request timeout ≤ run timeout 관계와 reserved output token < context window 관계가 필수
기본값 적용 후에도 필수 값을 확정할 수 없거나 관계가 맞지 않으면 provider 호출 전에 실패
로컬 실행은 TRANSLATION_PROVIDER로 OpenAI API(openai) 또는 OpenAI CLI(cli)를 선택합니다. 저장소 루트의 .env가 있으면 Makefile이 값을 읽어 넣고, 명시적으로 준 환경 변수가 우선합니다.
TRANSLATION_PROVIDER=openai OPENAI_API_KEY=... make translation-runVERSION=13.x DOC=collections.md와 같은 selector 추가 가능
Docker도 Python 전용 이미지에서 같은 main.py를 호출하고 현재 작업 트리에 결과를 기록합니다. 이미지에 CLI를 설치하지 않으므로 Docker 테스트는 OpenAI API를 사용합니다.
OPENAI_API_KEY=... make translate VERSION=13.x DOC=collections.md전체 계약은 번역 동기화 작업 흐름, 번역 실행 경계, 로컬 번역 실행 참고
- 문서 웹사이트 코드: MIT License
- 라라벨 문서: MIT License
(Copyright (c) Taylor Otwell)