/**
* Translates the text with subsititution.
* @param string text for translation
* @param array list of substitutions
* @return string translated text
*/
protected function translateText($text, $subs)
{
$app = $this->getApplication()->getGlobalization();
//no translation handler provided
if (($config = $app->getTranslationConfiguration()) === null) {
return strtr($text, $subs);
}
$catalogue = $this->getCatalogue();
if (empty($catalogue) && isset($config['catalogue'])) {
$catalogue = $config['catalogue'];
}
if (empty($catalogue)) {
$catalogue = 'messages';
}
Translation::init($catalogue);
$key = $this->getKey();
if (!empty($key)) {
$text = $key;
}
//translate it
return Translation::formatter($catalogue)->format($text, $subs, $catalogue, $this->getCharset());
}