모종의 번역 작업을 소스코드 형상 관리도구(SCM)인 trac을 사용해서 진행했다.
오늘 기나긴 ((근 3주간 하루 쉬었음 orz 지난 주말의 연휴는 3연짱 야근 ㄳ)) 회사 업무의 막바지에 틈이 생긴지라, trac을 전달 가능하다고 생각하는 형태 — 독립된 HTML 페이지라거나, RTF 형태라거나, PDF라거나, MS Word 형식이라거나 — 로 바꾸는 작업을 진행했다.
처음으로 trac을 썼었던 0.9 버젼 때만 하더라도 text/rtf 로 변환하는 옵션이 있었던 것 같은데! 막상 오늘 하려고보니 (현재 trac 0.11stable 사용 중) 없-_-더-_-라.
뭐 별 수 있나하고 trac-hacks를 뒤지기 시작. export 태그 밑에 적당한게 몇 개 있길래 시도해보기 시작.
우선 MSWord 포맷으로 바꿔준다는 PageToDocIntegration 을 써봤다. 빌드 -> site-package로 설치. ((덤으로 Gnome XSLT 라이브러리, HTML Tidy 가 있어야 한다))
페이지 밑에 text 말고도 MSWord 다운로드가 추가되어 .zip 으로 묶인 MSWord doc 파일…로 보이는 것으로 변환했다. 하지만 한글로 된 부분이,
??? ??? ?? ??? ???? ??? ??
처럼 깨져서 나온다. orz
이건 버리고 다음으로 PDF 포맷으로 만들어주는 TrackWikiToPdfPlugin과 PageToPdfPlugin을 시도. 이 두 플러그인은 htmldoc 이 설치되어 있어야 한다. 하지만 이 플러그인으로 만들어낸 PDF 페이지도 한글로 된 부분이,
??? ??? ?? ??? ???? ??? ??
로 깨진다 ㅠㅠ htmldoc 자체가 multi-byte 인코딩된 문자집합을 제대로 지원하지 않는 것 -_-;
마지막으로 docbook을 시도. Page2DocbookPlugin 이란 녀석을 설치. 출력이 xml ((물론 docbook이니 SGML일 수도 있지만 적어도 이 경우엔 …)) 이고, UTF-8으로 인코딩된 유니코드를 사용하기 때문에 이 녀석은 아무 문제가 없더군. 다만 특정 페이지에서 가끔 500 internal error를 내면서 죽어버리는데(…), 열고 공백문자 하나쯤 집어넣고 다시 저장한 후 변환하면 잘 되더라…
이걸활용해서docbook 변환 -> docbook2rtf 로 RTF 문서로 바꾸는 스크립트를 짜고, 자동변환이 이루어지게 한 뒤 작업 끝. 이제 손으로 수정할만한 부분만 수정해서 보내면 될듯하다?
근데 생각할 점. Chapter 제목이 wiki 안에서의 URI에 근거한다. 덕분에 chapter 제목이 두 번 나온다거나 하는 일도 좀 생기고 그렇다. ((문단 시작이 == 제목 == 하는 식의 챕터 제목인 경우))
+ 번역 작업 자체를 아예 docbook으로 하는게 편했을지도 모른다는 생각이 든다. orz
여튼 오늘의 교훈. 다국어를 잘 지원할 것 같은 포맷 — 여기선 UTF-8 인코딩을 지원하는 xml — 을 사용한 툴들은 다국어/문자집합/인코딩 문제를 잘 안일으킨다. 이런 툴을 우선적으로 고려하는 습관?을 들여야 할 듯.
htmldoc은 UTF-8은 지원안하나요?
저도 trac을 쓰고있습니다만…기본값이 UTF-8로 저장되는걸로 알고있는었는데 말이죠 -ㅁ-;; 아닌가봐요? 흠…
기본적으로 UTF-8 저장인데, 딴데 전달하려고 다른 포맷(doc or pdf … )로 바꾸려다보니 UTF-8 이 아닌 인코딩 (UCS2라거나) 으로 바꿀 때 제대로 안되는 것들이 좀 있더군요;