rein's world

trac wiki 변환 삽질기

모종의 번역 작업을 소스코드 형상 관리도구(SCM)인 trac을 사용해서 진행했다.

오늘 기나긴1 회사 업무의 막바지에 틈이 생긴지라, 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 포맷으로 만들어주는 TrackWikiToPdfPluginPageToPdfPlugin을 시도. 이 두 플러그인은 htmldoc 이 설치되어 있어야 한다. 하지만 이 플러그인으로 만들어낸  PDF 페이지도 한글로 된 부분이,

??? ??? ?? ??? ???? ??? ??

로 깨진다. htmldoc 자체가 multi-byte 인코딩된 문자집합을 제대로 지원하지 않는 것.  

마지막으로 docbook을 시도. Page2DocbookPlugin 이란 녀석을 설치. 출력이 xml ((물론 docbook이니 SGML일 수도 있지만 적어도 이 경우엔 …)) 이고, UTF-8으로 인코딩된 유니코드를 사용하기 때문에 이 녀석은 아무 문제가 없더군. 다만 특정 페이지에서 가끔 500 internal error를 내면서 죽어버리는데(…), 열고 공백문자 하나쯤 집어넣고 다시 저장한 후 변환하면 잘 되더라…

이걸활용해서docbook 변환 -> docbook2rtf 로 RTF 문서로 바꾸는 스크립트를 짜고, 자동변환이 이루어지게 한 뒤 작업 끝. 이제 손으로 수정할만한 부분만 수정해서 보내면 될듯하다?

근데 생각할 점. Chapter 제목이 wiki 안에서의 URI에 근거한다. 덕분에 chapter 제목이 두 번 나온다거나 하는 일도 좀 생기고 그렇다.2

  • 번역 작업 자체를 아예 docbook으로 하는게 편했을지도 모른다는 생각이 든다. orz 여튼 오늘의 교훈. 다국어를 잘 지원할 것 같은 포맷 — 여기선 UTF-8 인코딩을 지원하는 xml — 을 사용한 툴들은 다국어/문자집합/인코딩 문제를 잘 안일으킨다. 이런 툴을 우선적으로 고려하는 습관?을 들여야 할 듯.

  1. 근 3주간 하루 쉬었음 orz 지난 주말의 연휴는 3연짱 야근 ㄳ ↩︎

  2. 문단 시작이 == 제목 == 하는 식의 챕터 제목인 경우 ↩︎