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로 설치.[2] 
페이지 밑에 text 말고도 MSWord 다운로드가 추가되어 .zip 으로 묶인 MSWord doc 파일…로 보이는 것으로 변환했다. 하지만 한글로 된 부분이,

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

처럼 깨져서 나온다. orz 

 

이건 버리고 다음으로 PDF 포맷으로 만들어주는 TrackWikiToPdfPluginPageToPdfPlugin을 시도. 이 두 플러그인은 htmldoc 이 설치되어 있어야 한다. 하지만 이 플러그인으로 만들어낸  PDF 페이지도 한글로 된 부분이,

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

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

 

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

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

 

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

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

  1. 근 3주간 하루 쉬었음 orz 지난 주말의 연휴는 3연짱 야근 ㄳ []
  2. 덤으로 Gnome XSLT 라이브러리, HTML Tidy 가 있어야 한다 []
  3. 물론 docbook이니 SGML일 수도 있지만 적어도 이 경우엔 … []
  4. 문단 시작이 == 제목 == 하는 식의 챕터 제목인 경우 []

Published by

rein

나는 ...

2 thoughts on “trac wiki 변환 삽질기”

  1. htmldoc은 UTF-8은 지원안하나요?

    저도 trac을 쓰고있습니다만…기본값이 UTF-8로 저장되는걸로 알고있는었는데 말이죠 -ㅁ-;; 아닌가봐요? 흠…

    1. 기본적으로 UTF-8 저장인데, 딴데 전달하려고 다른 포맷(doc or pdf … )로 바꾸려다보니 UTF-8 이 아닌 인코딩 (UCS2라거나) 으로 바꿀 때 제대로 안되는 것들이 좀 있더군요;

Leave a Reply