diff --git a/src/Symfony/Bridge/Twig/Node/TransNode.php b/src/Symfony/Bridge/Twig/Node/TransNode.php index 0d09918c5b98..a68c101ab0c5 100644 --- a/src/Symfony/Bridge/Twig/Node/TransNode.php +++ b/src/Symfony/Bridge/Twig/Node/TransNode.php @@ -16,7 +16,7 @@ */ class TransNode extends \Twig_Node { - public function __construct(\Twig_NodeInterface $body, \Twig_NodeInterface $domain, \Twig_Node_Expression $count = null, \Twig_Node_Expression $vars = null, \Twig_Node_Expression $locale = null, $lineno = 0, $tag = null) + public function __construct(\Twig_NodeInterface $body, \Twig_NodeInterface $domain = null, \Twig_Node_Expression $count = null, \Twig_Node_Expression $vars = null, \Twig_Node_Expression $locale = null, $lineno = 0, $tag = null) { parent::__construct(array('count' => $count, 'body' => $body, 'domain' => $domain, 'vars' => $vars, 'locale' => $locale), array(), $lineno, $tag); } @@ -66,10 +66,14 @@ public function compile(\Twig_Compiler $compiler) $compiler->subcompile($defaults); } - $compiler - ->raw(', ') - ->subcompile($this->getNode('domain')) - ; + $compiler->raw(', '); + + if (null === $this->getNode('domain')) { + $compiler->repr('messages'); + } else { + $compiler->subcompile($this->getNode('domain')); + } + if (null !== $this->getNode('locale')) { $compiler ->raw(', ') diff --git a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php index 10710fa332f3..2ce1c303bc3c 100644 --- a/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php +++ b/src/Symfony/Bridge/Twig/NodeVisitor/TranslationNodeVisitor.php @@ -73,7 +73,7 @@ public function enterNode(\Twig_NodeInterface $node, \Twig_Environment $env) // extract trans nodes $this->messages[] = array( $node->getNode('body')->getAttribute('data'), - $node->getNode('domain')->getAttribute('value'), + null === $node->getNode('domain') ? 'messages' : $node->getNode('domain')->getAttribute('value'), ); } diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php index d33510788a09..9862efd19289 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransChoiceTokenParser.php @@ -36,7 +36,7 @@ public function parse(\Twig_Token $token) $count = $this->parser->getExpressionParser()->parseExpression(); - $domain = new \Twig_Node_Expression_Constant('messages', $lineno); + $domain = null; $locale = null; if ($stream->test('with')) { diff --git a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php index 254d8c8f85a2..e3a135198e38 100644 --- a/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php +++ b/src/Symfony/Bridge/Twig/TokenParser/TransTokenParser.php @@ -33,7 +33,7 @@ public function parse(\Twig_Token $token) $stream = $this->parser->getStream(); $vars = new \Twig_Node_Expression_Array(array(), $lineno); - $domain = new \Twig_Node_Expression_Constant('messages', $lineno); + $domain = null; $locale = null; if (!$stream->test(\Twig_Token::BLOCK_END_TYPE)) { if ($stream->test('with')) {