2009-08-29 3 views
1

어제 질문을 올렸지 만 특정 상황에서 대답이 작동하지 않는 것 같았습니다. 포스트는 php string variables in gettext이었고, 나는 여기에 대해 질문 것입니다 :gettext의 PHP 문자열 변수 (한 가지 사례 시나리오 분실)

안녕하세요,

어떻게 문자열 변수를 번역 gettext는 무엇입니까? 그것은 할 싶지 않아 .. 내가 $ 문장 = "안녕하세요 세계"라고 할 수 있습니다; 그리고 나서 나는 반향하고 싶다. ($ sentence); ... 어떻게 그렇게 할 수 있습니까? $ 문장을 Poedit에 번역 할 수 있습니까? echo sprintf ((""% s test "), $ sentence) 및 "Hello World 테스트 "를 브라우저에서 실행하지만, Poedit에서"% s test "로 표시되며 Hello World Poedit 내부에 번역 버전이 표시되지 않습니다. 그렇다면 어떻게 Poppy 내에서 문자열 변수를 사용할 수 있습니까? 감사합니다.

이것은 해결되었습니다.

XML 파일에서 데이터를 가져 와서 번역하려는 경우 문제가 발생합니다.

$foo = $xmlData -> titleText; 

다음

echo _($foo); 

또는

$finalVar = _($foo); 

같은 내가 브라우저에서 PHP 파일을 보면 :

나는 다음을 수행 할 수 있도록하려면 페이지에서 $ foo의 내용을 볼 수 있지만 Poedit은 $ foo의 문자열을 가져 가지 않아서 번역 할 수 있습니다.

여러분의 도움에 감사드립니다 (내가 JS 파일 내 정보를 번역 할 때이 문제가 발생할 것으로 예상)

사이먼 분명히

답변

1

당신은 Poedit는 PHP를 이해할 수 없습니다.

수정 : 다른 접근 방법을 고려 했습니까?

if (true) { 
    $foo = _('variable holds true'); 
} 

else { 
    $foo = _('variable holds false'); 
} 

echo $foo; 
당신은 PHP에서 gettext 호환 XML 데이터베이스에 대한 생성 할 수 있습니다

, 나는 그러나 당신은 또한 모든 키와 값을 덤프하는 스크립트를 만들 수 있습니다, 최고의 솔루션은 DB 자체에 번역을 저장하는 것입니다 생각 데이터베이스에서 gettext를 사용하십시오.

+0

나는 그것을 이해하지만 귀하의 의견은 제 문제에 정말로 도움이되지 않습니다. 해결 방법이 있습니까? XML 파일에 대한 언어 구조를 사용할 수는 있지만 어떻게 든이 문제를 gettext로 해결하는 것을 선호합니다 ... 데이터베이스에서 데이터를 가져올 경우에도이 문제가 발생합니다 ... – Kentor

+0

미안하지만 어떻게 알 수 있습니까? 당신의 문제를 해결하기 위해 나는 그것을 대답했을 것입니다. 나는 그것이 가능하다고 생각하지 않는다. –

+0

예 그 방법을 고려해 봤지만 XML 파일을 사용하는 방법을 찾아 내려고했습니다.나는 그들을 생성하고 싶지 않았고, 범주, 메타 태그 등에 대한 입력 필드와 같은 것들을위한 뼈대로 사용하고 싶었다. 나는 그림에서 XML을 삭제하거나 이전에 말한 것을 수행 할 것입니다 (언어에 따라 XML 파일 복제). 나는 Poedit이 PHP 코드를 컴파일 할 수 있었으면 좋겠다. 훨씬 쉽다. 도움을 주셔서 감사합니다. – Kentor