【发布时间】:2018-03-19 00:06:18
【问题描述】:
我正在使用 axios 向控制器发送发布请求。语言设置为fr,所有刀片文本也更改为fr,但如果我使用 axios 发送发布请求,它不会从控制器转换。我试图查看控制器中的语言,它总是显示en。
这是我正在使用的代码..
加载登录刀片的初始路径
Route::get('/{lang?}/login', 'Auth\LoginController@showLoginForm')->name('login');
这个路由在一个中间件中,根据 lang 变量设置 lang。
使用 axios 发布请求
Route::post('user/login', [
'uses' => 'loginController@login'
]);
内部loginController@login
$loc=config('app.locale');
\Log::info($loc); // It always shows en
我正在尝试像这样返回翻译后的文本
return response()->json([
'error' => trans('Invalid Details') // I am using string as key in fr.json file
],401);
**我认为 trans 函数对我不起作用,即使在我的刀片中,刀片 @lang('key') 和 {{__(key')}} 工作得很好,但不是 trans 函数 **
无论是 ajax 请求还是普通 get 请求,我是否必须在每条路由中设置语言环境?因为我在最初加载页面时设置了语言环境,所以我是否也必须为 ajax 请求再次执行此操作?
谢谢。
【问题讨论】:
标签: php laravel laravel-5 laravel-5.5