2012-06-27 4 views
0

Начинал Googling сегодня, чтобы исследовать реализацию Zend_Translate в проекте Zend 1.6.x, которому я недавно был назначен. Но мне трудно найти пригодные для использования/соответствующие источники информации.Возможно ли, что Zend_Translate вернет несколько «частей» контента из языкового файла?

Реализованный простой адаптер Array, который прекрасно работает.

Basic накладку реализации следующим образом:

в файле Язык:

return array(
    'testKey' => 'Hello World!'); 

в SomeController.php: (добавлен перевод в реестр)

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

на вид:

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

Я хотел бы знать, можно ли получить более одного элемента из массива языков? Что-то вроде:

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

Или, по крайней мере, у кого есть ресурсы, чтобы указать, или направление для исследования?

Большое спасибо, David

+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); 
} 

FYI: Zend_Translate_Adapter

+0

Я вчера понял, что источник - лучшая форма документации для Zend. Спасибо за ответ. Я приступлю к своей собственной небольшой функции для решения моей проблемы. :) – ddtpoison777