Crowdin에서 번역을 Merge하는 중

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

GitLab Crowdin Bot은 또한 신규로 승인된 번역 제출물을 가져와 locale/<language>/gitlab.po 파일에 Merge할 수 있는 Merge Request을 생성합니다. gitlab-crowdin-bot이 생성한 Merge Request을 확인하세요하여 새로운 Merge Request을 확인할 수 있습니다.

유효성 검사

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

유효성 검사에서 오류가 발생하면 Crowdin에서 해당 문자열을 불허하고 오류 수정에 필요한 코멘트를 남기면 됩니다. 이 프로세스를 자동화하는 것을 제안하는 이슈도 있습니다. 불허하면 유효하지 않은 번역이 제외됩니다. 그러면 Merge Request이 몇 분 안에 업데이트됩니다.

각 무엇이 HTML 대신 변수를 사용해야 한다면, 번역이 각각 < 또는 >으로 인해 유효성 검사에 실패하면 Crowdin에서 해당 번역을 불허하면 됩니다.

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

번역 Merge

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

전체 프로세스를 자동화하는 것을 논의 중입니다.

Merge Request 다시 생성

Crowdin은 이전의 Merge Request이 닫힐 때마다 즉시 새 Merge Request을 생성합니다. 그러나 매번 master-i18n 브랜치를 다시 생성하지는 않습니다. 기본 브랜치에서 수정된 실패가 포함된 Merge Request이 있을 때 다시 생성시키기 위해 열린 Merge Request을 닫고 master-18n 브랜치를 삭제하세요.

이는 Merge Request에 수정된 실패가 있는 경우에 필요할 수 있습니다.

Crowdin에서 GitLab 통합 다시 생성

note
이 지침은 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에서 번역 레벨을 자동으로 가져오는 방법이 없으므로 이 정보를 언어 선택 드롭다운 디렉터리에 표시하려면 번역 레벨을 카운팅하여 직접 코드에 업데이트해야 합니다.

번역 레벨을 업데이트하려면:

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