/** * @param Latte\Template|Latte\Runtime\Template|\Nette\Bridges\ApplicationLatte\Template|\Nette\Templating\Template $template * @param ITranslator $translator */ private static function overrideTemplateTranslator($template, ITranslator $translator) { if ($template instanceof Latte\Runtime\Template || $template instanceof Latte\Template) { $template->getEngine()->addFilter('translate', [new TemplateHelpers($translator), 'translate']); } elseif ($template instanceof \Nette\Bridges\ApplicationLatte\Template) { $template->getLatte()->addFilter('translate', [new TemplateHelpers($translator), 'translate']); } elseif ($template instanceof \Nette\Templating\Template) { $template->registerHelper('translate', [new TemplateHelpers($translator), 'translate']); } return $translator; }