PostgresSQL에 번역으로 기여하기
-
PostgresSQL - Develoer 페이지에서 정보를 확인하다가, 번역이라는 섹션을 보았다.
-
번역이라면, 충분히 기여할 수 있고 또한 개발처럼 부담이 많이 되는 것도 아니라서 개발 프로세스 및 메일링 리스트로 대화를 하는데 많은 도움이 될 것 같다는 생각을 했다.
-
또한 기능을 파악하는데 많은 도움이 될 것이다. 문서화, 번역, 테스트 코드는 처음 관심 있는 오픈 소스에 기여하기 위한 좋은 방법이다.
-
그리고 주변 개발자들이나, 오픈 소스에 기여하고 싶은 분들께 처음 시도를 해보면 좋을 것 같은 마음에 정리를 해보았다.
한국어 번역 상황
-
해당 사이트 (https://babel.postgresql.org/)에 들어가보면 14 버전을 기준으로 번역이 완료된 부분과 아직 완료되지 않은 부분을 테이블 형태로 보여준다.
-
많이 번역된 모듈도 있지만, 거의 번역되지 않은 모듈도 존재하였다.
PostgresSQL
은 꾸준하게 개발되므로, 계속 번역할 곳이 생길 것 같다.
- 또한 해당 사이트에 접속하면 번역된 파일이 언제 머지되었는지, 시황을 확인할 수 있다. 커밋된 메시지를 확인해보니까 서두에 번역된 언어 로케일을 적고 나서, 그 뒤에 메시지를 적는 것 같았다.
-
또한 한국어로 작성된 패치 파일도 확인하였다. 커밋 메시지 중에 번역팀 정보가 있어 만약 번역을 한다면 이 팀에게 연락을 해보는 것도 좋을 것 같다.
-
번역 진행 사항은 메일링 리스트로 관리되어지고 있다. 따라서, 번역을 진행하기 전에 진행하고 싶다는 의사를 pgsql - translators 로 보내보는 것도 좋을 것 같다.
번역을 진행하는 법
-
https://wiki.postgresql.org/wiki/NLS 에서 번역을 하는 방법에 대해서 알려주고 있다.
-
번역은
GNU
에서 만든 도구인 GNU Gettext - 메뉴얼 을 사용한다.
번역 프로세스
-
번역 현황판에 가서, PO 파일을 다운로드 받아라 그리고 나서, 그 파일에다가 번역을 하면 된다.
-
새로운 번역을 시작하려면 표 맨 왼쪽에 있는 모듈 (카탈로그) 이름 중에 번역하고 싶은 것을 클릭하여서
.POT
파일을 다운로드 한다. 헤더 부분의 모든 필드를 채우고 나면, 퍼지 플래그를 지워준다.
VIM
플러그인에서 오류나는 부분을 자동으로 알려준다. 따라서 이러한 부분을 모두 채우면 다음과 같고, 아까 검증하는 명령어를 터미널에 입력하면 아래와 같이 번역된 숫자와 번역되지 않은 숫자를 알려준다.
-
편집을 마치고 나서 파일에 오류가 있는지를 확인한다. 오류를 확인하는 방법은 다음과 같다. 터미널에
msgfmt -o /dev/null -v -c yourfile.po
명령어를 실행한다. 또는PostgresSQL
소스코드에 파일을 복사한 후에,gmake maintainer-check-po
명령어를 입력한다. 만약 이러한 확인 작업을 하지 않으면 사용자가 프로그램을 사용하는 도중에 버그가 발생할 수 있으므로 꼭 확인을 해야한다. -
확인까지 문제 없이 모두 마쳤다면, 결과물을 패치 - 트래커에 첨부하여 작업을 했다는 것을 알린다. 파일을 첨부할 때 패치파일을 보내는 것이 아니라, 그냥 번역한 파일 그대로 보내면 된다. 오히려 간편하다.
- 파일은 이름을 변경하지 말고, 다운로드 받은 당시의 파일 이름 그대로 사용하면 된다.
- 마지막으로 메인테이너가 소스코드에 병합 시켜주면, 번역한 파일이 반영된다.
유용한 도구
-
텍스트 편집기를 사용해도 되지만, 전용 편집기를 사용하면 더욱 편리하게 작성할 수 있다.
-
poedit 이라고 하는 편집기다.
이전에 기여한 사람에게 연락하기
- 해당 파일을 작업하기 전에 파일에 나와있는 마지막으로 수정한 팀이나 번역가에게 연락을 해야한다. 왜냐하면 중복해서 작업을 하는 불상사를 피하기 위해서이다.
번역을 진행한 과정
- 번역할 내용이 있는지 찾아보던 중에,
pg_amcheck
라는 도구의 번역 완료율이 저조하다는 것을 발견하였다.
- 우선 번역을 진행하기 전에, 한국 번역 팀에게 연락을 해서, 번역을 진행해도 되는지 물어보았다. 메일 주고 받은 내용
- 다행히 번역을 해도 이상없다는 내용을 받을 수 있었고, 번역을 하고 나서 완료했다는 메일과 함께 패치 트래커에 번역한 내용을 정리하여 업로드를 하였다.
마무리
-
명령어를 번역하기 전에
pg_amcheck
라는 도구가 무엇을 하는지 제대로 알지 못하였지만 정확한 번역을 하기 위해서,pg_amcheck
에서 무슨일을 하는지 문서를 읽어 볼 수 밖에 없었다. -
따라서 해당 도구에 대해서 더 이상 낮설지 않게 됨과 동시에 흥미를 느낄 수 있었다.
-
이와 비슷하게 만약 잘 모르거나, 알고 싶은 내용이 있을 때 공식 문서를 번역하면서 배우는 것도 재미있을 것이다. 그리고 번역 하는 도중에 추가하거나 수정하고 싶은 내용이 있다면 주저 하지 말고 기여를 해보는 것도 좋을 것이다.
참고 문헌
>> Home