我想在我的symfony 2.1網站上有一個語言切換器。在Symfony 2.1中設置語言環境
我跟着official documentation,設置翻譯文件,但設置語言環境$ request-> setLocale('en_US');似乎沒有工作。經過一番調查,我找到this question,它提供了這個listener technique的答案的開始。
但是,我仍然沒有設法讓它工作,我不太確定我的聽衆聲明,是不是有問題?
我的控制器:
public function englishAction(Request $request)
{
$this->get('session')->set('_locale', 'en_US');
return $this->redirect($request->headers->get('referer'));
}
服務聲明在config.yml:
services:
my_listener:
class: "FK\MyWebsiteBundle\Listener\LocaleListener"
我的路由:
homepage:
pattern: /{_locale}
defaults: { _controller: FKMyWebsiteBundle:Default:index, _locale: en }
requirements:
_locale: en|fr|cn
about:
pattern: /{_locale}/about
defaults: { _controller: FKMyWebsiteBundle:Default:about, _locale: en }
requirements:
_locale: en|fr|cn
什麼是您的需要?用例的一個例子?也許你不需要這個聽衆 – webda2l
@ webda2l我只想讓訪問者選擇網站的語言。你的答案中的代碼是行不通的,但我想我必須改變我的路線,我會再努力一些.. –
我是否正確設置了監聽器?我的LocaleListener會被這樣調用嗎? –