4

twig テンプレートの一部を翻訳したいのですが、自分のテンプレートにはありません。trans_default_domain

例えば:

{% trans_default_domain 'FOSUserBundle' %}
{{ 'test.trans'|trans({}, 'ProjectMainBundle') }}

だからtest.transProjectMainBundle で翻訳されていますがtest.trans、私はいつも私のテキストに持っています。

編集:

test.transにあるsrc/Project/MainBundle/Resources/translations/messages.en

どこでも機能しますが、トランスを取得しようとすると機能しませんtrans_default_domain

4

1 に答える 1

7

という名前のファイルに翻訳を保存しています。これは、翻訳の命名規則messages.en.ymlに従って、これらの翻訳にはドメインがあり、ドメインがないことを意味します。messagesProjectMainBundle

したがって、ドメインを使用しようとしている場合、翻訳者は翻訳を見つけられずProjectMainBundle、文字列自体を返します。

各メッセージ ファイルは、次のパスに従って名前を付ける必要があります: domain.locale.loader

翻訳は@AcmeYourBundle/Resources/translations/<domain>.<locale>.yml(または php、xliff、...) に保存する必要があります。

名前を変更したら、忘れずにキャッシュをクリアしてください。

于 2013-10-09T21:18:39.330 に答える