Мне давно интересно. Возьмите этот пример:
<?= Zend_Registry::get('translate')->_('translate me!');
Мои взгляды загромождены таким кодом. Мои коллеги также часто жалуются на то, что набирать текст достаточно, чтобы получить перевод, и поскольку он повторяется повсюду, он становится утомительным.
Некоторым из них понравилась бы какая-нибудь глобальная функция, заключающая в себе все короткие имена, например:
function t($text){
return Zend_Registry::get('translate')->_($text);
}
Но для меня это нехороший дизайн, и он побеждает идею помещения моего объекта перевода в реестр.
Поэтому мне было интересно, что делают другие, чтобы избежать необходимости писать весь этот ненужный код.
Одним из решений было бы сделать в моем контроллере:
$this->view->t = Zend_Registry::get('translate);
а потом, на мой взгляд, просто:
<?= $this->t('translate me!'); ?>
Другой вариант - создать помощника вида, который выполняет эту работу:
<?= this->translate('translate me!');?>
Но это больше работы и снова добавляет слой логики поверх и без того довольно надежного и строгого Zend_Registry + ZendTranslate.