티스토리 뷰

Subversion : http://subversion.tigris.org/
TortoiseSVN: http://tortoisesvn.tigris.org/
poedit: http://www.poedit.org/translations.php

나는 요 세가지의 한국어 문자열을 관리하고 있는데, 어떤 소프트웨어가 맘에 들면 번역을 시도해보는 것은 그 프로그램을 깊이 이해하는데 더 도움이 된 것 같다. 가장 활발히 하는 것은 TortoiseSVN인데, 그 이유는 일주일에 한 번 씩 번역 상태가 메일로 오고 각 언어별 번역율이 그래프로 나오는 것이 약간의 경쟁을 유도하게한다.

subversion은 일주일에 한 번정도 모든 언어들의 번역상태가 메일링리스트로 전송되어 온다.
Translation status report for revision 13587 (trunk/)

============================================================================
Status for 'de.po': in repository
Passes GNU msgfmt --check-format
Statistics:
0 obsolete
82 untranslated
1238 translated, of which
48 fuzzy
----------------------------------------------------------------------------
Status for 'es.po': in repository
Passes GNU msgfmt --check-format
Statistics:
0 obsolete
94 untranslated
1226 translated, of which
106 fuzzy
----------------------------------------------------------------------------
Status for 'ja.po': in repository
Passes GNU msgfmt --check-format
Statistics:
0 obsolete
75 untranslated
1245 translated, of which
121 fuzzy
----------------------------------------------------------------------------
Status for 'ko.po': in repository
Passes GNU msgfmt --check-format
Statistics:
0 obsolete
79 untranslated
1241 translated, of which
134 fuzzy

poedit도 번역 상태가(tortoise svn처럼) 웹에는 계속 올라오는데, 메일을 안보다 보니 내가 들어가서 보기전까지는 잘 모르게 된다.(실로 지금까지 한 번 보내고 말았는데, 이 놈의 게으름..)

(내가 관심있는 요 세 프로그램에 대한 독일어버전도 TortoiseSVN의 번역관리담당인 뤼베 옹켄이라는 한 사람이 한다.)

사실 개인적으로 svn을 사용하면서 cvs의 사용이 극도로 줄어들게 되었고, 그에 따라 관심의 영역이 줄어 든 것도 사실이다. (cvs 프로젝트도 observer로 등록되어 있기는 하다마는) 번역하면서 위세를 떨칠것도 아니고, 관심의 끊임없는 표현인데, 그에 따른 적절한 책임감이 소프트웨어를 빛나게하는 것 같다.

난 일주일에 한 번, 번역에 시간을 들여 커밋 또는 메일링 리스트에 올리는데, 대개 주말에 한다. 번역을 하게 되면서, 프로그램을 작성할 때 번역자를 고려하는 설계와 누구나 번역을 쉽게 할 수 있도록 하는 방법에 대한 고민을 많이 하게 되었고, 나와 같이 패키지 작업을 하는 것이라면 더욱 도움이 많이 된다.

po 포맷이라는 전통적인 Unix 기반 다국어 처리용 포맷이 있는데, 요놈의 구조가 간단하고 그 editor들 또한 훌륭하여 프로그램을 모르는 사람을 번역하는데 고용할 수 있으므로 더욱 그 활용도가 높다.

Subversion과 poEdit 프로젝트는 전통적인 방식 그대로 po를 compile한 mo 파일을 어플리케이션에서 핸들링한다. 즉 gettext라는 라이브러리에서 최적화되어 메모리 맵된 파일 입출력을 통하여 사용되는데, 요 Tortoise SVN이라는 녀석은 gettext library를 사용하지 않고, po 포맷을 단지 우리같은 지역화하는 사람들과의 통신도구로만 사용하는데 그 재미가 있다. 그 개발팀은 restext.exe 라는 MS 윈도우용 프로그램을 이용하여 po 파일을 dll로 만들어준다. 마치 mo 파일 만들듯이 Tortoise SVN용 리소스 DLL을 만들며, 현재 아무 문제 없이 Tortoise SVN의 언어 확장팩으로 배포되고 있다.

난, 여기에 힌트를 얻어 회사에서의 프로젝트에 po 포맷을 도입했는데, 이로써 사내에서는 po 포맷을 이용하여 다국어 기반의 업무 프로세스를 만들었다는데 그 의의가 있다. 즉, 소스와 전혀 상관없이 po 파일로 기술문서팀과 이야기하고 개발팀에서는 po 포맷을 자바스크립트의 연관 배열로 바꾸는 스크립트를 간단히 제작하여 웹관리툴의 다국어 지원을 꾀하였다.

약 1000개의 문자열로 된 웹관리툴이 po 기반의 다국어 지원을 한다는것이 신선하지 않은가? strings.js 라는 그 자바 스크립트는 모든 웹페이지가 link하는 형태로 load하므로 네트웍 트래픽은 한 번만 일어나게되며, 화면에 약 30개 정도의 문자열이 그려지게 되는데, 1000개정도의 연관배열을 뒤지는데는 그다지 많은 컴퓨팅 파워를 소모하지 않는다.

다국어를 지원하는 방법은 여러가지겠지만, 될 수 있으면 많이 사용하는 방법을 최대한 이용하는 것이 생산성과 직결된다는 생각을 상기하며 이만.
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2023/09   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함