FOSUserBundle不会使用trans_default_domain进行翻译

时间:2013-05-22 02:55:21

标签: symfony fosuserbundle symfony-2.3

我正在使用Symfony 2.3 RC1设置FOSUserBundle dev-master,但转换效果不佳。默认情况下,模板

中包含trans_default_domain

在登录模板中。它不适用于trans_default_domain

{% trans_default_domain "FOSUserBundle" %}
<label class="control-label" for="username">{{ 'security.login.username'|trans }}</label>

但是使用trans({},'FOSUserBundle')它可以工作

<label class="control-label" for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>

trans_default_domain有什么问题?需要任何额外的配置吗?

4 个答案:

答案 0 :(得分:11)

尝试启用symfony转换组件。默认情况下,它被注释掉:

# app/config/config.yml
framework:
    translator: { fallback: en }

http://symfony.com/doc/current/book/translation.html#configuration

答案 1 :(得分:2)

答案 2 :(得分:0)

我不确定,但也许这会有所帮助:

config.ymlservices下的

services:
    twig.extension.intl: 
        class: Twig_Extensions_Extension_Intl 
        tags: 
                - { name: twig.extension }

答案 3 :(得分:0)

我对trans_default_domain没有太多运气。相反,我直接通过表单选项传递translation_domain值:

class MyLoginType extends AbstractType
{
    ...

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'translation_domain'  => 'FOSUserBundle'
        ));
    }
}