Symfony2+Twig、翻訳の変数「メッセージは単純なテキストでなければなりません」
質問
私がプレーンPHPをやっていたとき、私は単にこれをやっていました:
printf(_("Hello %s !"), $name);
Twigでは、トランスタグを使用する必要があります。だから私はコピー/貼り付けをしています ドキュメントの例, 、そしてこれが私の完全なテンプレートです:
{% extends 'MyAppBundle::layout.html.twig' %}
{% block content %}
<h1>
{% trans %}
Hello {{ name }}!
{% endtrans %}
</h1>
{% endblock %}
なぜSymfonyは次の脱出を返すのですか?
メッセージは「myappbundle :: home.html.twig」の単純なテキストでなければなりません
500内部サーバーエラー-TWIG_ERROR_SYNTAX
解決
翻訳の正確な構文は、Symfony2でスタンドアロンの小枝とは少し異なります。 Twigテンプレートの翻訳については、Symfony2ドキュメントをチェックしてください。 ここ. 。正しい構文は次のようになります:
{% trans %}Hello %name%!{% endtrans %}
他のヒント
前の答えに欠けているビットの1つは、メッセージの変数部分を置き換えるために必要な「with with」部分です。
{% trans with {'%name%':name} %}Hello %name%!{% endtrans %}
所属していません StackOverflow