golang-spec
golang-spec copied to clipboard
crowdin 번역 플랫폼 시범 운영합니다. 사용후기 남겨주세요.
Issue 설명(선택사항)
번역 프로젝트 플랫폼인 crowdin을 github와 연동해서 시범 운영 중입니다.
시범 운영 기간 동안 장점/단점을 평가해서 장기적인 프로젝트 도구로 이용할지 결정하도록 하겠습니다.
현재까지 파악된 장점 및 단점을 추가했습니다. 참고바라며 활용해보시고 의견 남겨주시기 바랍니다.
(구분을 위해 제목에 ###버그리포트
, ###단점
, ###장점
등의 헤더를 붙여주세요.)
crowdin 연동 시범 운영 기간
2017.12.28 ~ 2018. 1.7 (개인적으로는 1주일 정도면 충분히 평가가 될 거라고 생각하는데 추가 의견 있으시면 남겨주세요.)
pull request 관리(in crowdin)
- crowdin, 매 10분마다 github와 sync 확인 후 pull request 생성함. 프로젝트 기본 sync 설정은 crowdin에서 작업 중이거나 관리자가 승인한 번역 파일에 대해 github I18n_master 브랜치(crowdin에서는 service branch라고 부른다)를 대상으로 pull request를 생성한다.
- 10분 내에 변경사항이 없으면 PR 생성되지 않는다.
- 기본 설정으로는 번역이 완료되지 않은 파일도 PR 에 포함됨
- crowdin 관리자가 승인한 번역 파일에 대해서만 PR을 생성하기 위해 project setting-general-export 에서 export only approved translations 체크할 것.
crowdin에서 생성된 pull request 관리(in github)
- PR merge 후에 I18n_master 브랜치를 삭제해야 한다. crowdin에서 생성된 pull request는 rebase를 진행하지 않기 때문에 PR merge 후에 I18n_master 브랜치를 삭제하지 않으면 merge 이후에 발생하는 PR에서 이전에 merge한 파일들이 다시 추가되어 나타난다.
crowdin 장점
-
번역 문장 히스토리 관리 원문에 대한 번역 문장을 여러 번 수정/저장한 경우 번역 히스토리가 생성됨. 참여자들이 후보 문장들 중 가장 맘에 드는 문장에 투표할 수 있는 기능도 제공됨.
-
분리된 원문 관리(단점도 함께 존재) 원문 업데이트 별도 관리 가능 하지만 두 번의 작업 필요 GitHub에서 en 폴더를 대상으로 업데이트. crowdin에는 반영되지 않기 때문에 crowdin에서 별도 작업 필요 crowdin-file 메뉴에서 파일 upload 하여 원문 업데이트
-
번역자는 PR 생성하지 않아도 된다.(Github 몰라도 된다) review를 다시 crowdin에 반영하면 GitHub flow를 하나도 몰라도 된다.
-
원문과 번역문을 병행표기 하지 않아도 된다. 사이드 뷰에서 원문을 제공함
crowdin 단점
-
sync는 crowdin에서 github 방향으로만 가능. 즉 github에서 수정한 내용은 crowdin에 반영되지 못한다.
-
번역자가 작업 단위로 직접 PR 요청을 만들 수 없다. project setting-general-export 에서 export only approved translations 체크해주면 관리자에 의해 승인된 파일에 대해서만 pr 생성된다. 번역 완료된 파일에 대해 관리자가 approve 처리하면 github에서 PR이 생성된다.
-
리뷰 관리 불편 crowdin에서 관리자가 approve한 모든 번역 파일이 1개의 pr로 합쳐짐(merge되기 전까지) 따라서 번역물 단위로 pr review를 진행하기 위해서는 approve 일정 관리가 필요함
-
markdown 포맷을 지원하지 않는다. italic, code tag는 html 태그로 관리해야 한다. 번역 대상 파일 선택후 setting 에서 HTML tag displaying을 Show로 설정(default는 auto임)해야 html tag를 확인하여 편집할 수 있음.
-
상단 헤더 정보(go spec, 번역자 이름) 제거됨 영어 원문과 문장을 1:1 매칭하는 방식으로 유지하기 때문에 상단 헤더 정보를 입력할 곳이 마땅치 않습니다.
버그 리포트
pr은 번역 파일에 대한 approve시 생성되는게 원칙인데, 신규 approve가 발생하지 않은 상황에서 pr이 생성되는 문제 발견. 더욱이 이미 merge된 내용의 pr이 중복 생성됨
#170, #174 는 시간 차만 있을뿐 동일한 pr임.
처리현황
crowdin 답변
- crowdin은 rebase를 하지 않기 때문에 merge 후에는 I18n_master branch를 삭제해야 이전에 merge 했던 파일들이 새로운 PR에서 나타나지 않는다고 함.
- 신규 approve가 없는 상황에서 생성된 pr 은 버그로 보임.
단점
번역 파일에 대한 approve가 아니라 파일 내 문장 단위로 approve 처리시 중간 번역물 기준으로 pr이 생성되는 문제점 존재함.(GitHub 자동 sync 모드일 때)
장점
- 빈칸 두 개 연속 붙었을 때 같은 자잘한 부분에 대한 auto fix 가 된다.
- 용어집을 바로 검색 가능하다.
- 용어집 생성이 바로 가능하다.
- 해당 번역에 대해 다른 번역과 비교 가능하다.
- 번역 과정이 공유 가능하다.
- 창 하나에서 전체 원문/해당 구절 원문/번역문/검색 결과까지 볼 수 있어서 편하다.
- 번역 툴 자체는 다른 툴이 필요 없을 정로도 여러모로 편하게 되어 있다.
단점
- 툴이 제공하는 워크플로와 다른 방식으로는 작업하기가 힘들 듯 하다
다른 분들이 번역하고 approve된 문장들은 proofreading mode에 나타나지 않는 것 같네요. 예를 들어 제가 Blocks를 proofreading하려고 하면 아무런 문장도 나타나지 않습니다. 혹시 role이 아직 셑업되지 않아서 일까요?
한가지 방법은 Translation mode에서 이미 approve된 문장중에서도 proofreading하고자 하는 문장을 "Disapporve"하면 proofreading mode에서 볼 수 있게 됩니다. Proofreading mode로 지금 하고 있는 review 프로세스를 교체하기 위해서는 참여하시는 분들이 그 점을 숙지해야 겠네요.
======= @dakeshi 답변입니다. 이 문제는 proofreading mode에서 filter 설정과 관련있습니다.
proofreading mode 기본 설정이 waiting for approval로 되어 있기 때문에 approve 된 파일에 대해 proofreading mode로 전환한 경우, 아무런 결과도 나타나지 않게 된 것입니다. 따라서 filter 설정을
show all
로 변경하시면 파일 내용은 확인할 수 있습니다.
Crowdin 으로 부터 왜 Save after fixing spellcheck mistask이 자동 approve되는지에 대한 답변을 받았습니다. 버그가 아니라 Feature네요. 이 부분은 proofreading을 진행하면서 조심해야 겠습니다.
Hello Jhonghee,
I'm glad to hear that you like the Spelling checker useful for you!
Yes, you're right. After you fix all QA issues of the translation in the Proofreading mode our system adds a new fixed version of the translation to the string and it's being approved automatically.
Please let me know if there is anything else I can help you with.
장점
task 기능 이용하면 GitHub milesstone 설정과 유사한 효과 발생 task 주요 기능은 다음과 같다:
- due to date 설정
- 번역자 할당(assign) 및 번역 파일 지정 가능 번역자, 파일들은 다중 선택 가능하지만, 파일-번역자 1:1 매칭은 별도의 task 생성을 통해서만 가능함.
- 번역 진행 현황 확인 한동안 작업이 없으면 progression is slow로 표시된다.
task에 대해 여러 명의 번역자들을 assign 하면 번역 과정에서 서로의 번역 제안 구문들을 확인하여 번역을 진행하게 되므로 공동 번역/리뷰 효과가 발생하고 번역 시간도 줄어들 것으로 예상된다.
버그
en 디렉토리 동기화시 ``` 코드 태그가 누락되는 현상이 존재함. => 해결책: ```go 이용
특이사항
GitHub 동기화 설정을 초기화(기존 설정 삭제 후 재설정)하고 다시 동기화를 진행하더라도 프로젝트의 번역 현황이 변경되지 않는다. GitHub 동기화 설정은 Crowdin 번역 진행 상황과는 별도로 진행되는 부분이다.
관련하여 얘기를 나누고 싶은데 어디로 연락드리면 될까요?
관련하여 얘기를 나누고 싶은데 어디로 연락드리면 될까요?
https://gitter.im/golang-korean-community/go-spec-in-korean 여기가 채팅방이긴 합니다만... 요즘은 대화가 없긴 하군요.