개요
아주 오래전에 SW 해외 수출을 위한 국제화 작업 전반을 처음부터 끝까지 진행해 본적이 있었다.
개발 언어는 C++ 이었고 Unix 에서 구동되는 프로그램이라 GNU 의 gettext 를 사용하여 번역할 문자열을 추출하여 PO(Portable Object) File을 생성하고 이 파일을 번역자에게 이메일로 보내주었다.
번역 결과물은 이메일로 받아서 MO(Machine Object) File 로 compile 한 후에 application 과 같이 배포한 기억이 난다.
(Po 파일은 소스에서 메시지만 추출한 텍스트 파일이다. 이를 번역한 후에 컴파일한 최종 메시지 파일이 mo 파일이다.)
po, mo 파일 생성은 Makefile 을 이용하여 target 으로 만들었고 application 내의 메시지가 바뀔때마다 po 파일을 새로 생성하고 번역대상인 po 파일을 비교툴을 이용하여 변경 내역을 반영후 번역을 수행했었다.
단계는 간단해 보이지만 gettext 쓰기가 만만치 않았고 Makefile 로 메시지 파일과 번역 파일을 관리하고 이걸 빌드와 패키징하는것도 굉장히 번거로운 일이었다. 더군다나 번역자는 개발자가 아니므로 다루기 곤란한 po 파일을 줄수가 없으므로 워드로 변환해서 주고 결과물을 다시 po 파일로 변환하는 노가다를 해야 했었다.
그때 작업하면서 느낀 점은 국제화가 녹녹치 않은 작업이란 것과 국제화시 번역자와 개발자간에 협업이 참 힘들다는 것이었다.
이런 단점을 해결하기 위한 온라인 협업 번역 플랫폼이 여러개 존재한다.
transifex
Transifex 는 이런 단점을 해소해줄 웹기반의 번역 플랫폼 서비스이다.
웹기반으로 번역자와 손쉽게 협업할 수 있게 편리한 웹 에디터가 제공되며 팀 공유, 커뮤니티에 번역 요청, 문자 단위 토론, 번역 리뷰등 여러가지 유용한 기능을 제공하고 있다.
상용으로 사용할 경우 번역할 단어수와 프로젝트의 수, 제공되는 기능에 따라서 사용 금액이 결정되나 오픈소스 프로젝트는 무료로 사용할 수 있다.
유명한 Open Source Media Player 인 XBMC 의 translation team(http://wiki.xbmc.org/index.php?title=Translation_System) 도 이걸 이용하여 번역을 하고 있으며 atlassian 의 confluence, jira, bamboo 같은 상용 제품도 여기에서 번역을 하고 있다.
crowdin
crw 는 SW 지역화(localization; l10n) 을 지원하는 편집기인 POEDIT 가 지원하는 번역 플랫폼으로 사용자도 많고 좋은 번역 환경을 제공한다.