如何使用 Symfony2 翻译器翻译树枝模板中的连接字符串 [英] How to translate concatenated string in twig template using Symfony2 translator

查看:26
本文介绍了如何使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