在一个twig {%raw%}块内翻译过滤器

时间:2016-11-13 10:49:40

标签: php symfony internationalization twig twig-filter

我有一个html模板,其中包含我在页面中包含的一些handlebarsjs代码,用于呈现一些产品弹出窗口。问题是这些模板有点复杂,我也需要在它们上翻译标签,有没有办法通知树枝解析器的异常?那么,即使代码在raw块内,它仍会被渲染? 显然,如果我使用翻译标签,它就不起作用{{ 'translations.project.template.price'|trans }}

例如: 的 index.html.twig:

{{ include('WebBundle:Frontend:partials/templates/product-template.html.twig') }}

product-template.html.twig:

{% trans_default_domain "home" %}
{% raw %}
  {{#if isLovePromo}}
    <div class="product-infotag promo">
      Promozione <!-- HERE is the text i'd like to translate -->
    </div>
  {{/if}}
{% endraw %}

目前我正在通过将翻译传递给由把手呈现的对象来解决它,所以我有这样的事情:

index.html.twig:

data.translations = {
  promo: "{{ 'translations.project.template.promotion'|trans }}"
}

template.render(数据); 的 product-template.html.twig:

...
<div class="product-infotag promo">
  {{ promo }} 
</div>
...

这种方法有效,但它显然有点过分,我有模板,我必须传递超过12个字符串,这对我来说效率不高。

有没有办法直接在树枝上解决这个问题?

0 个答案:

没有答案