2013-04-10 4 views
1

xgettext-Parser에서 poEdit을 사용하여 PHP 소스 파일을 구문 분석하고 번역 가능한 모든 문자열을 감지합니다. 기본적으로 xgettext는 "translate"가 xgettext의 키워드로 지정된 경우 translate("foo"), 과 같은 함수 호출의 문자열 만 인식합니다.PHP 배열이나 DocBlocks에서 (메소드 호출없이) xgettext로 번역 가능한 문자열을 인식하는 방법은 무엇입니까?

지금 나는 "foo는"또는 "는 foobar"에 이러한 번역 문자열을 인식하도록 관리 할 수있는 방법

/** 
* @FormElement(type="text", options={ 
*  "label"="Foobar", 
* }) 
*/ 

같은

array(
    'label' => 'foo', 
); 

또는 DocBlocks처럼, PHP - 배열의 일부 번역 문자열이 xgettext?

미리 감사드립니다.

function dummy_translate ($string) 
{ 
    return $string; 
} 

$array = array 
(
    'label' => dummy_translate('foo') 
); 

와 함께 추출 :

+0

아직 해결책을 찾았습니까? –

+0

@OytunTez 아래 답변에서 제 제안을 참조하십시오. –

+0

@RaduMaris 업데이트를 제공해 주셔서 감사합니다. –

답변

0

당신은 더미가 방법을 번역, 당신이 당신의 배열을 만들 때 사용할 만들 수

유효한 C를 형성해야합니다에서 xgettext 키워드로 또한
xgettext --keyword=dummy_translate:1 

식별자 인 경우 배열 바로 앞에 다음을 입력 할 수 없습니다.

$dummy_method = function ($string) 
{ 
    return $string; 
} 

그냥 더미 방법을 넣어 좋은 장소를 찾으십시오.

DocBlocks를 문서화 이상의 용도로 사용하지 않았으므로 그것에 대해 확신하지는 못했지만 유사한 접근 방식이 있어야 사용할 것으로 생각됩니다.

P.S. 추가 함수 호출의 성능은 무시할 수 있습니다. 마이크로 최적화으로 시간을 낭비하지 마십시오.