php – Symfony2 Twig,翻译中的变量返回“消息必须是简单的文本”

当我做普通的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 %}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...