2009. 5. 3. 01:07

Trac 한글 번역에 참여하기

Trac이란 무엇인가?
일단 이 글을 읽으시는 분들은 Trac이 무엇을 하는 툴인지 모두 아실거라고 생각합니다.
하지만 혹시나 Trac이 뭔지 모르시는 분들을 위해서 간단하게 설명을 드리겠습니다.
 * 홈페이지 : http://trac.edgewall.org/
 * 파이썬(Python) 언어로 작성된 이슈 관리 시스템입니다.(Trac에서는 티켓이라고 표현합니다.)
 * 비슷한 툴로는 Mantis, Bugzilla 등이 있습니다.


Trac 번역 방법의 변경
초기의 Trac의 한글 번역은 파이썬 소스코드에 하드 코딩되어있는 스트링을
한글로직접 번역하는 형태로 진행되었습니다.
다음 URL이 KLDP.NET에서 진행되던 Trac 한글 번역 프로젝트 URL 입니다.
 * http://kldp.net/projects/trac-ko/
 * KLDP.NET에서 진행되던 Trac 한글 번역 프로젝트의 마지막 릴리즈는 0.10.4-ko 버전이 마지막 버전입니다.

최근의 Trac의 번역은 po 파일을 이용한 번역으로 변경되었습니다.

Trac의 마일스톤을 보시면 아시겠지만, Trac-0.12 버전에서 i18n과 localization 기능이 추가중에 있습니다.
 * http://trac.edgewall.org/milestone/0.12
 * 즉, Trac-0.12 버전에서는 각 언어별로 번역을 완벽하게 지원하겠다는 의미입니다.


현재 Trac에서의 한글 번역 상황
Trac-0.12 버전을 위한 한글 번역 상황은 다음 URL에서 확인하실 수 있습니다.
 * http://trac.edgewall.org/ticket/5477


Trac 한글 번역에 참가하는 방법
 * 최신의 한글 번역용 po 파일을 다운로드 받습니다.
   * http://trac.edgewall.org/browser/trunk/trac/locale/ko_KR/LC_MESSAGES

 * 번역을 하기 위해서 poEdit를 다운로드 받아서 설치합니다.
 * 이제 번역을 합니다.
 * 번역이 완료된 po 파일을 Trac-0.12 버전의 한글 번역과 관련있는 다음 티켓에 첨부파일로 첨부합니다.
   * http://trac.edgewall.org/ticket/5477


아직까지는 Trac-0.12 버전이나, Trac-0.12 버전을 위한 한글번역 상태가 그다지 좋지는 못한 것 같습니다.
하지만 많은 분들이 참여하셔서 좋게 만들면 되겠죠.. ^^;

올해안에 한글이 완벽하게 지원되는 Trac-0.12 버전의 릴리즈를 기다려봅니다.

참고 : 개발 버전의 Trac-0.12 버전에서 한글을 활성화하는 방법은 다음 문서를 참고하세요.
 * http://ktd2004.tistory.com/3
2008. 7. 9. 19:41

Subversion의 commit과 Trac 연동하기...(Subversion, Trac, post-commit, trac-post-commit-hook)


Subversion에서 commit하면 자동으로 Trac의 티켓 닫기
일단 다음과 같이 가정합니다.
  • Subversion 저장소 : /var/TEST
  • Trac 저장소 : /var/TEST.TRAC

Subversion의 post-commit 훅 스크립트
  • /var/TEST/hooks/post-commit 스크립트 파일
  • 원래의 파일 이름은 post-commit.tmpl 입니다. 이 파일의 이름을 post-commit 으로 변경하고, 실행 속성을 주어야 합니다.

SVNLOOK=/usr/local/bin/svnlook

REPOS="$1"
REV="$2"

LOG=`$SVNLOOK log -r "$REV" "$REPOS"`
AUTHOR=`$SVNLOOK author -r "$REV" "$REPOS"`
DIRS="`$SVNLOOK dirs-changed -r "$REV" "$REPOS"`"

$REPOS/hooks/trac-post-commit-hook.py -p /var/TEST.TRAC -r "$REV" -u "$AUTHOR" -m "$LOG"



