【发布时间】:2020-04-20 00:33:27
【问题描述】:
我正在尝试使用配置控制器在 Laravel 7 中更改我的应用语言环境:
class ConfigController extends Controller
{
/**
*
* Set the App locale.
*
* @param \SetLocaleRequest $request
* @return mixed
*/
public function set_locale(SetLocaleRequest $request)
{
App::setLocale($request->locale);
return response()->json([
'message' => trans('config.set'),
], 200);
}
}
此代码确实有效,因为简单的App:getLocale(); 返回提供的语言。无论哪种方式,Lang 外观都会继续使用config/app.php 提供的默认语言环境,即西班牙语。所以,这段代码:
Lang::get('auth.failed')
正在返回文本:"Estas credenciales no coinciden con nuestros registros.",即使当前选择了 en。知道为什么吗?
【问题讨论】:
-
你尝试过使用 trans 助手吗? trans('auth.failed') 打印什么?
-
它在我的其他控制器中不起作用。有趣的事情(看看编辑过的问题)。 JSON 响应中发送的消息正在使用 trans 帮助程序检测更改。