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 に答える