Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <form class="" action="{{url('/locale')}}" method="post">
- Locale:
- <select class="" name="locale" onchange="this.form.submit()">
- <option value="en" >English</option>
- <option value="du" >Dutch</option>
- </select>
- </form>
- Route::post('/locale', function(){
- App::setLocale(Request::Input('locale'));
- return redirect()->back();
- });
- resources/
- /du
- navigation.php
- /en
- /navigation.php
- <?php
- return [
- "home" => 'Home-test-dutch',
- ];
- <?php
- return [
- "home" => 'Home',
- ];
- Route::post('/locale', function(){
- session(['my_locale' => Request::Input('locale')]);
- return redirect()->back();
- });
- <?php namespace AppHttpMiddleware;
- use Closure;
- use IlluminateHttpRequest;
- use IlluminateFoundationApplication;
- class Language {
- public function __construct(Application $app, Request $request) {
- $this->app = $app;
- $this->request = $request;
- }
- /**
- * Handle an incoming request.
- *
- * @param IlluminateHttpRequest $request
- * @param Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- $this->app->setLocale(session('my_locale', config('app.locale')));
- return $next($request);
- }
- }
- protected $middleware = [
- AppHttpMiddlewareLanguage::class,
- ];
- 'available_locale' => ['fr', 'gr', 'ja'],
- public function handle($request, Closure $next)
- {
- if(in_array($request->segment(1), config('app.available_locale'))){
- $this->app->setLocale($request->segment(1));
- }else{
- $this->app->setLocale(config('app.locale'));
- }
- return $next($request);
- }
- if(in_array($request->segment(1), config('app.available_locale'))){
- $locale = $request->segment(1);
- }else{
- $locale = null;
- }
- Route::group([
- 'middleware' => 'web',
- 'namespace' => $this->namespace,
- 'prefix' => $locale
- ], function ($router) {
- require base_path('routes/web.php');
- });
- <?php
- namespace AppHttpMiddleware;
- use Closure;
- class SetLocale
- {
- /**
- * Handle an incoming request.
- *
- * @param IlluminateHttpRequest $request
- * @param Closure $next
- * @return mixed
- */
- public function handle($request, Closure $next)
- {
- if (strpos($request->getHttpHost(), 'fr.') === 0) {
- App::setLocale('fr');
- } else {
- App::setLocale('en');
- }
- return $next($request);
- }
- }
- protected $middlewareGroups = [
- 'web' => [
- // ...
- AppHttpMiddlewareSetLocale::class,
- // ...
- ]
- ];
- Route::group(['domain' => 'fr.' . config('app.root-domain')], function () {
- Route::get('a-propos', 'HomeController@about');
- // ...
- }
- Route::group(['domain' => config('app.root-domain')], function () {
- Route::get('about', 'HomeController@about');
- // ...
- }
Add Comment
Please, Sign In to add comment