2012-06-27 5 views
0

Zend_Translate를 최근에 할당 된 Zend 1.6.x 프로젝트에서 구현하는 것을 연구하기 위해 오늘 인터넷 검색을 시작했습니다. 그러나 나는 유용하고 적절한 정보원에 도달하는 것이 어렵다는 것을 알고 있습니다.Zend_Translate가 언어 파일에서 여러 개의 '조각'콘텐츠를 반환 할 수 있습니까?

구현 된 단순한 배열 어댑터. 제대로 작동합니다.

는 구현의

기본 오버레이를 다음과 같이

SomeController.php에서
return array(
    'testKey' => 'Hello World!'); 

: (레지스트리에 번역 추가)

public function init() 
{ 
    ... 
     $this->_translate = Zend_Registry::get('translate'); 
    ... 
} 
언어 파일에

보기의

:

echo $ translate -> _ ('testKey');

언어 배열에서 하나 이상의 요소를 검색 할 수 있는지 알고 싶습니다. 다음과 같음 :

$phraseList= $translate->_('lanKey1','lanKey1'..'n'); 
//or 
$phraseList= $translate->_(array('lanKey1','lanKey1'..'n')); 

아니면 적어도 연구 할 사람이 있습니까?

많은 감사, 데이비드

+1

죄송하지만, 왜? – JellyBelly

+0

@JellyBelly 우리는 PHP 쪽에서 페이지의 콘텐츠를 다소 크게 구성합니다. 언어 파일을 사용하여 Zend가 허용하는 방식으로 출력의 다양한 섹션을 하나씩 교체해야합니다. 언어 파일에서 전체 세트를 검색하고 큰 내용의 블록에서 여러 섹션을 한 번에 대체하기 위해 sprintf()를 사용할 수 있기를 바랬습니다. (내가 올바르게 설명했으면 좋겠다 : P) – ddtpoison777

답변

3

아니, 당신은 한 번에 하나 개의 항목을 전달할 수 있습니다.

소스 코드를 참조 할 수 있습니다. 문서보다 더 나은 리소스입니다. 참고로

/** 
    * Translates the given string 
    * returns the translation 
    * 
    * @param string    $messageId Translation string 
    * @param string|Zend_Locale $locale (optional) Locale/Language to use, identical with locale 
    *          identifier, @see Zend_Locale for more information 
    * @return string 
    */ 
    public function _($messageId, $locale = null) 
    { 
     return $this->translate($messageId, $locale); 
} 

: Zend_Translate_Adapter

+0

어젯밤 소스가 Zend의 더 나은 문서 형식이라는 것을 천천히 깨달았다. 답변 감사합니다. 나는 내 문제를 해결하기 위해 내 자신의 작은 기능을 진행할 것입니다. :) – ddtpoison777