당신의 최선의 선택
덕분에 spritf() 함수를 사용하는 것입니다. 그런 다음 printf 표기법을 사용하여 문자열의 동적 내용을 처리합니다.
%s poked %s
는 것 입력 :
가
function translate()
{
$args = func_get_args();
$num = func_num_args();
$args[0] = gettext($args[0]);
if($num <= 1)
return $args[0];
return call_user_func_array('sprintf', $args);
}
지금 예를 하나 들어, 당신이 문자열을 변경할 것 : 여기 당신을 위해 쉽게이 문제를 처리하기 위해 얼마 전에 여기에 볼 수있는 기능입니다
<?php echo translate('%s poked %s', $user1, $user2); ?>
translate() 함수는 poEdit으로 구문 분석합니다. % 문자열 자리 표시자를 수정하지 않고 문자열 "% s poked % s"을 원하는 언어로 번역하십시오. 그것들은 각각 user1과 user2와 함께 translate() 함수에 의한 출력을 대체 할 것이다. PHP 매뉴얼에서 sprintf()에 대한 자세한 내용은 고급 사용법을 참조하십시오.
문제 # 2. poEdit이 카테고리 이름을 포함하는 구문 분석 할 수있는 정적 파일을 만들어야합니다. 예를 들어 "misctranslations.php"
<?php
_('Cars');
_('Trains');
_('Airplanes');
그런 다음 poEdit 구문 분석 misctranslations.php 있습니다. <?php echo gettext($data['name']); ?>
이 질문을 읽는 독자는 "gettext .po 파일에서 정렬 된 변수를 지정하는 방법"에 관심이있을 수 있습니다. http://stackoverflow.com/questions/13979962/how-to -specify-ordered-variables-in-gettext-po-files – Ryan