Laravel 相當新,我正在嘗試添加一個功能,允許用戶通過單擊 header.blade.php 文件中的按鈕在兩種語言之間切換。到目前為止,我已經得到它,因此在相應的 lang 目錄中有一個帶有測試字符串的 test.php 文件,并且<p>{{__('test.test')}}</p>在手動設置時設法顯示正確的語言。目前我不確定這是否真的在調用更新語言的路由,或者我更新它的邏輯是否錯誤,因為我沒有收到錯誤并且我正在使用 barryvdh/laravel-debugbar 進行調試。我的按鈕邏輯:<button href="{{ url('language', config('app.locale') == 'en' ? 'fr' : 'en') }}">{{ config('app.locale') }}</button>在路線/web.php 中:Route::get('/language', 'LanguageController@show');Route::post('/language/{lang}', 'LanguageController@update');LanguageController.php,通過 php artisan make:controller --api 創(chuàng)建<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class LanguageController extends Controller{ /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { return App::getLocale(); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { //Tried the following config(['app.locale' => $id]); App::setlocale($id); }}問題:這是在運行時更新語言的正確方法嗎?如何判斷我的 api 調用是否正在進行?如何在模板 .vue 文件中實現這一點?為語言制作控制器是多余的嗎?如果更改語言環(huán)境,我的按鈕的內部 HTML 會更改嗎?在運行時影響配置文件是不好的做法嗎?--Edit-- 我還應該提到,我為此制作控制器的唯一原因是因為我讓 web.php 中的路由調用使用了一個函數,但是,他們說它們正在運行 Closurephp artisan route:list并且通過研究我發(fā)現我不能'不知道這是否正確
1 回答

蝴蝶不菲
TA貢獻1810條經驗 獲得超4個贊
你在正確的道路上,但缺少一些東西。
您不能使用配置在運行時編輯語言。
將本地語言保存在用戶會話中并創(chuàng)建一個新的中間件以在每個請求上設置會話中保存的語言。
我發(fā)現這篇文章可以幫助你,本地化-laravel
- 1 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消