翻译不起作用

时间:2012-12-13 17:47:45

标签: symfony yaml

我在config.yml中有以下代码:

framework:
#esi:             ~
translator:     { fallback: pt_BR }
secret:          %secret%
charset:         UTF-8
router:          { resource: "%kernel.root_dir%/config/routing.yml" }
form:            true
csrf_protection: true
validation:      { enable_annotations: true }
templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
session: 
    default_locale: pt_BR
    auto_start: true

MyBundle/Resources/translations我的档案中是:MyBundle.pt_BR.yml

文件中翻译的一个例子是:

form_my_height: "Altura"

在我的表格中:

$builder->add('height')

当我第一次清除缓存和刷新页面时,翻译会加载,但是当我转到其他页面时它会停止运行。

3 个答案:

答案 0 :(得分:1)

或者您可以让模板翻译您的标签

PHP:

$builder->add('height', 'text', array('label' => 'form_my_height');

树枝:

{{ form_label(form.height)|trans }}
{{ form_widget(form.height) }}
{{ form_errors(form.height) }}

答案 1 :(得分:0)

我相信你必须去:

$builder->add($this->get('translator')->trans('form_my_height'))

如果您在控制器中,如果不是,则需要传递翻译服务参考,并且:

$builder->add($translator->trans('form_my_height'))

答案 2 :(得分:0)

也许试试:

$builder->add('height', 'text', array('label' => 'form_my_height', 'translation_domain' => 'MyBundle'));