getText의 PHP 문자열 변수 (한 건의 사례 시나리오 잊어 버렸습니다)
문제
어제 질문을 게시했지만 답이 특정 상황에서 작동하지 않는다는 것을 깨달았습니다. 게시물이었다 GetText의 PHP 문자열 변수 그리고 다음은 다음과 같습니다.
안녕하십니까,
getText는 문자열 변수를 어떻게 변환합니까? 그것은 그것을하고 싶지 않은 것 같습니다 .. 내가 $ sentence = "hello world"가 있다고 가정 해 봅시다. 그리고 나는 에코 ($ sentence)를 에코하고 싶다. ... Poedit의 $ sentence 내부의 내용을 번역 할 수 있도록 어떻게해야합니까? -> echo sprintf (( "%s test"), $ sentence)를 사용할 수 있으며 이것은 "Hello World Test"를 인쇄합니다. 브라우저이지만 Poedit에서 "%S 테스트"로 나타나며 Poedit 내부에서 Hello World의 번역 된 버전을 얻지 못합니다. 그렇다면 Poedit 내부에서 문자열 변수를 어떻게 사용할 수 있습니까? 감사!
이것은 해결되었습니다.
XML 파일에서 데이터를 가져 와서 번역하려면 문제가 발생합니다.
다음을 수행하고 싶습니다.
$foo = $xmlData -> titleText;
그리고
echo _($foo);
또는 같은 것
$finalVar = _($foo);
브라우저의 PHP 파일을 보면 페이지에서 $ foo의 내용을 볼 수 있지만 Poedit은 $ foo 내부의 문자열을 선택하지 않으므로 번역 할 수 있습니다.
(JS 파일 내에서 정보를 변환 할 때이 문제가 발생할 것이라고 생각합니다)
도와 주셔서 감사합니다.
사이먼
해결책
분명히 POEDIT를 PHP를 이해하게 만들 수는 없습니다.
편집하다: 다른 접근법을 고려해 보셨습니까?
if (true) {
$foo = _('variable holds true');
}
else {
$foo = _('variable holds false');
}
echo $foo;
PHP가 GetText 호환 XML을 생성 할 수 있으며 데이터베이스와 관련하여 최상의 솔루션은 DB 자체에 번역을 저장하는 것이지만 데이터베이스에서 모든 키와 값을 덤프하고 getText를 사용하는 스크립트를 만들 수도 있습니다. 그것.