我在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')
当我第一次清除缓存和刷新页面时,翻译会加载,但是当我转到其他页面时它会停止运行。
答案 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'));