当我做普通的PHP时,我只是这样做:
printf(_("Hello %s !"), $name);
Run Code Online (Sandbox Code Playgroud)
现在使用Twig,我必须使用trans标签.所以我复制/粘贴文档示例,这是我的完整模板:
{% extends 'MyAppBundle::layout.html.twig' %}
{% block content %}
<h1>
{% trans %}
Hello {{ name }}!
{% endtrans %}
</h1>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
为什么Symfony会返回以下例外?
消息必须是"MyAppBundle :: home.html.twig"中的简单文本
500内部服务器错误 - Twig_Error_Syntax
rov*_*olf 21
前一个答案的一个缺失位是替换消息的可变部分所需的"with"部分.
{% trans with {'%name%':name} %}Hello %name%!{% endtrans %}
Run Code Online (Sandbox Code Playgroud)
Pro*_*tic 11
在Symfony2中,翻译的精确语法与独立的Twig中的语法略有不同.您需要查看Symfony2文档,了解twig模板中的翻译,可在此处找到.正确的语法看起来像这样:
{% trans %}Hello %name%!{% endtrans %}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7555 次 |
| 最近记录: |