Laravel 5.4 翻译字符串不起作用

Laravel 5.4 translation string doesn't work

我是 laravel 的新手,我尝试使用翻译字符串来完成本地化工作。

我已经完成了 setlocale 工作并使用 App::getLocale() 进行了测试,其中 return 编辑了 'zh-cn'。 (我添加了一个中间件,它为其设置了语言环境并将其添加到 kernel.php)

然后我创建了 resources/lang/zh-cn.json 并简单地添加了 {'a':'b'}

然后我 post 从前端到控制器的请求应该 return 喜欢

return response()->json([
    'status' => __('a')
]);

但是我仍然收到 {'status':'a'} 的回复。我不知道问题出在哪里,或者我误解了翻译字符串的工作方式?

在JSON中使用双引号是标准的。如果将单引号更改为双引号,它将 return 为 {"status": "b"}.

的正确值

因此您的 zh-cn.json 文件应如下所示:

{
    "a": "b"
}