相关疑难解决方法(0)

在Symfony 2.1中设置语言环境

我想在我的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'));
}
Run Code Online (Sandbox Code Playgroud)

config.yml中的服务声明:

services:
    my_listener:
        class:        "FK\MyWebsiteBundle\Listener\LocaleListener"
Run Code Online (Sandbox Code Playgroud)

我的路由:

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
Run Code Online (Sandbox Code Playgroud)

php locale symfony symfony-2.1

6
推荐指数
1
解决办法
7756
查看次数

Symfony2:在切换区域设置期间向后Uri(推荐人)

我想实现区域设置切换器,但似乎没有运气...

下面的代码不起作用,因为(Referrer)包含旧的locale值...

如何使用新的locale值重定向到旧的Referrer URI?

- routing.yml

hello:
  pattern:  /{_locale}/hello/{name}
  defaults: { _controller: JetInformBundle:Default:index, name: 'alexander' }
  requirements:
    _locale: ^en|de|ru|uk$

about:
  pattern:  /{_locale}/about
  defaults: { _controller: JetInformBundle:Default:about }
  requirements:
    _locale: ^en|de|ru|uk$

locale:
  pattern:  /locale/{locale}
  defaults: { _controller: JetInformBundle:Locale:index }
Run Code Online (Sandbox Code Playgroud)

- DefaultController.php

<?php

namespace Jet\InformBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;

class DefaultController extends Controller
{
    public function indexAction($name, Request $request)
    {
        $request->getSession()->set('referrer', $request->getRequestUri());
        return $this->render('JetInformBundle:Default:index.html.twig',
                             array('name' => $name));
    }

    public function aboutAction(Request $request)
    {
        $request->getSession()->set('referrer', $request->getRequestUri());
        return $this->render('JetInformBundle:Default:about.html.twig'));
    } …
Run Code Online (Sandbox Code Playgroud)

php localization referrer symfony

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

标签 统计

php ×2

symfony ×2

locale ×1

localization ×1

referrer ×1

symfony-2.1 ×1