public function translate($message, $count = NULL, $parameters = [], $domain = NULL, $locale = NULL)
{
if ($message instanceof Phrase) {
return $message->translate($this);
}
if (is_array($count)) {
$locale = $domain ?: NULL;
$domain = $parameters ?: NULL;
$parameters = $count;
$count = NULL;
}
if (empty($message)) {
return $message;
} elseif ($message instanceof Nette\Utils\Html) {
if ($this->panel) {
$this->panel->markUntranslated($message, $domain);
}
return $message;
// todo: what now?
}
$tmp = [];
foreach ($parameters as $key => $val) {
$tmp['%' . trim($key, '%') . '%'] = $val;
}
$parameters = $tmp;
if ($count !== NULL && is_scalar($count)) {
return $this->transChoice($message, $count, $parameters + ['%count%' => $count], $domain, $locale);
}
return $this->trans($message, $parameters, $domain, $locale);
}