模板中的Symfony2转换不适用

时间:2013-04-03 08:42:11

标签: symfony translation

我的枝条模板中有这个:

{% trans %}lala{% endtrans %}
{{ 'Presentation'|trans|raw }}
and lots of not translatable twig html in between.

它应用翻译的唯一方法是在控制器操作中我调用翻译器:

$t = $this->get('translator')->trans('lala');

如果我对上面的行进行评论,则不会进行翻译。我怎么强迫呢? (好吧,我做错了什么?)

有关详细信息,请参阅我的config.yml文件:

framework:
    translator:      { fallback: %locale% }
    default_locale:  "%locale%"

我通过路由获取了locale变量:

my_bundle_name:
    resource: "@MyBundle/Resources/config/routing.yml"
    prefix:   /{_locale}/add
    requirements:
        _locale: en|ja

编辑: 这些文件的位置与普通的symfony项目类似。 我的树枝模板位于:

src/COMP/myBundle/Resources/views/entity1/new.twig.html

唯一的区别可能是它扩展了位于

中的基本模板
src/COMP/myBundle/Resources/views/base.html.twig

翻译也位于Resources文件夹中:

src/COMP/myBundle/Resources/translations/messages.en.xlf
src/COMP/myBundle/Resources/translations/messages.ja.xlf
src/COMP/myBundle/Resources/translations/validators.ja.xlf

控制器也位于默认位置:

src/COMP/myBundle/Controller/myentitycontroller.php

我一直在继续开发这个技巧,明确地打电话给翻译,现在它突然工作,即使没有解决方法。我无法像以前那样重复同样的事情。

我仍然很好奇为什么会发生这种情况,但也许我应该删除这个问题......

我的第一个猜测是我试图翻译一个“偏”的模板。我的意思是,从base.html.twig我调用了一个控制器的动作:

{{ render(controller('COMPMyBundle:Default:Welcome', {'aprequest': app.request})) }}

但我无法重复同样的事情。 (之前,当发生在我身上的时候,现在,当我试图获得相同的beheaviour时,我清理了几次缓存,所以它不应该那样)。

0 个答案:

没有答案