public function after(PHPTAL_Php_CodeWriter $codewriter) { // restore source $code = $codewriter->getTranslatorReference() . '->setSource(array_pop($_i18n_sources))'; $codewriter->pushCode($code); }
/** * @param key - unescaped string (not PHP code) for the key */ private function _getTranslationCode(PHPTAL_Php_CodeWriter $codewriter, $key) { $code = ''; if (preg_match_all('/\\$\\{(.*?)\\}/', $key, $m)) { array_shift($m); $m = array_shift($m); foreach ($m as $name) { $code .= "\n" . $codewriter->getTranslatorReference() . '->setVar(' . $codewriter->str($name) . ',' . PHPTAL_Php_TalesInternal::compileToPHPExpression($name) . ');'; // allow more complex TAL expressions } $code .= "\n"; } // notice the false boolean which indicate that the html is escaped // elsewhere looks like an hack doesn't it ? :) $code .= 'echo ' . $codewriter->escapeCode($codewriter->getTranslatorReference() . '->translate(' . $codewriter->str($key) . ', false)'); return $code; }
public function after(PHPTAL_Php_CodeWriter $codewriter) { $codewriter->pushCode($codewriter->getTranslatorReference() . '->setVar(' . $codewriter->str($this->expression) . ', ob_get_clean())'); }
public function after(PHPTAL_Php_CodeWriter $codewriter) { // restore domain $code = $codewriter->getTranslatorReference() . '->useDomain(array_pop($_i18n_domains))'; $codewriter->pushCode($code); }