added option for URI languages.
This commit is contained in:
@@ -107,6 +107,46 @@ Routing\Router::register('*', '(:all)', function()
|
||||
return Event::first('404');
|
||||
});
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Gather The URI And Locales
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When routing, we'll need to grab the URI and the supported locales for
|
||||
| the route so we can properly set the language and route the request
|
||||
| to the proper end-point in the application.
|
||||
|
|
||||
*/
|
||||
|
||||
$uri = URI::current();
|
||||
|
||||
$locales = Config::get('application.languages', array());
|
||||
|
||||
$locales[] = Config::get('application.language');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Set The Locale Based On Route
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If the URI starts with one of the supported languages, we will set
|
||||
| the default language to match that URI segment and shorten the
|
||||
| URI we'll pass to the router to not include the lang segment.
|
||||
|
|
||||
*/
|
||||
|
||||
foreach ($locales as $locale)
|
||||
{
|
||||
if (starts_with($uri, $locale))
|
||||
{
|
||||
Config::set('application.language', $locale);
|
||||
|
||||
$uri = trim(substr($uri, strlen($locale)), '/'); break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($uri === '') $uri = '/';
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Route The Incoming Request
|
||||
@@ -118,8 +158,6 @@ Routing\Router::register('*', '(:all)', function()
|
||||
|
|
||||
*/
|
||||
|
||||
$uri = URI::current();
|
||||
|
||||
Request::$route = Routing\Router::route(Request::method(), $uri);
|
||||
|
||||
$response = Request::$route->call();
|
||||
|
||||
Reference in New Issue
Block a user