8

第一个输出未翻译的字符串:

{{ chart.name~'.short'|trans({}, "charts") }}

chart.name~'.short'这个有效(与应该输出的文本相同):

{{ 'charts.region.area.short'|trans({}, "charts") }}

我错过了什么吗?在 Twig 中翻译动态文本似乎是不可能的?

编辑:工作设置变量(为什么?):

{% set name = chart.name ~ '.short' %}
{{ name|trans({}, "charts") }}
4

2 回答 2

29

Symfony/Twig 正在尝试将.short其与chart.name. 使用括号获得预期的输出:

{{ (chart.name~'.short')|trans({}, "charts") }}
于 2011-10-11T20:35:01.207 回答
0

当在 twig 中使用多语言和 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 %} 不再工作

3-在我得到的文件 messeges.es.yml

你好:哈拉

这是为了翻译

{% trans %} 你好 {% endtrans %}

, 或者你可以为任何你喜欢的人更改 hello 单词并在 messeges.es.yml 文件中更改它,例如: 1:如果语言环境设置为西班牙语,Hola 将带来 Hola,否则将带来 1

于 2013-05-17T17:09:39.430 回答