[완료] 프로그램을 patch 한후에, .po 파일의 코드 라인번호가 바뀌면 어떻게 해야 하나요?
글쓴이: vudghkzm / 작성시간: 일, 2009/12/13 - 3:24오후
어떤 오픈 소스 프로젝트에 작은 new feature를 제가 직접 추가했습니다. 코드를 조금 다듬은 후에 patch를 만들어서 author에게 전달해 줄 예정입니다.
프로젝트는 gettext를 이용해서 국제화가 잘 되어 있는 상태로 보입니다. po 디렉토리 밑에 LINGUAS, POTFILES.in 등의 파일 밑, *.po 파일 들이 존재합니다.
프로젝트 자체는 ./configure -> make -> make install 의 표준 과정이 잘 만들어져 있는 상태구요..
근데 제가 신경쓰이는 것은... 코드를 수정하면서, *.po 파일들에 들어있는 소스 코드의 라인 번호가 바뀌어 버렸다는 것입니다. 아마도 뭔가 명령을 실행해서 수정을 해야 할 것으로 보이는데요... 어떻게 해야 되는건지 몰라서 질문드립니다. 제가 gettext를 이용한 국제화/지역화 및 번역 프로세스에 대해서 몰라서요...
추가로... 제가 직접 _("Blar Blar...") 와 같은 새로운 스트링을 추가했을 때는 어떤 작업을 추가로 해줘야 하는지도 알고 싶습니다.
Forums:
po 디렉토리의 Makefile
po 디렉토리의 Makefile 코드를 살펴보니... update-po 라는 타겟이 있더군요. 혹시나 해서 po 디렉토리에서 make update-po 라고 했더니 *.po 파일이 업데이트 되네요. 바뀐 소스 코드 라인번호 맞게끔 기존의 번역 내용들이 업데이트되었습니다. 그리고 제가 직접 추가한 스트링도 추가되더군요, msgstr "" 라고 된 상태로 말이죠.
이렇게만 해 주고 난 뒤에, 프로젝트를 빌드하면 기존의 번역 내용들이 무사히 적용 되는건가요?
결론만 말씀드릴께요.
네. 맞습니다.
컴파일 단계는 이렇게 해 주세요.
#cd po
#make update-po
( po 파일 검사 및 번역문 처리)
#cd ..
#./configure
#make
#make install
( 프로그램 실행후 검사)
프로그램을 실행해서 po 파일에서 변경된 사항이 잘 반영되어 있나 확인하시면 됩니다.
답변 감사합니다.
추측한게 맞네요.
좀 더 똑똑하게 빌드 프로세스를 만들려면, 프로젝트의 make 단계에서 자동으로 "make -C po update-po"를 수행해줄 수 있도록 만들면 될 듯 합니다.
댓글 달기