Symfony2 + Twig, переменная в переводе return "Сообщение должно быть простым текстом" - PullRequest
9 голосов
/ 18 октября 2011

Когда я делал простой PHP, я просто делал это:

printf(_("Hello %s !"), $name);

Теперь с Twig я должен использовать тег trans. Итак, я скопировал / вставил пример документации , и вот мой полный шаблон:

{% extends 'MyAppBundle::layout.html.twig' %}

{% block content %}
    <h1>
        {% trans %}
            Hello {{ name }}!
        {% endtrans %}
    </h1>
{% endblock %}

Почему Symfony возвращает следующее исключение?

Сообщение должно быть простым текстом в «MyAppBundle :: home.html.twig»

500 Внутренняя ошибка сервера - Twig_Error_Syntax

Ответы [ 2 ]

21 голосов
/ 21 октября 2011

Один пропущенный бит с предыдущим ответом - это часть «с», необходимая для замены переменной части сообщения.

{% trans with {'%name%':name} %}Hello %name%!{% endtrans %}
11 голосов
/ 18 октября 2011

Точный синтаксис для переводов в Symfony2 немного отличается от синтаксиса Twig.Вы можете проверить документацию Symfony2 для переводов в шаблонах веток, найденных здесь .Правильный синтаксис будет выглядеть примерно так:

{% trans %}Hello %name%!{% endtrans %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...