Crowdin에서 번역 병합하기
GitLab v19.1Crowdin은 gitlab.pot 파일을 Crowdin 서비스와 자동으로 동기화하여 새로 외부화된 문자열을 번역가 커뮤니티에 제공합니다. GitLab Crowdin Bot은 새로 승인된 번역 제출물을 가져와 locale/<language>/gitlab.po 파일에 병합하는 머지 리퀘스트도 생성합니다.
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 브랜치를 삭제하세요.
이는 머지 리퀘스트에 기본 브랜치에서 수정된 실패가 포함되어 있을 때 필요할 수 있습니다.
Crowdin에서 GitLab 통합 재생성#
GitLab 팀 멤버에게만 적용되는 지침입니다.
어떤 이유로 Crowdin의 GitLab 통합이 존재하지 않는 경우, 다음 단계로 재생성할 수 있습니다:
-
gitlab-crowdin-bot으로 GitLab에 로그인합니다. (GitLab 팀 멤버인 경우, GitLab 공유 1Password 계정에서 자격 증명을 찾으세요.) -
GitLab 통합으로 Crowdin에 로그인합니다.
-
Settings > Integrations > GitLab > Set Up Integration으로 이동합니다.
-
gitlab-org/gitlab리포지터리를 선택합니다. -
Select Branches for Translation에서
master를 선택합니다. -
Service Branch Name이
master-i18n인지 확인합니다.
번역 레벨 수동 업데이트#
언어 선택 드롭다운 목록에 이 정보를 표시하기 위해 Crowdin에서 번역 레벨을 자동으로 가져오는 방법은 없습니다.
따라서 번역 레벨은 i18n.rb의 TRANSLATION_LEVELS 상수에 하드코딩되어 있으며 정기적으로 업데이트해야 합니다.
번역 레벨을 업데이트하려면: