エンティティ内の特性を使用する\Knp\DoctrineBehaviors\Model\Translatable\Translation
と、プロパティ currentLocale が設定されていないことがわかります。そのため、へのすべての呼び出しで常にデフォルトのロケール (「en」) を取得します$this->translate()
。
これを変更するgetDefaultLocale
と、すべての翻訳が正しく行われるので、フォールバックに問題はないと思います。
currentLocaleCallableをデバッグしてみました。「var_dump ($this->container->get('request'));」currentLocaleCallable のコンストラクターでは、リクエストのロケールが null になっています。そして、リクエストの外側には正しいロケールがあります。コンテナがスコープ内にないようです: request 、どうすれば動作させることができるかわかりません
問題を github に投稿します https://github.com/KnpLabs/DoctrineBehaviors/issues/71
編集済み
このサービスは vendor/knplabs/doctrine-behaviors/config/orm-services.yml で定義されており、次のとおりです。
knp.doctrine_behaviors.reflection.class_analyzer:
class: "%knp.doctrine_behaviors.reflection.class_analyzer.class%"
public: false
knp.doctrine_behaviors.translatable_listener:
class: "%knp.doctrine_behaviors.translatable_listener.class%"
public: false
arguments:
- "@knp.doctrine_behaviors.reflection.class_analyzer"
- "%knp.doctrine_behaviors.reflection.is_recursive%"
- "@knp.doctrine_behaviors.translatable_listener.current_locale_callable"
tags:
- { name: doctrine.event_subscriber }
knp.doctrine_behaviors.translatable_listener.current_locale_callable:
class: "%knp.doctrine_behaviors.translatable_listener.current_locale_callable.class%"
arguments:
- "@service_container" # lazy request resolution
public: false
編集 2: 私の composer.json
"php": ">=5.3.3",
"symfony/symfony": "2.3.*",
"doctrine/orm": ">=2.2.3,<2.4-dev",
"doctrine/doctrine-bundle": "1.2.*",
"twig/extensions": "1.0.*",
"symfony/assetic-bundle": "2.3.*",
"symfony/swiftmailer-bundle": "2.3.*",
"symfony/monolog-bundle": "2.3.*",
"sensio/distribution-bundle": "2.3.*",
"sensio/framework-extra-bundle": "2.3.*",
"sensio/generator-bundle": "2.3.*",
"incenteev/composer-parameter-handler": "~2.0",
"friendsofsymfony/user-bundle": "1.3.*",
"avalanche123/imagine-bundle": "v2.1",
"raulfraile/ladybug-bundle": "~1.0",
"genemu/form-bundle": "2.2.*",
"friendsofsymfony/rest-bundle": "0.12.0",
"stof/doctrine-extensions-bundle": "dev-master",
"sonata-project/admin-bundle": "dev-master",
"a2lix/translation-form-bundle": "1.*@dev",
"sonata-project/user-bundle": "dev-master",
"psliwa/pdf-bundle": "dev-master",
"jms/serializer-bundle": "dev-master",
"jms/di-extra-bundle": "dev-master",
"knplabs/doctrine-behaviors": "dev-master",
"sonata-project/doctrine-orm-admin-bundle": "dev-master",
"knplabs/knp-paginator-bundle": "dev-master",
"friendsofsymfony/jsrouting-bundle": "~1.1",
"zendframework/zend-validator": ">=2.0.0-rc2",
"zendframework/zend-barcode": ">=2.0.0-rc2"