第一个输出字符串未翻译:
{{ chart.name~'.short'|trans({}, "charts") }}
这个有效(与chart.name~'.short'
应输出的文本相同):
{{ 'charts.region.area.short'|trans({}, "charts") }}
我错过了什么吗?在Twig中翻译动态文本似乎是不可能的吗?
编辑:设置变量(为什么?):
{% set name = chart.name ~ '.short' %}
{{ name|trans({}, "charts") }}
答案 0 :(得分:27)
Symfony / Twig正试图翻译.short
并将其与chart.name
的内容连接起来。使用括号来获得预期的输出:
{{ (chart.name~'.short')|trans({}, "charts") }}
答案 1 :(得分:0)
将symfony2多语言用于树枝时,您需要:
设置请求区域设置,这将提供tran twig标记将在其中翻译单词的区域设置。
我所做的是以下内容:
1-控制器部分:
$this->getRequest()->setLocale('es_AR'); //setting the locale to spanish in Argentina
return $this->render('LoginLoginBundle:Default:welcome.html.twig'); //render a twig file
2-枝条文件有
<h2>{% trans %} hello {% endtrans %}</h2>
带有twig标签trans的代码,以这种方式使用它或{{“Text”| trans}}因为{%trans hello%}不再起作用
在文件messeges.es.yml中的3-我得到了
你好:Hola
这是为了翻译