set($title); } elseif ($setType == Zend_View_Helper_Placeholder_Container_Abstract::PREPEND) { $this->prepend($title); } else { $this->append($title); } } return $this; } /** * Sets a translation Adapter for translation * * @param Zend_Translate|Zend_Translate_Adapter $translate * @return Zend_View_Helper_HeadTitle */ public function setTranslator($translate) { if ($translate instanceof Zend_Translate_Adapter) { $this->_translator = $translate; } elseif ($translate instanceof Zend_Translate) { $this->_translator = $translate->getAdapter(); } else { require_once 'Zend/View/Exception.php'; throw new Zend_View_Exception("You must set an instance of Zend_Translate or Zend_Translate_Adapter"); } return $this; } /* * Retrieve translation object * * If none is currently registered, attempts to pull it from the registry * using the key 'Zend_Translate'. * * @return Zend_Translate_Adapter|null */ public function getTranslator() { if (null === $this->_translator) { require_once 'Zend/Registry.php'; if (Zend_Registry::isRegistered('Zend_Translate')) { $this->setTranslator(Zend_Registry::get('Zend_Translate')); } } return $this->_translator; } /** * Enables translation * * @return Zend_View_Helper_HeadTitle */ public function enableTranslation() { $this->_translate = true; return $this; } /** * Disables translation * * @return Zend_View_Helper_HeadTitle */ public function disableTranslation() { $this->_translate = false; return $this; } /** * Turn helper into string * * @param string|null $indent * @param string|null $locale * @return string */ public function toString($indent = null, $locale = null) { $indent = (null !== $indent) ? $this->getWhitespace($indent) : $this->getIndent(); $items = array(); if($this->_translate && $translator = $this->getTranslator()) { foreach ($this as $item) { $items[] = $translator->translate($item, $locale); } } else { foreach ($this as $item) { $items[] = $item; } } $separator = $this->getSeparator(); $output = ''; if(($prefix = $this->getPrefix())) { $output .= $prefix; } $output .= implode($separator, $items); if(($postfix = $this->getPostfix())) { $output .= $postfix; } $output = ($this->_autoEscape) ? $this->_escape($output) : $output; return $indent . '' . $output . ''; } }