![](/img/trans.png)
[英]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.