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 통합 다시 만들기
만약 Crowdin에서 GitLab 통합이 존재하지 않는 경우 다음 단계로 다시 만들 수 있습니다:
-
gitlab-crowdin-bot
으로 GitLab에 로그인하세요. (GitLab 팀 멤버인 경우, 인증 정보는 GitLab의 공유 1Password 계정에서 찾을 수 있습니다.) - GitLab 통합으로 Crowdin에 로그인하세요.
- Settings > Integrations > GitLab > Set Up Integration으로 이동하세요.
-
gitlab-org/gitlab
리포지터리를 선택하세요. -
번역에 대한 브랜치 선택에서
master
를 선택하세요. -
서비스 브랜치 이름이
master-i18n
인지 확인하세요.
번역 수준 매뉴얼으로 업데이트하기
Crowdin에서 번역 수준을 가져와 언어 선택 드롭다운 디렉터리에 표시하는 것을 자동화하는 방법은 없습니다. 따라서 번역 수준은 i18n.rb
의 TRANSLATION_LEVELS
상수에 하드코딩되어 있으며 정기적으로 업데이트해야 합니다.
번역 수준을 업데이트하려면: