我正在使用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有什么问题?需要任何额外的配置吗?
答案 0 :(得分:11)
尝试启用symfony转换组件。默认情况下,它被注释掉:
# app/config/config.yml
framework:
translator: { fallback: en }
http://symfony.com/doc/current/book/translation.html#configuration
答案 1 :(得分:2)
我有类似的问题,通过设置default_locale来解决它。
答案 2 :(得分:0)
我不确定,但也许这会有所帮助:
config.yml
下services
下的:
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'
));
}
}