如何使用 Symfony2 翻译器翻译树枝模板中的连接字符串 [英] How to translate concatenated string in twig template using Symfony2 translator
本文介绍了如何使用 Symfony2 翻译器翻译树枝模板中的连接字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像这样的翻译 yml 文件:
I have a translation yml file like this:
tag:
myfirsttag: Tag number one
secondtag: Tag number two
....
和像
<select name="tag" required="required">
{% for tag in tag_list %}
<option value="{{ tag }}">{{ "tag." ~ tag | trans(domain='mydomain') }}</option>
{% endfor %}
</select>
所以问题来了.select 中的项目呈现为 "tag.myfirsttag",而不是翻译.如果我替换 标签".~ tag
带有硬编码字符串,如 "tag.myfirsttag"
效果很好.所以很明显它与串联有关,但官方文档对此没有任何说明.
So here is the problem. Items in select are rendered like "tag.myfirsttag", not translated. If I replace "tag." ~ tag
with hardcoded string like "tag.myfirsttag"
it works well. So obviously it is related to concatenation but official docs doesn't say anything about it.
为了更清晰和简单
我会翻译
{{ "hello.world" | trans(domain='mydomain') }}
但不能翻译
{{ "hello." ~ "world" | trans(domain='mydomain') }}
推荐答案
解决方案是将字符串放入括号中,如here:
The solution is to put the string into parentheses as described here:
作品:
{{ 'hello.world' | trans }}
不起作用:
{{ 'hello.' ~ 'world' | trans }}
作品:
{{ ('hello.' ~ 'world') | trans }}
这篇关于如何使用 Symfony2 翻译器翻译树枝模板中的连接字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文