Laravel URL语言前缀

时间:2014-11-09 17:22:11

标签: php laravel laravel-4 laravel-routing

我正在尝试为我的网站设置两种语言。我已阅读(http://forumsarchive.laravel.io/viewtopic.php?id=7458http://laravel.io/forum/02-20-2014-how-to-make-switching-language-button)并且我似乎无法获得其前缀部分。

设置或选择的默认语言:

/news

如果选择中文:

/zh/news

我的filters.php:

App::before(function($request) {
    // default browser language
    $language = substr($request->server->get('HTTP_ACCEPT_LANGUAGE'), 0, 2);

    // language set from route
    if (null !== $request->segment(1)) {
        $routeLanguage = $request->segment(1);
        if (in_array($routeLanguage, Config::get('app.languages'))) {
            $language = $routeLanguage;
        }
    }
    //return $language;
    // set the language
    Config::set('app.locale', $language);
    App::setLocale($language);
});

语言选择器:

class LanguageController extends BaseController {

    public function select($lang) {
        Session::put('lang', $lang);

        return Redirect::route('home');
    }

}

我的routes.php:

Route::get('/', array('uses' => 'HomeController@home', 'as' => 'home'));

Route::get('language/{lang}', array(
    'as' => 'language.select',
    'uses' => 'LanguageController@select'
        )
);

我的两个语言链接正确设置了变量,但我不知道如何按照我想要的方式完成它(我希望URL中的语言slug出于SEO原因)。

我怎样才能做到这一点?

0 个答案:

没有答案