public function render($writer)
{
$htmlWriter = Prado::createComponent($this->GetResponse()->getHtmlWriterType(), new TTextWriter());
$subs = array();
foreach ($this->getParameters() as $key => $value) {
$subs['{' . $key . '}'] = $value;
}
foreach ($this->getControls() as $control) {
if ($control instanceof TTranslateParameter) {
$subs['{' . $control->getKey() . '}'] = $control->getParameter();
} elseif ($control instanceof TControl) {
$control->render($htmlWriter);
} elseif (is_string($control)) {
$htmlWriter->write($control);
}
}
$text = $this->getText();
if (strlen($text) == 0) {
$text = $htmlWriter->flush();
}
if ($this->getTrim()) {
$text = trim($text);
}
$writer->write($this->translateText($text, $subs));
}