Show GN: Yuki-no: 오픈소스 문서 번역 프로젝트를 위한 GitHub Action
(github.com/Gumball12)안녕하세요. Vite 한국어 문서 번역 프로젝트를 진행하며 개발한 오픈소스를 소개합니다.
Yuki-no (Gumball12/yuki-no)
번역 작업은 원본 문서 변경에 대한 추적이 매우 중요합니다. 그렇지 않으면 자칫 잘못된 부분을 번역하거나, 내용 중 일부를 빠트릴 수 있습니다.
이를 위해 기존에는 Ryu-Cho 라는 오픈소스를 사용했습니다. 이 오픈소스는 GitHub Actions를 이용해, 원본 리포지토리 변경 사항을 번역 리포지토리 GitHub Issues로 등록해 알려줍니다. 다만 2년 가까이 사용하며 몇 가지 개선점을 발견했습니다.
- Actions 실패 시, 처리되지 못한 원본 리포지토리 변경 사항이 모두 유실되어 GitHub Issues로 등록되지 않습니다. 이로 인해 원본 내용 중 일부를 빠트리게 됩니다.
- 추적 대상 파일을 필터링하는 방식이 매우 제한적입니다(시작 문자열 비교 방식).
- 만들어지는 이슈에 라벨을 설정할 수 없어, 다른 이슈와 섞일 수 있고, 한눈에 보기 어렵습니다.
- 원본 문서 변경 사항이 릴리스되었는지 여부를 제공해주지 않습니다. 이는 자칫 릴리스되지 않은 콘텐츠를 너무 이르게 제공할 수 있게 만듭니다.
이를 개선하는 목적으로 개발했으며, 아래 기능을 제공합니다:
- 배치 처리를 통한 Action 안정성 향상 (200개 이상 커밋에 대해 정상 동작함을 확인)
- Action 실패 시, 다음 실행에서 이를 자동으로 복구하도록 구성
- 릴리스 추적 기능 제공 (예시: Vite 한국어 번역 프로젝트)
- Glob 패턴 기반 추적 대상 필터링
- 생성하는 이슈에 대한 커스텀 라벨 설정 가능
현재 다음 프로젝트에서 사용 중입니다:
번역 프로젝트를 진행하실 예정이거나, 마이그레이션 등 구성에 도움이 필요하시거나, 프로젝트에 관심이 있으시다면 GitHub Issues 또는 메일(to@shj.rip)을 통해 언제든지 연락해주세요. 감사합니다.