Laravel - 路由和语言代码

时间:2014-10-23 08:18:23

标签: laravel-4

我需要在我的网址中添加语言代码,但不是默认语言代码。

以下是routes.php

Laravel 4.2文件中的代码

我需要根结构,如:

默认语言=> http://website.com/RegistrationStep1
其他语言=> http://website.com/language/RegistrationStep1

Route::group(['prefix' => '{lang?}', 'before' => 'localization'], function()
{

    Route::get('/', function() {
        return View::make('hello');
    });

    Route::get('registration/step1', 'RegistrationController@getRegistrationStep1');

    Route::post('registration/step1', 'RegistrationController@postRegistrationStep1');
});

我在url中没有语言参数的情况下调用url时收到错误

1 个答案:

答案 0 :(得分:4)

首先,定义您的可用语言:

# in app/config/app.php
'available_locales' => array('de', 'en', 'es', 'fr', 'it'),

routes.php检查当前URI的第一段是否是有效的语言快捷方式,然后在路由组中注册前缀。

$locale = Request::segment(1);

if (in_array($locale, Config::get('app.available_locales'))) {
    \App::setLocale($locale);
} else {
    $locale = null;
}

Route::group(array('prefix' => $locale), function()
{

    //your routes here

});

请参阅链接http://learninglaravel.net/language-switching-in-laravel-4/link

您也可以将此套餐用于您的任务:mcamara/laravel-localization