diff --git a/lib/Twig/Extensions/Node/Trans.php b/lib/Twig/Extensions/Node/Trans.php index 30f7e239..18087e77 100644 --- a/lib/Twig/Extensions/Node/Trans.php +++ b/lib/Twig/Extensions/Node/Trans.php @@ -104,19 +104,25 @@ protected function compileString(Twig_NodeInterface $body) return array($body, array()); } - $msg = ''; $vars = array(); - foreach ($body as $node) { - if ($node instanceof Twig_Node_Print) { - $n = $node->getNode('expr'); - while ($n instanceof Twig_Node_Expression_Filter) { - $n = $n->getNode('node'); + + if (count($body)) { + $msg = ''; + + foreach ($body as $node) { + if ($node instanceof Twig_Node_Print) { + $n = $node->getNode('expr'); + while ($n instanceof Twig_Node_Expression_Filter) { + $n = $n->getNode('node'); + } + $msg .= sprintf('%%%s%%', $n->getAttribute('name')); + $vars[] = new Twig_Node_Expression_Name($n->getAttribute('name'), $n->getLine()); + } else { + $msg .= $node->getAttribute('data'); } - $msg .= sprintf('%%%s%%', $n->getAttribute('name')); - $vars[] = new Twig_Node_Expression_Name($n->getAttribute('name'), $n->getLine()); - } else { - $msg .= $node->getAttribute('data'); } + } else { + $msg = $body->getAttribute('data'); } return array(new Twig_Node(array(new Twig_Node_Expression_Constant(trim($msg), $body->getLine()))), $vars);