Crowdin에서 번역 Merge

Crowdin은 gitlab.pot 파일을 Crowdin 서비스와 자동으로 동기화하여 외부화된 새 문자열을 번역 커뮤니티에 제공합니다.

GitLab Crowdin Bot은 또한 새로 승인된 번역 제출을 가져와 locale/<language>/gitlab.po 파일에 Merge하는 Merge Request을 생성합니다. 새로 만들어진 Merge Request 및 Merge된 Merge Request을 확인하려면 gitlab-crowdin-bot이 작성한 Merge Request을 확인하세요.

유효성 검사

기본적으로 Crowdin은 커밋 메시지에 [skip ci]를 추가하여 번역을 커밋합니다. 이를 통해 과도한 파이프라인 실행을 피할 수 있습니다. 번역을 Merge하기 전에 번역을 유효성 검사하기 위해 새 파이프라인을 트리거하여 주세요. 정적 분석을 통해 Crowdin에서 수행하지 않는 유효성을 검사합니다. master-i18n 브랜치에 대한 새 파이프라인을 https://gitlab.com/gitlab-org/gitlab/pipelines/new(Developer 역할 필요)에서 생성하세요.

검증 오류가 있는 경우 Crowdin에서 해당 문자열을 비승인 상태로 변경하고 오류를 수정해야 한다는 내용의 코멘트를 남기는 것이 가장 쉬운 해결책입니다. 이 프로세스를 자동화하는 데 대한 이슈가 있습니다. 비승인으로 변경하면 올바르지 않은 번역이 제외됩니다. 그러면 Merge Request이 수 분 내에 업데이트됩니다.

번역이 꺾쇠 괄호(< 또는 >)로 인해 유효성 검사를 통과하지 못하는 경우 Crowdin에서 해당 번역을 비승인해야 합니다. 우리의 문자열은 HTML을 위해 변수를 사용해야 합니다.

번역이 계속해서 오게 되지 않도록 Crowdin 측에서 통합을 일시 중단하는 것이 유용할 수 있습니다. 이렇게 하려면 Crowdin 통합 설정 페이지에서 동기화 일시 중단을 선택하세요.

번역 Merge

모든 번역이 적절하다고 판단되고 파이프라인을 통과하면 번역을 기본 브랜치에 Merge할 수 있습니다. 번역을 Merge할 때는 소스 브랜치 제거 확인란을 선택해야 합니다. 이로 인해 Crowdin은 새 번역을 Merge한 후 master-i18n 브랜치를 기본 브랜치에서 다시 생성합니다.

우리는 이러한 전체 프로세스를 자동화하는 것에 대해 토론 중입니다.

Merge Request 다시 만들기

Crowdin은 이전 Merge Request이 닫히거나 Merge되면 즉시 새 Merge Request을 생성합니다. 그러나 매번 master-i18n 브랜치를 다시 만들지는 않습니다. Crowdin에게 브랜치를 다시 만들도록 하려면 열린 Merge Request을 닫고 master-18n 브랜치를 삭제하세요.

이 작업은 Merge Request에 수정된 오류가 포함되어 있는 경우 필요할 수 있습니다.

Crowdin에서 GitLab 통합 다시 만들기

note
이 지침은 GitLab 팀 멤버에게만 적용됩니다.

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

  1. gitlab-crowdin-bot으로 GitLab에 로그인하세요. (GitLab 팀 멤버인 경우, 인증 정보는 GitLab의 공유 1Password 계정에서 찾을 수 있습니다.)
  2. GitLab 통합으로 Crowdin에 로그인하세요.
  3. Settings > Integrations > GitLab > Set Up Integration으로 이동하세요.
  4. gitlab-org/gitlab 리포지터리를 선택하세요.
  5. 번역에 대한 브랜치 선택에서 master를 선택하세요.
  6. 서비스 브랜치 이름master-i18n인지 확인하세요.

번역 수준 매뉴얼으로 업데이트하기

Crowdin에서 번역 수준을 가져와 언어 선택 드롭다운 디렉터리에 표시하는 것을 자동화하는 방법은 없습니다. 따라서 번역 수준은 i18n.rbTRANSLATION_LEVELS 상수에 하드코딩되어 있으며 정기적으로 업데이트해야 합니다.

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

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