php - Symfony2+Twig,翻译中的变量返回 "A message must be a simple text"

标签 php symfony 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

最佳答案

上一个答案缺少的一点是替换消息的可变部分所需的“with”部分。

{% trans with {'%name%':name} %}Hello %name%!{% endtrans %}

关于php - Symfony2+Twig,翻译中的变量返回 "A message must be a simple text",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811162/

相关文章:

php - 如何在后台执行多个 bash 命令

php - 如何检查特殊字符php

php - Symfony 表单 - 国家/地区选择区域设置不是 symfony 的默认设置

twig - 对于像 {% block body -%} 这样的 Twig block ,连字符(破折号)意味着什么?

symfony - symfony2.3中 'url'和 'path'有什么区别

php - 如何在 Twig 中渲染 CSRF 输入?

javascript - 如何将选定的下拉项保存到数据库表

php - 如何正确配置 xdebug.file_link_format?

Symfony2 : access same route in production as development

php - 如何构建账户余额系统