Laravel trans()不工作

Laravel trans()不工作,laravel,Laravel,我的目录如下所示: /resources /lang /en api.php <?php return [ 'couldnotlogin' => 'Login failed, please check email and password', ]; api.php如下所示: /resources /lang /en api.php <?php return [

我的目录如下所示:

/resources
    /lang
        /en
            api.php
<?php

return [
    'couldnotlogin' => 'Login failed, please check email and password',

];
api.php如下所示:

/resources
    /lang
        /en
            api.php
<?php

return [
    'couldnotlogin' => 'Login failed, please check email and password',

];
它将只输出:

api.couldnotlogin

dd(App::getLocale());
返回en

dd(App::getLocale());
其他设置

'locale' => 'en',
'fallback_locale' => 'en',

我做错了什么?

我认为您希望在控制器中获取语言变量,如果是这种情况,则需要通过Lang获取

//Namespace
use Lang;

//in controller action
Lang::get('api.couldnotlogin');

lang不应该嵌套在资产下。它应该嵌套在资源下。。。这就是它不起作用的原因

在哪里/何时调用该函数?因为
我假设它不在巴尔德View@Webdesigner我只调用dd(trans('api.couldnotlogin');在我的例子中,我的区域设置不是
en
。它是
en_IE
,我的项目中没有这个文件夹。我在那个文件夹中创建了文件夹和相关的语言文件,并为我修复了它。你行
dd(App::getLocale())帮助我找到问题。谢谢,如果我这样做的话,结果也是一样的:/您能告诉我您想在控制器或刀片服务器中的何处获取消息吗?您得到的错误还只是因为“如果转换键不存在,函数将返回api.couldnotlogin。”检查引用:我想像这样返回它return redirect()->back()->withErrors([trans('api.couldnotlogin')));我还尝试了return response()->json(trans('api.couldnotlogin');但同样的结果是,您可以通过检查dd(Lang::has('api.couldnotlogin','en')来确认错误消息