2012-01-20 4 views
1

私は特別な_localeパラメータを使用してルーティングを定義しました。ルータによってルートが照合されると、ユーザーセッションでロケールが正しく設定され、プロファイラで使用されている正しいロケールがわかります。セッションロケールの代わりにコンテナロケールパラメータを使用するトランスレータ

$this->get('session')->getLocale(); // Return the correct locale 

問題は国際化翻訳者がいつも私のparameters.ymlファイルで定義されたデフォルトのロケールを使用しての代わりに、セッションに設定されたロケールを使用していることです。

何かが欠けていますか?セッションロケールをトランスレータに手動で渡す必要がありますか?

私はSymfony 2.0.9を使用しています。

答えて

0

このリンクによると:Translations configuration「翻訳で使用されるロケールはユーザーセッションに格納されているロケールです。」それがあなたには当てはまらない場合は、あなたの設定で何かを変更したと思いますか?

ちなみに、ロケールは要求ではなく、2.1以降でセッションに保存されます。https://github.com/symfony/symfony/commit/74bc699b270122b70b1de6ece47c726f5df8bd41

関連する問題