Я хочу использовать локализацию в laraval / Vuejs. Я начал с формы входа в систему, где пользователь может выбрать свой язык, и после входа в систему пользователь будет перенаправлен на домашнюю страницу home.blade. php, и он прекрасно работает, но на главной странице Я использовал роутер-ссылку для перехода на vuejs страницы. Моя проблема в том, что я не знаю, как отправить выбранный язык с роутером. как получить его в приложении. js. Я создал 2 JSON файлов для языков. Любая помощь приветствуется.
**
путь маршрутизатора в приложении. js, как показано ниже
**
{
path: "/publisher",
component: require("./components/Publishers.vue").default
},
**
маршрутизатор-ссылка в home.blade. php как показано ниже
**
<router-link to="/publisher" class="nav-link" >انتشارکننده </router-link>
Код в форме входа выглядит так:
@extends('layouts.header')
<body class="login">
<div>
<a class="hiddenanchor" id="signup"></a>
<a class="hiddenanchor" id="signin"></a>
<a class="hiddenanchor" id="reset"></a>
<div class="login_wrapper">
<div class="animate form login_form">
<section class="login_content">
<form method="POST" action="{{ route('login',app()->getLocale()) }}">
@csrf
<p>انتخاب زبان/د ژبې انتخاب </p>
<a href="{{ route(Route::currentRouteName(),'fa') }}" class="btn btn-default">دری</a>
<a href="{{ route(Route::currentRouteName(),'ps') }}" class="btn btn-default">پښتو</a>
<h1>{{ __('loginform')}}</h1>
<div>
<input id="email" type="email" placeholder="{{ __('email')}}" style="direction: rtl;margin-left: 264px;" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div>
<input id="password" placeholder="{{ __('password')}}" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div>
<input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
{{ __('remember')}}
</div>
<div>
<button type="submit" class="btn btn-default " >
{{ __('logins')}}
</button>
<a class="reset_pass" href="#reset">{{ __('forgotPasswrod')}}</a>
</div>
<div class="clearfix"></div>
</form>
</section>
</div>
<div id="rest_pass" class="animate form rest_pass_form">
<section class="login_content">
<!-- /password recovery -->
<form method="POST" action="{{ route('password.email',app()->getLocale()) }}" >
@csrf
<h1>بازیابی رمز عبور</h1>
<div class="form-group has-feedback">
<input id="email" type="email" placeholder="آدرس الکترونکی" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div class="form-control-feedback">
<i class="fa fa-envelope-o text-muted"></i>
</div>
</div>
<div>
<input id="securityQuestionOne" placeholder="سوال امنیتی اول" type="text" class="form-control @error('securityQuestionOne') is-invalid @enderror" name="securityQuestionOne" value="{{ old('securityQuestionOne') }}" required autocomplete="securityQuestionOne" autofocus>
@error('securityQuestionOne')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div>
<input id="securityQuestionTwo" placeholder="سوال امنیتی دوم" type="text" class="form-control @error('securityQuestionTwo') is-invalid @enderror" name="securityQuestionTwo" value="{{ old('securityQuestionTwo') }}" required autocomplete="securityQuestionTwo" autofocus>
@error('securityQuestionTwo')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<button type="submit" class="btn btn-default btn-block">آدرس بازیابی رمز عبور را آرسال نماید </button>
<div class="clearfix"></div>
</form>
</section>
</div>
</div>
</div>
</body>
</html>
> Промежуточное программное обеспечение, как показано ниже
<?php
namespace App\Http\Middleware;
use Closure;
class SetLocale
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
app()->setLocale($request->segment(1));
return $next($request);
}
}
> web.config is как ниже
Route::redirect('/','/fa');
Route::group(['prefix' => '{locale}',
'middleware'=>'setLocale',
],function(){
Route::get('/', function () {
return view('auth.login');
})->name('test');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('{path}', "HomeController@index")->where('path','([A-z\d-\/_.]+)?');
Route::get('/pdf', 'HomeController@generate');
});
**
fa. json как ниже
**
{
"loginform": "فرم ورود",
"email": "آدرس الکترونکی",
"password": "رمز ورود",
"remember": "به یاد بگذار",
"logins": "ورود",
"forgotPasswrod": "رمز ورود را از دست دادید؟",
"numberofbooks": "تعداد کتابها در انبار"
}
пс. json как показано ниже
{
"loginform": "د ننوتلو فورمه",
"email": "بریښنالیک",
"password": "پټ نوم",
"remember": "په یاد ولرئ",
"logins": "ننوتل",
"forgotPasswrod": "تاسو خپل پټ نوم له لاسه ورکړی؟",
"numberofbooks": "دکتابونو شمیر په گدام کی"
}