InfoGrab DocsInfoGrab Docs

Crowdin에서 번역 병합하기

요약

Crowdin은 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 Namemaster-i18n인지 확인합니다.

번역 레벨 수동 업데이트#

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

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

  • Crowdin에서 번역 레벨(승인된 단어의 비율)을 가져옵니다.

  • i18n.rb에서 하드코딩된 번역 레벨을 업데이트합니다.

Crowdin에서 번역 병합하기

GitLab v19.1
원문 보기
요약

Crowdin은 gitlab.pot 파일을 Crowdin 서비스와 자동으로 동기화하여 새로 외부화된 문자열을 번역가 커뮤니티에 제공합니다. GitLab Crowdin Bot은 새로 승인된 번역 제출물을 가져와 locale/&#x3C;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 Namemaster-i18n인지 확인합니다.

번역 레벨 수동 업데이트#

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

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

  • Crowdin에서 번역 레벨(승인된 단어의 비율)을 가져옵니다.

  • i18n.rb에서 하드코딩된 번역 레벨을 업데이트합니다.