Guest User

Untitled

a guest
Mar 23rd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. <form class="" action="{{url('/locale')}}" method="post">
  2. Locale:
  3. <select class="" name="locale" onchange="this.form.submit()">
  4.  
  5. <option value="en" >English</option>
  6. <option value="du" >Dutch</option>
  7. </select>
  8. </form>
  9.  
  10. Route::post('/locale', function(){
  11.  
  12. App::setLocale(Request::Input('locale'));
  13.  
  14. return redirect()->back();
  15. });
  16.  
  17. resources/
  18. /du
  19. navigation.php
  20. /en
  21. /navigation.php
  22.  
  23. <?php
  24. return [
  25. "home" => 'Home-test-dutch',
  26. ];
  27.  
  28. <?php
  29. return [
  30. "home" => 'Home',
  31. ];
  32.  
  33. Route::post('/locale', function(){
  34.  
  35. session(['my_locale' => Request::Input('locale')]);
  36.  
  37. return redirect()->back();
  38. });
  39.  
  40. <?php namespace AppHttpMiddleware;
  41.  
  42. use Closure;
  43. use IlluminateHttpRequest;
  44. use IlluminateFoundationApplication;
  45.  
  46. class Language {
  47.  
  48. public function __construct(Application $app, Request $request) {
  49. $this->app = $app;
  50. $this->request = $request;
  51. }
  52.  
  53. /**
  54. * Handle an incoming request.
  55. *
  56. * @param IlluminateHttpRequest $request
  57. * @param Closure $next
  58. * @return mixed
  59. */
  60. public function handle($request, Closure $next)
  61. {
  62. $this->app->setLocale(session('my_locale', config('app.locale')));
  63.  
  64. return $next($request);
  65. }
  66.  
  67. }
  68.  
  69. protected $middleware = [
  70. AppHttpMiddlewareLanguage::class,
  71. ];
  72.  
  73. 'available_locale' => ['fr', 'gr', 'ja'],
  74.  
  75. public function handle($request, Closure $next)
  76. {
  77. if(in_array($request->segment(1), config('app.available_locale'))){
  78. $this->app->setLocale($request->segment(1));
  79. }else{
  80. $this->app->setLocale(config('app.locale'));
  81. }
  82.  
  83. return $next($request);
  84. }
  85.  
  86. if(in_array($request->segment(1), config('app.available_locale'))){
  87. $locale = $request->segment(1);
  88. }else{
  89. $locale = null;
  90. }
  91. Route::group([
  92. 'middleware' => 'web',
  93. 'namespace' => $this->namespace,
  94. 'prefix' => $locale
  95. ], function ($router) {
  96. require base_path('routes/web.php');
  97. });
  98.  
  99. <?php
  100.  
  101. namespace AppHttpMiddleware;
  102.  
  103. use Closure;
  104.  
  105. class SetLocale
  106. {
  107. /**
  108. * Handle an incoming request.
  109. *
  110. * @param IlluminateHttpRequest $request
  111. * @param Closure $next
  112. * @return mixed
  113. */
  114. public function handle($request, Closure $next)
  115. {
  116. if (strpos($request->getHttpHost(), 'fr.') === 0) {
  117. App::setLocale('fr');
  118. } else {
  119. App::setLocale('en');
  120. }
  121. return $next($request);
  122. }
  123. }
  124.  
  125. protected $middlewareGroups = [
  126. 'web' => [
  127. // ...
  128. AppHttpMiddlewareSetLocale::class,
  129. // ...
  130. ]
  131. ];
  132.  
  133. Route::group(['domain' => 'fr.' . config('app.root-domain')], function () {
  134. Route::get('a-propos', 'HomeController@about');
  135. // ...
  136. }
  137. Route::group(['domain' => config('app.root-domain')], function () {
  138. Route::get('about', 'HomeController@about');
  139. // ...
  140. }
Add Comment
Please, Sign In to add comment