Crowdin에서 번역 병합하기
Crowdin에서 GitLab 번역을 검증하고 기본 브랜치에 병합하는 전체 프로세스를 설명합니다.
Crowdin은 gitlab.pot 파일을 Crowdin 서비스와 자동으로 동기화하여 새로 외부화된 문자열을 번역가 커뮤니티에 제공합니다. GitLab Crowdin Bot 은 새로 승인된 번역 제출물을 가져와 locale/<language>/gitlab.po 파일에 병합하는 머지 리퀘스트도 생성합니다. 새 머지 리퀘스트와 병합된 머지 리퀘스트를 확인하려면 gitlab-crowdin-bot 이 생성한 머지 리퀘스트 를 참조하세요. 검증 # 기본적으로 Crowdin은 커밋 메시지에 [skip ci] 를 포함하여 번역을 커밋합니다. 이는 과도한 수의 파이프라인이 실행되는 것을 방지합니다. 번역을 병합하기 전에 번역을 검증하기 위한 파이프라인을 트리거해야 합니다. 정적 분석은 Crowdin이 수행하지 않는 항목들을 검증합니다. master-i18n 브랜치에 대해 https://gitlab.com/gitlab-org/gitlab/pipelines/new 에서 새 파이프라인을 생성하세요. (Developer 권한 필요) 파이프라인 job은 PoLinter 클래스 로 번역을 검증합니다. 린터가 오류를 발견하면 job 로그에 표시됩니다. 실패한 파이프라인의 예시는 이 오류 메시지 를 참조하세요. 검증 오류가 발생하면 Crowdin에서 문제가 있는 문자열을 수동으로 비승인하고 오류 수정 방법에 대한 코멘트를 남겨야 합니다: gitlab-crowdin-bot 계정으로 Crowdin에 로그인합니다. 문제가 있는 문자열을 찾습니다. Current translation is wrong 을 선택하여 해당 타깃 언어에 대한 번역을 비승인합니다. job 로그의 오류 메시지를 코멘트로 포함합니다. 그러면 유효하지 않은 번역이 제외되고 머지 리퀘스트가 업데이트됩니다. 이 프로세스의 자동화는 이슈 23256 에서 제안되어 있습니다. 번역이 꺾쇠 괄호( < 또는 > )로 인해 검증에 실패하는 경우, Crowdin에서 비승인해야 합니다. 대신 HTML에는 변수 를 사용해야 합니다. 번역이 계속 유입되지 않도록 잠시 Crowdin 측의 통합을 일시 중지하는 것이 유용할 수 있습니다. Crowdin 통합 설정 페이지 에서 Pause sync 를 선택하여 이를 수행할 수 있습니다. 번역 병합 # 모든 번역이 적절한 것으로 확인되고 파이프라인이 통과되면 번역을 기본 브랜치에 병합할 수 있습니다. 번역을 병합할 때는 반드시 Remove source branch 체크박스를 선택하세요. 이렇게 하면 새 번역을 병합한 후 Crowdin이 기본 브랜치에서 master-i18n 브랜치를 다시 생성합니다. 이 전체 프로세스의 자동화 에 대해 논의 중입니다. 머지 리퀘스트 재생성 # Crowdin은 이전 머지 리퀘스트가 닫히거나 병합되는 즉시 새 머지 리퀘스트를 생성합니다. 하지만 매번 master-i18n 브랜치를 재생성하지는 않습니다. Crowdin이 브랜치를 강제로 재생성하게 하려면 열린 머지 리퀘스트 를 닫고 master-18n 브랜치를 삭제하세요. 이는 머지 리퀘스트