当我做普通的PHP时,我只是这样做:
printf(_("Hello %s !"), $name);
现在使用Twig,我必须使用trans标签.所以我复制/粘贴documentation example,这是我的完整模板:
{% extends 'MyAppBundle::layout.html.twig' %}
{% block content %}
<h1>
{% trans %}
Hello {{ name }}!
{% endtrans %}
</h1>
{% endblock %}
为什么Symfony会返回以下例外?
A message must be a simple text in “MyAppBundle::home.html.twig”
500 Internal Server Error – Twig_Error_Syntax
解决方法:
在Symfony2中,翻译的精确语法与独立的Twig中的语法略有不同.您需要查看Symfony2文档以获取twig模板中的翻译,找到here.正确的语法如下所示:
{% trans %}Hello %name%!{% endtrans %}