public function translate(TextContainer $c)
{
if ($c instanceof TranslationContainer) {
$baseText = $this->internalGet($c->getText());
$baseText = $this->parseTranslation($baseText !== null ? $baseText : $c->getText());
foreach ($c->getParameters() as $i => $p) {
$baseText = str_replace("{%{$i}}", $this->parseTranslation($p), $baseText);
}
} else {
$baseText = $this->parseTranslation($c->getText());
}
return $baseText;
}