如何在 Laravel 中制作多语言(本地化)?
how to make multilingual (localization) in Laravel?
我已经尝试在 laravel 中创建本地化以及在 laravel 官方文档中给出,并且它非常有效!!但是它仅适用于单个请求。我希望它适用于所有请求,直到用户更改语言。
如何在 laravel 中不仅针对 laravel 文档中给出的单个请求创建多语言站点?
首先我们需要写几个锚标签(使用你的:在你的 home.blade.php 页面)来切换语言,如下所示...
<a href="{{url('change/locale/en')}}">ENGLISH</a>
<a href="{{url('change/locale/fr')}}">FRENCH</a>
<a href="{{url('change/locale/uz')}}">UZBEK</a>
然后我们需要像下面这样创建以下路由来接受请求...
Route::get('change/locale/{lang}', function($lang){
Session::put('locale', $lang);
return redirect()->back();
});
下一步是 运行 在您的终端中使用此命令创建名为 LanguageMiddleware
的中间件
php artisan make:middleware LanguageMiddleware
之后让我们打开我们在 app/Http/Middleware 文件夹中创建的 LanguageMiddleware
并将这对代码替换为句柄方法
public function handle($request, Closure $next)
{
if ( Session::has('locale')) {
App::setLocale(Session::get('locale'));
}
return $next($request);
}
现在添加这一行
\App\Http\Middleware\LanguageMiddleware::class
进入Kernel.php -> protected $middlewareGroups -> web
并创建名为
en
, uz
, fr
进入 views/lang
文件夹。
然后在我们上面创建的每个文件夹中创建 messages.php
文件 (en,fr,uz)
现在您的文件夹必须看起来像这样。
现在你可以这样调用你的字典了
@lang('messages.greeting')
到此结束!现在您可以通过单击我们在第一步中创建的锚标记来检查它。
我已经尝试在 laravel 中创建本地化以及在 laravel 官方文档中给出,并且它非常有效!!但是它仅适用于单个请求。我希望它适用于所有请求,直到用户更改语言。 如何在 laravel 中不仅针对 laravel 文档中给出的单个请求创建多语言站点?
首先我们需要写几个锚标签(使用你的:在你的 home.blade.php 页面)来切换语言,如下所示...
<a href="{{url('change/locale/en')}}">ENGLISH</a>
<a href="{{url('change/locale/fr')}}">FRENCH</a>
<a href="{{url('change/locale/uz')}}">UZBEK</a>
然后我们需要像下面这样创建以下路由来接受请求...
Route::get('change/locale/{lang}', function($lang){
Session::put('locale', $lang);
return redirect()->back();
});
下一步是 运行 在您的终端中使用此命令创建名为 LanguageMiddleware
php artisan make:middleware LanguageMiddleware
之后让我们打开我们在 app/Http/Middleware 文件夹中创建的 LanguageMiddleware
并将这对代码替换为句柄方法
public function handle($request, Closure $next)
{
if ( Session::has('locale')) {
App::setLocale(Session::get('locale'));
}
return $next($request);
}
现在添加这一行
\App\Http\Middleware\LanguageMiddleware::class
进入Kernel.php -> protected $middlewareGroups -> web
并创建名为
en
, uz
, fr
进入 views/lang
文件夹。
然后在我们上面创建的每个文件夹中创建 messages.php
文件 (en,fr,uz)
现在您的文件夹必须看起来像这样。
现在你可以这样调用你的字典了
@lang('messages.greeting')
到此结束!现在您可以通过单击我们在第一步中创建的锚标记来检查它。