相关疑难解决方法(0)

改变语言环境symfony 2.3

我刚开始使用symfony我正在尝试构建一个multilang网站,但是我有一个问题需要更改语言环境

我阅读了一些帖子,我阅读了有关此内容的文档但是语言环境没有改变,我尝试:

public function indexAction()
{    
    $this->get('session')->set('_locale', 'fr');

    $request = $this->getRequest();
    $locale = $request->getLocale();
    return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
Run Code Online (Sandbox Code Playgroud)

但是$ locale中的值总是'en'(我的默认语言环境)

我也试试

public function indexAction()
{    
    $this->get('session')->set('_locale', 'fr');

    $request = $this->getRequest();
    $request->setLocale('fr');
    $locale = $request->getLocale();

    return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,$ locale是fr,但翻译始终来自messages.en.yml

我想第一次使用$ _SERVER ['HTTP_ACCEPT_LANGUAGE']检测用户区域设置,也许在每个页面实现时使用一个列表器?

然后我将创建一个路由来更改区域设置

但我想找到一种方法来改变语言环境.

谢谢你的帮助

php locale symfony

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

locale ×1

php ×1

symfony ×1