2011-10-05 2 views
10

gettext를 사용하여 PHP 프로젝트에 i18n을하고 있습니다. id가 바꿔서 긴 구를 번역 할 때 번역가에게 힌트를주기 위해 automatic comment feature을 사용하고 싶습니다. 내가 가져올 것은 번역자가 자신이 POEdit 또는 프로그래머 주석 상자에 일부 아날로그 도구를 사용하여 키 foobar을 볼 때 그가 번역해야하는지 볼 수있는이 방법으로 다음과 같은 PO 파일Gettext 자동 코멘트 생성

#: full-path-to-file/index.phtml:3 
#. a very long text which should replaced by _('foobar') 
msgid "foobar" 
msgstr "" 

에게 있습니다.

나는이 코드를 해봤지만

<?php 
/// TRANSLATORS: a very long text which should replaced by _('foobar') 
_('foobar'); 
?> 

작동하지 않습니다 나는 뭔가를 놓치고 또는 자동 의견은 PHP 작동하지 않습니다?

심지어 위키 백과 mentions이 기능은, 나는 C 파일에 자신의 예를 복사하려고했지만, 나는 C.와 심지어 내가 사용했던 명령 줄을 작업 얻을 수

xgettext -C -o - main.c 

하지만입니다 생성 된 출력은, 그래서 나는 확실히 누락 뭔가

#: main.c:16 
#, c-format 
msgid "My name is %s.\n" 
msgstr "" 

이다 나는이 기능을 사용 가능하게 설정하기 위해 xgettext 플래그 또는 특정 버전을 사용해야합니다.

+0

--language = Python을 사용하여 자바 스크립트에서 추출하려고하는 경우 주석 시작에 해시 번호를 추가하십시오. 예를 들어 // #와 같은 주석을 시작하면 xgettext는 번역 주석을 올바르게 추출합니다. –

답변

8

xgettext을 소스에서 주석을 추출하려면 어떤 주석을 찾을 지 알려면 인수를 전달해야합니다. documentation에서

:

'-c[tag]'
'--add-comments[=tag]'

장소 주석 블록 태그로 시작하여 출력 파일에서 키워드 라인을 이전. 태그가 없으면 옵션은 키워드 행 앞에 오는 모든 주석 블록을 출력 파일에 넣는 것을 의미합니다. 인수로 -c/ 또는 --add-comments=/ 전달

그것이 "트리플 슬래시"형식을 인식 할 것이다.

+0

예, 방금 나 혼자서 발견했습니다. 나는 큰 RTFM을받을 가치가있다 ... – Fabio

+0

@ John Flatness - 이것이 파이썬 모드에서 .js 파일들과 함께 작동하지 않는 이유는 무엇인가? 자세한 내용은 여기 : http://stackoverflow.com/questions/12052844/extract-translator-comments-with-xgettext-from-javascript-in-python-mode – ragulka