check locale

This commit is contained in:
Alexander Yakovlev 2024-03-13 14:05:59 +06:00
parent 1046825938
commit ca0851cf24
9 changed files with 22 additions and 4 deletions

View file

@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Models\Post;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
class PostController extends Controller
{
@ -45,4 +46,12 @@ class PostController extends Controller
'item' => $post
]);
}
public function setlocale(string $locale) {
if (! in_array($locale, ['en', 'ru'])) {
abort(400);
}
App::setLocale($locale);
return redirect()->back();
}
}

6
lang/en/messages.php Normal file
View file

@ -0,0 +1,6 @@
<?php
return [
'login' => 'Log In',
'logout' => 'Log Out',
];

View file

@ -3,5 +3,6 @@
return [
'Tags:' => 'Метки:',
'Edit saved.' => 'Правка сохранена.',
'Log In' => 'Войти',
'login' => 'Войти',
'logout' => 'Выйти',
];

View file

@ -84,14 +84,16 @@
<form method="POST" action="{{ route('logout') }}">
@csrf
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault();this.closest('form').submit();"> {{ __('Log Out') }}</a>
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault();this.closest('form').submit();">
{{ __('messages.logout') }}
</a>
</form>
</li>
</ul>
@else
<li class="navbar-nav">
<a class="nav-link text-nowrap" href="{{ route('login') }}">
{{ __('Log In') }}
{{ __('messages.login') }}
</a>
</li>
@endif

View file

@ -5,7 +5,6 @@ use App\Http\Controllers\PostController;
use App\Http\Controllers\PageController;
use App\Http\Controllers\CommentController;
use App\Http\Controllers\TagController;
use App\Http\Controllers\FeedController;
/*
|--------------------------------------------------------------------------
@ -39,6 +38,7 @@ Route::controller(CommentController::class)->group(function() {
});
Route::controller(PostController::class)->group(function() {
Route::get('/', 'read')->name('default');
Route::get('/locale/{locale}', 'setlocale')->name('locale');
Route::get('/post/read', 'read')->name('post.read');
Route::any('/post/read/page/{page}', 'read');
Route::get('/post/view/{id}', 'view')->name('view');