我想在我的 symfony 2.1 网站上安装一个语言切换器。
我按照官方文档,设置翻译文件,但使用 $request->setLocale('en_US'); 设置语言环境 似乎不起作用。经过一些研究,我发现了这个问题,它提供了这个监听器技术的答案的开始。
但是,我仍然无法让它工作,我不太确定我的听众声明,有什么问题吗?
我的控制器:
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