0

我在 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')

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

4

3 回答 3

1

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

php:

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

枝条:

{{ form_label(form.height)|trans }}
{{ form_widget(form.height) }}
{{ form_errors(form.height) }}
于 2012-12-14T09:55:02.550 回答
0

我相信你必须去:

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

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

$builder->add($translator->trans('form_my_height'))
于 2012-12-13T18:34:06.537 回答
0

也许尝试:

$builder->add('height', 'text', array('label' => 'form_my_height', 'translation_domain' => 'MyBundle'));
于 2012-12-13T18:40:26.440 回答