public function macroDomain(MacroNode $node, PhpWriter $writer) { if ($node->isEmpty) { throw new Latte\CompileException("Expected message prefix, none given"); } $node->isEmpty = $node->isEmpty || substr($node->args, -1) === '/'; if (method_exists('Latte\\Engine', 'addProvider')) { // Nette 2.4 return $writer->write('$_translator = \\Kdyby\\Translation\\PrefixedTranslator::register($template, %node.word);'); } else { return $writer->write('$_translator = \\Kdyby\\Translation\\PrefixedTranslator::register23($template, %node.word);'); } }