[英]Laravel localization package throws MethodNotAllowedHttpException on POST request
[英]Laravel localization throws htmlspecialchars() error
当我尝试使用本地化并检索翻译字符串时,Laravel 出于某种原因抛出: .
从 controller 到视图(产品索引页),我传递了$products
变量。 在该页面上,我使用翻译字符串{{ __('Products') }}
并收到htmlspecialchars()
错误。 据我了解,出于某种原因,翻译字符串认为我将$products
变量传递给{{ __('Products') }}
翻译字符串,因为如果我将翻译字符串更改为(例如) {{ __('Products page') }}
,我不再收到此错误。 有人可以解释为什么会发生此错误吗?
Controller
发生错误时的代码
错误不再发生时的代码
更新
修复在 lang 文件夹中添加 en.json 文件时的问题。
事实上,我不会那样做。 事实上,我创建了一个中间件,并创建了一条公平的路线。 让我们以法语和英语为例。 让我们创建一个中间件位置
php artisan make:middleware Localisation
然后填写中间件
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
class Localization
{
public function handle(Request $request, Closure $next)
{
if(\Session::has('locale'))
{
\App::setlocale(\Session::get('locale'));
}
return $next($request);
}
}
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\Localization::class,
],
您将这个创建的中间件添加到列表中,然后将 go 添加到 web.php 路由文件并添加
Route::get('/locale/{locale}', function ($locale){
\Session::put('locale', $locale);
return redirect()->back();
})->name('traduction');
et ensuite vous pouvez recupérer la session de cette facon
<a href="{{route('traduction',['locale'=>'en'])}}" class="menu-link d-flex px-5 active">
<a href="{{route('traduction',['locale'=>'fr'])}}" class="menu-link d-flex px-5 active">
如果您想根据 session 显示图像
<a href="#" class="menu-link px-5">
<span class="menu-title position-relative">Langue {{ Session::get('locale') }}
@if (Session::get('locale') == "fr")
<span class="fs-8 rounded bg-light px-3 py-2 position-absolute translate-middle-y top-50 end-0">Francais
<img class="w-15px h-15px rounded-1 ms-2" src="assets/media/flags/france.svg" alt="" /></span></span>
@else
<span class="fs-8 rounded bg-light px-3 py-2 position-absolute translate-middle-y top-50 end-0">English
<img class="w-15px h-15px rounded-1 ms-2" src="assets/media/flags/united-states.svg" alt="" /></span></span>
@endif
</a>
抱歉,您必须同时使用这两个答案,因为它们是互补的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.