我必须在request.locale
我向你解释:
我有一个名为Lexicon
的实体,其中包含多个字段:
wordFr
,wordEn
,definitionFr
,definitionEn
我尝试做类似的事情,根据Fr
替换En
或request.locale
,但它不起作用:
{% set locale = '' %}
{% if app.request.locale == "fr" %}
{% set locale = 'Fr' %}
{% else %}
{% set locale = 'En' %}
{% endif %}
{% for wordList in wordsList %}
<tr>
<td>{{ wordList.word~locale }}</td>
<td>{{ wordList.definition~locale }}</td>
</tr>
{% endfor %}
如何根据区域设置{{ wordList.wordFr }}
或{{ wordList.wordEn }}
(locale
或Fr
替换var En
?谢谢!
与此同时,我做到了这一点,但它太长而且重复......
{% if app.request.locale == "fr" %}
{% for listeMots in listeMotsLexique %}
<tr>
<td>{{ wordList.wordFr }}</td>
<td>{{ wordList.definitionFr }}</td>
</tr>
{% endfor %}
{% else %}
{% for listeMots in listeMotsLexique %}
<tr>
<td>{{ wordList.wordEn }}</td>
<td>{{ wordList.definitionEn }}</td>
</tr>
{% endfor %}
{% endif %}
答案 0 :(得分:5)
您想要的是使用记录为here的Twig attribute
函数。
它允许您使用动态变量名称。 你必须做那样的事情:
{{ attribute(wordList, 'mot'~locale) }}
你基本上说你想要'mot'~locale
对象中的wordList