2009-03-30 6 views
3

에와 .po 파일을 업데이트 반복적에서 xgettext 사용하려면, 나는 두 가지 질문이 있습니다가 어떻게 큰 코드베이스의 번역을 돕기 위해 <a href="http://www.gnu.org/software/hello/manual/gettext/xgettext-Invocation.html" rel="nofollow noreferrer">xgettext</a>를 사용하여 찾고 있어요 번역

  • 내가 하나 개와 .po 파일이있는 경우 행된 코드베이스의 단일 xgettext 스캔을 사용하여 모두를 쉽게 업데이트 할 수 있습니까? 아니면 각 언어에 대해 xgettext를 한 번 실행해야합니까?
  • .po 파일 헤더에 대상 언어를 poedit으로 추가하면 xgettext가 기본 머리글로 덮어 쓰는 것 같습니다. 이걸 어떻게 막을 수 있니?

아마도 내가 잘못된 도구를 사용하고 있는데,이 경우 제안을 환영합니다. 필자가 원하는 것은 코드를 스캔하고 .po 파일을 새로운 문자열로 업데이트하지만 헤더 정보는 그대로 두는 것입니다.

EDIT : poedit이 코드를 스캔 할 수 있다는 것을 알고 있지만 프로세스 자동화를 위해 스캔을 수행하는 명령 줄 응용 프로그램을 찾고 싶습니다.

답변

8

네, 기본적으로 도구를 잘못 사용하고 있습니다.

xgettext은 템플릿 파일을 생성합니다. (예 : * .pot 파일)

msgmerge 명령은 .po 파일의 변경 사항으로 .po 파일을 업데이트합니다.

%.en.po : %.pot 
    -[ -e [email protected] ] && msgmerge --width=110 --update [email protected] $< 
    [ -e [email protected] ] || cp $< [email protected] 
+0

퍼즐의 누락 된 부분입니다 :

우리는 아래와처럼와 .po 파일을 업데이트하는 규칙을 만들 수 있습니다. 그 점에 대해 많은 감사드립니다. –

+0

잘 이해했다면 xgettext 명령에 -j를 추가하여 누락 된 키만 추가 할 수도 있습니다. 기존 파일과 메시지를 결합하십시오. – jamesjara

+0

@ jamesjara 삭제 된 메시지가 제거되는지 여부를 모르겠다 - msgmerge는 소스에서 제거 된 po 파일의 메시지를 주석 처리합니다. –