Crowdin에서 번역 합병하기

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에서 생성하세요(개발자 역할 필요).

유효성 검사에서 오류가 발생하면 Crowdin에서 해당 문자열을 반대로 승인하고 오류를 수정하는 내용을 달린 채로 주석을 남기는 것이 가장 쉬운 해결책입니다. 이 프로세스를 자동화하는 이슈가 있습니다. 반대로 승인하면 유효하지 않은 번역이 제외됩니다. 병합 요청은 이후 몇 분 내에 업데이트됩니다.

번역이 꺽쇠 괄호(< 또는 >)로 인해 유효성 검사에 실패하는 경우, Crowdin에서 해당 번역을 반대로 승인하세요. 우리 문자열에서는 HTML을 위해 변수를 사용해야 합니다.

번역이 지속적으로 이어지지 않도록 Crowdin 측에서 통합을 일시 중지하는 것이 유용할 수 있습니다. 이를 위해 Crowdin 통합 설정 페이지에서 동기화 일시 중지를 선택할 수 있습니다.

번역 병합하기

모든 번역이 적절하다고 판단되고 파이프라인을 통과하면 번역을 기본 브랜치로 병합할 수 있습니다. 번역을 병합할 때는 반드시 원본 브랜치 삭제 확인란을 선택하세요. 이는 병합 후 새로운 번역을 master-i18n 브랜치에서 다시 만들도록 하는 것입니다.

우리는 이러한 전체 과정을 자동화하고 있습니다.

병합 요청 다시 만들기

Crowdin은 이전 병합 요청이 닫히거나 병합되자마자 새 병합 요청을 만듭니다. 그러나 매번 master-i18n 브랜치를 다시 만들지는 않습니다. 병합 요청에 고쳐진 실패가 포함된 경우 필요할 수 있습니다.

이 경우 Crowdin을 강제로 브랜치를 다시 만들도록 하려면 열린 병합 요청을 닫고 master-18n 브랜치를 삭제하세요.

Crowdin에서 GitLab 통합 다시 만들기

참고: 이 지침은 GitLab 팀 멤버에게만 해당됩니다.

만약 Crowdin에서 GitLab 통합이 존재하지 않는 경우, 다음 단계로 통합을 다시 만들 수 있습니다.

  1. gitlab-crowdin-bot으로 GitLab에 로그인하세요. (GitLab 팀 멤버인 경우, 자격 증명은 GitLab 공유 1Password 계정에서 찾을 수 있습니다.)
  2. GitLab 통합을 Crowdin으로 로그인하세요.
  3. 설정 > 통합 > GitLab > 통합 설정으로 이동하세요.
  4. gitlab-org/gitlab 저장소를 선택하세요.
  5. 번역용 브랜치 선택에서 master를 선택하세요.
  6. 서비스 브랜치 이름master-i18n인지 확인하세요.

번역 수준 수동으로 업데이트하기

Crowdin에서 번역 수준을 자동으로 가져오는 방법은 없으며, 언어 선택 드롭다운 목록에 이 정보를 표시하기 위한 자동화된 방법 또한 없습니다. 따라서 번역 수준은 i18n.rbTRANSLATION_LEVELS 상수에 하드코딩되어 있어 정기적으로 업데이트되어야 합니다.

번역 수준을 업데이트하려면:

  1. Crowdin에서 번역 수준(승인된 단어 비율)을 가져오세요.
  2. i18n.rb에 하드코딩된 번역 수준을 업데이트하세요.