Trac의 trac-post-commit-hook.py 파일
  • 사용하고 있는 trac의 소스에 보면 contrib/trac-post-commit-hook 파일이 있습니다.
  • 이 파일을 /var/TEST/hooks 디렉토리에 복사합니다. 이 위치는 post-commit 파일에 명시된 위치와 동일합니다.


주의 사항
  • 위에서 언급한 두개의 파일은 모두 실행 속성을 가지고 있어야 한다.


Subversion commit시에 Trac의 티켓에 영향을 미치도록 commit message 작성하기
다음과 같은 동작을 수행할 수 있습니다.
  • 티켓 자동으로 닫기
  • 티켓에 자동으로 comment 추가하기
trac-post-commit-hook.py 파일을 보면 다음과 같이 설명이 자세히 나와있습니다.

# It searches commit messages for text in the form of:
#   command #1
#   command #1, #2
#   command #1 & #2
#   command #1 and #2
#
# Instead of the short-hand syntax "#1", "ticket:1" can be used as well, e.g.:
#   command ticket:1
#   command ticket:1, ticket:2
#   command ticket:1 & ticket:2
#   command ticket:1 and ticket:2
#
# In addition, the ':' character can be omitted and issue or bug can be used
# instead of ticket.
#
# You can have more then one command in a message. The following commands
# are supported. There is more then one spelling for each command, to make
# this as user-friendly as possible.
#
#   close, closed, closes, fix, fixed, fixes
#     The specified issue numbers are closed with the contents of this
#     commit message being added to it.
#   references, refs, addresses, re, see
#     The specified issue numbers are left in their current status, but
#     the contents of this commit message are added to their notes.
#
# A fairly complicated example of what you can do is with a commit message
# of:
#
#    Changed blah and foo to do this or that. Fixes #10 and #12, and refs #12.
#
# This will close #10 and #12, and add a note to #12.

즉, Subversion commit 메시지에 특정 스트링을 넣으면, Trac의 티켓이 자동으로 변경됩니다.

Subversion commit과 함께 5, 10번 티켓을 닫을려면 다음과 같이 사용할 수 있다.
"close" 대신에 "closed", "closes", "fix", "fixed", "fixes" 등을 사용할 수도 있다.

close #5, #10
close #5 & #10
close #5 and #10
close ticket:5, ticket:10



Subversion commit과 함께 commit 메시지를 5번, 10번 티켓의 comment로 추가하려면...
"refs" 대신에 "references", "addresses", "re", "see"등을 사용할 수도 있다.

refs #5, #10
refs #5, #10
refs #5 & #10
refs #5 and #10
refs ticket:5, ticket:10


자. 이제 Subversion에서 commit을 하면, 자동으로 Trac의 관련 티켓이 닫히거나, comment가 추가되게 됩니다.


참고로 말씀 드립니다.
오늘 서점에 갔다가 "윈도우 프로젝트 필수 유틸리티"란 책을 보았습니다.
이 책에 윈도우 환경에서 Subversion과 Trac을 연동하는 방법이 아주 잘 설명되었습니다.
참고하시기 바립니다.
2008. 5. 4. 09:58

한글로 표시되는 Trac 사용하기

간단하게나마 한글로 표시되는 Trac을 설치하는 방법을 기술하려고 한다.
이 내용은 모두 Trac 프로젝트의 trunk의 최신 리비전 r6986 이상에서만 가능하다.
  • trac-r6986에서 sandbox에서 작업중이던 i18n 코드가 trunk에 merge되었다.


한글로 표시되는 Trac 설치하기

babel 설치

trac의 trunk 디렉토리 익스포트받기
  • 내 환경에서는 작업사본(익스포트가 아닌 체크아웃하면)에서 설치하면 에러가 발생했다.
   # svn export https://svn.edgewall.com/repos/trac/trunk trac-trunk
   # cd trac-trunk


다음 명령을 수행해서 po 파일들을 mo 파일로 변환하기
   # python setup.py compile_catalog --use-fuzzy


이제 Trac 설치
   # python setup.py install







이제 다음과 같이 사용할 언어를 선택하면 한글로 표시되는 Trac을 사용할 수 있다.

Preference 선택

사용자 삽입 이미지

한국어(대한민국) 선택

사용자 삽입 이미지

한글로 바뀐 Trac ^^;
사용자 삽입 이미지