Локализация в ZF
16 марта 2011
Zend_Translate — божественная штука. Особенно круто работает совмещение адаптеров. Есть, например, гигантский gettext-файл (или, предположим набор .mo-файлов) локализации, в который периодически сканируем дату из view, form и тд., и папка с ресурсами (та самая из full package), где по-умолчанию лежит перевод Zend_Validation. Так вот, можно создать два экземпляра Zend_Traslate с разными адаптерами (gettext и array, соотвественно), которые сканируют разные директории, а затем загнать результат из адаптера array в gettext через метод addTranslation!
$t1 = new Zend_Translate('gettext', 'path/to/my.mo', $locale); $t2 = new Zend_Translate('array', '../resources/languages', $locale, array('scan' => Zend_Translate::LOCALE_DIRECTORY)); $t1->addTranslation($t2); Zend_Validate_Abstract::setDefaultTranslator($t1); Zend_Form::setDefaultTranslator($t1);
Панталоны → ? → Профит