我有一个网络,我想添加本地化。
目前我的routes.php看起来像
Route::controller('browse');
Route::controller('search');
Route::controller('support');
Route::controller('filter');
所以网址是url / browse(等等)
我正在尝试制作网址,例如/ url / en / browse,/ url / cs / browse,/ url / de / browse(等等所有控制器)
如果路线前没有语言,它将添加和重定向(向后兼容/浏览)
我尝试使用过滤器制作或找到一些简单的解决方案,不成功。 谢谢你的帮助!
答案 0 :(得分:2)
尝试在config中使用默认应用程序语言和支持的语言数组。
如果您使用支持的语言添加语言,那么从该段开始的任何路径都将设置当前语言,并将其视为根网址。
与您的要求有一点不同之处在于,如果没有网址中的语言,则会接受默认语言,而不是重定向。
修改:可以帮助您重定向的过滤器。
Route::filter('pattern: *', array('name' => 'langredirect', function()
{
$uri = Request::server('request_uri');
$segments = explode('/', $uri);
if ( ! array_get(Config::get('application.languages'), $segments[1]) )
{
return Redirect::to(URL::base() . '/' . Config::get('application.language') . $uri);
}
}));