This commit is contained in:
1Day 2021-12-16 11:06:54 +01:00
parent 22d4a4edf6
commit 9943fb28dd
5 changed files with 41 additions and 4 deletions

View file

@ -0,0 +1,21 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class TranslationController extends Controller
{
/**
*
* Change session locale
* @param Request $request
* @return Response
*/
public function changeLocale(Request $request)
{
Session::put('locale', $request->inputLocale);
return redirect()->back();
}
}

View file

@ -26,7 +26,6 @@ class Kernel extends HttpKernel
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\SetLocale::class,
];
/**
@ -45,6 +44,7 @@ class Kernel extends HttpKernel
\Illuminate\Routing\Middleware\SubstituteBindings::class,
LastSeen::class,
CreditsDisplayName::class,
\App\Http\Middleware\SetLocale::class,
],
'api' => [

View file

@ -3,6 +3,7 @@
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Session;
@ -12,8 +13,8 @@ class SetLocale
*
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param Request $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
@ -23,7 +24,7 @@ class SetLocale
} else {
$locale = substr($request->server('HTTP_ACCEPT_LANGUAGE'), 0, 2);
if (!in_array($locale,config('app.available_locales'))) {
if (!in_array($locale, config('app.available_locales'))) {
$locale = config('app.locale');
}
}

View file

@ -46,6 +46,18 @@
<li class="nav-item d-none d-sm-inline-block">
<a href="{{env('DISCORD_INVITE_URL')}}" class="nav-link" target="__blank">{{__('Discord')}}</a>
</li>
<!-- Language Selection -->
<form method="post" action="{{route('changeLocale')}}">
@csrf
<select class="dropdown-item" id="inputLocale" name="inputLocale" onchange="this.form.submit()">
<option value="de">DE</option>
<option value="it">IT</option>
<option value="en">EN</option>
<option value="zh">ZH</option>
<option value="fr">FR</option>
</select>
</form>
<!-- End Language Selection -->
</ul>
<!-- Right navbar links -->

View file

@ -19,6 +19,7 @@ use App\Http\Controllers\ProductController as FrontProductController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\ServerController;
use App\Http\Controllers\StoreController;
use App\Http\Controllers\TranslationController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;
@ -75,6 +76,8 @@ Route::middleware(['auth', 'checkSuspended'])->group(function () {
#voucher redeem
Route::post('/voucher/redeem', [VoucherController::class, 'redeem'])->middleware('throttle:5,1')->name('voucher.redeem');
#switch language
Route::post('changelocale', [TranslationController::class, 'changeLocale'])->name('changeLocale');
#admin
Route::prefix('admin')->name('admin.')->middleware('admin')->group(function () {